From admin at opensuse.org Sat Aug 1 01:37:56 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 01:37:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f24c78b58ffc_67502ac3bb5765f8642626@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] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 113s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 113s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 113s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 113s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 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 ### [ 116s] [ 107.464966] sysrq: SysRq : Power Off [ 116s] [ 107.469089] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] sheep86 failed "build simtrace2_0.7.0.60.859f.dsc" at Sat Aug 1 01:37:53 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 1 01:39:56 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 01:39:56 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f24c80429d0f_67502ac3bb5765f8643138@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 115s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 115s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 115s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 115s] | | [ 115s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 115s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 115s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 115s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 115s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 115s] 2425 | MHD_start_daemon (unsigned int flags, [ 115s] | ^~~~~~~~~~~~~~~~ [ 115s] cc1: all warnings being treated as errors [ 115s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 115s] make[3]: *** Waiting for unfinished jobs.... [ 115s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 115s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 115s] make[1]: *** [Makefile:166: all] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 115s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 115s] make: *** [debian/rules:9: build] Error 25 [ 115s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 115s] ### VM INTERACTION START ### [ 118s] [ 107.078792] sysrq: SysRq : Power Off [ 118s] [ 107.083836] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] lamb13 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 01:39:42 UTC 2020. [ 118s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 1 03:27:05 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 03:27:05 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f24e11f1620f_67502ac3bb5765f86523a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 116s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 116s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 116s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 116s] | | [ 116s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 116s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 116s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 116s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 116s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 116s] 2425 | MHD_start_daemon (unsigned int flags, [ 116s] | ^~~~~~~~~~~~~~~~ [ 117s] cc1: all warnings being treated as errors [ 117s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 117s] make[3]: *** Waiting for unfinished jobs.... [ 117s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 117s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 117s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 117s] make[1]: *** [Makefile:166: all] Error 2 [ 117s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 117s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 117s] make: *** [debian/rules:9: build] Error 25 [ 117s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 117s] ### VM INTERACTION START ### [ 120s] [ 108.902581] sysrq: SysRq : Power Off [ 120s] [ 108.909689] reboot: Power down [ 120s] ### VM INTERACTION END ### [ 120s] [ 120s] lamb20 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 03:26:50 UTC 2020. [ 120s] -- 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 Aug 1 07:20:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 07:20:44 +0000 Subject: Change in libosmo-abis[master]: ipaccess: Fix use-after-free in ipaccess_drop() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19478 ) Change subject: ipaccess: Fix use-after-free in ipaccess_drop() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4f56af28ad8297846bcdc8ba7afe51fff0f9a00f Gerrit-Change-Number: 19478 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 01 Aug 2020 07:20: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 Aug 1 07:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 07:20:49 +0000 Subject: Change in libosmo-abis[master]: ipaccess: Fix use-after-free in ipaccess_drop() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19478 ) Change subject: ipaccess: Fix use-after-free in ipaccess_drop() ...................................................................... ipaccess: Fix use-after-free in ipaccess_drop() Recent commit b8ea0ff521a3e01c22a9dd1948b9a853521f575e introduced a heap-use-after-free while getting rid of memleaks and clearing up the reference counting lifecycle of the line object. In that commit, e1inp_line_put2() was added in ipaccess_drop() which may potentially free the line object (and its children e1inp_ts objects) under specific conditions/scenarions. However, the function still used the child object e1i_ts which in those scenarios would access already freed memory. Let's keep a local reference during the life of the function to make sure the object is non-freed during e1inp_line_put2(), so that we can notify upper layers that the link is down. Detected by enabling ASan and running BSC_Tests.TC_chopped_ipa_ping TTCN3 test. Related: OS#4688 Change-Id: I4f56af28ad8297846bcdc8ba7afe51fff0f9a00f --- M src/input/ipaccess.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index d81191c..30bcaf9 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -82,6 +82,7 @@ { int ret = 1; struct e1inp_ts *e1i_ts = ipaccess_line_ts(bfd, line); + e1inp_line_get2(line, __func__); ipaccess_keepalive_fsm_cleanup(e1i_ts); @@ -108,6 +109,7 @@ /* e1inp_sign_link_destroy releases the socket descriptors for us. */ line->ops->sign_link_down(line); + e1inp_line_put2(line, __func__); return ret; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4f56af28ad8297846bcdc8ba7afe51fff0f9a00f Gerrit-Change-Number: 19478 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:01 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:01 +0000 Subject: Change in osmocom-bb[master]: Wrote twl3025_power_off_now to restart the phone if the power button ... References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19482 ) Change subject: Wrote twl3025_power_off_now to restart the phone if the power button is pressed. ...................................................................... Wrote twl3025_power_off_now to restart the phone if the power button is pressed. I am not sure how other developers do this. There are probably better ways to make testing faster but I kind of like it this way. I just call the twl3025_power_off_now function when the power key is pressed. Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 --- M src/target/firmware/abb/twl3025.c M src/target/firmware/include/abb/twl3025.h 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/82/19482/1 diff --git a/src/target/firmware/abb/twl3025.c b/src/target/firmware/abb/twl3025.c index ad2b01f..55ff2ad 100644 --- a/src/target/firmware/abb/twl3025.c +++ b/src/target/firmware/abb/twl3025.c @@ -229,6 +229,14 @@ twl3025_reg_write(VRPCDEV, 0x01); } +void twl3025_power_off_now(void) { + /* The phone will restart if the power butten has not been released. + * This can be useful for development. */ + unsigned long flags; + local_firq_save(flags); + twl3025_reg_write(VRPCDEV, 0x01); +} + void twl3025_clk13m(int enable) { if (enable) { diff --git a/src/target/firmware/include/abb/twl3025.h b/src/target/firmware/include/abb/twl3025.h index 727bde0..8bc2fb9 100755 --- a/src/target/firmware/include/abb/twl3025.h +++ b/src/target/firmware/include/abb/twl3025.h @@ -147,6 +147,7 @@ int twl3025_get_pwon(void); void twl3025_power_off(void); +void twl3025_power_off_now(void); void twl3025_clk13m(int enable); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:01 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:01 +0000 Subject: Change in osmocom-bb[master]: Implemented fb_bw8_line. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: Implemented fb_bw8_line. ...................................................................... Implemented fb_bw8_line. Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 --- M src/target/firmware/fb/fb_bw8.c 1 file changed, 40 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/83/19483/1 diff --git a/src/target/firmware/fb/fb_bw8.c b/src/target/firmware/fb/fb_bw8.c index ffb59d8..d4ffd21 100644 --- a/src/target/firmware/fb/fb_bw8.c +++ b/src/target/firmware/fb/fb_bw8.c @@ -22,6 +22,7 @@ * */ +#include #include #include @@ -51,7 +52,7 @@ uint16_t x2,uint16_t y2 /* right lower corner (inclusive) */ ){ fb_sanitize_box(&x1,&y1,&x2,&y2); - + x2++; /* see definition of fb_bw8->damage_x2/y2 */ y2++; @@ -86,17 +87,6 @@ #endif } -static void fb_bw8_line(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2){ - fb_sanitize_box(&x1,&y1,&x2,&y2); - /* FIXME : this is currently unimplemented! */ -} - -void fb_bw8_lineto(uint16_t x,uint16_t y){ - fb_bw8_line(framebuffer->cursor_x,framebuffer->cursor_y,x,y); - framebuffer->cursor_x = x; - framebuffer->cursor_y = y; -} - /* depending on color set (add to or_mask) or clear (remove from and_mask) bit number bitnum */ static void set_pixel(uint8_t *and_mask, @@ -166,13 +156,48 @@ framebuffer->cursor_y = y; } +/* just set this pixel to the current front ground color */ +void set_pixel_r(uint16_t x,uint16_t y){ + uint8_t *p = fb_bw8->mem + (y/8)*framebuffer->width + x; + uint8_t and_mask = 0xff, or_mask = 0x00; + set_fg_pixel(&and_mask, &or_mask, y % 8); + *p = (*p & and_mask)|or_mask; + /* printf("fb_bw8.c: Set: (%u|%u)\n", x, y); */ +} + +/* Copy Paste from + * http://de.wikipedia.org/wiki/Bresenham-Algorithmus#Kompakte_Variante */ +static void fb_bw8_line(int16_t x1,int16_t y1,int16_t x2,int16_t y2){ + fb_bw8_update_damage(x1,y1,x2,y2); + fb_limit_fb_range(&x1, &y1); + fb_limit_fb_range(&x2, &y2); + /* printf("fb_bw8_line from (%u|%u) -> (%u|%u)\n", x1, y1, x2, y2); */ + int16_t dx = abs(x2-x1), dy = -abs(y2-y1); + int16_t sx = x1 dy) { err += dy; x1 += sx; } /* e_xy+e_x > 0 */ + if (e2 < dx) { err += dx; y1 += sy; } /* e_xy+e_y < 0 */ + } +} + +void fb_bw8_lineto(uint16_t x,uint16_t y){ + fb_bw8_line(framebuffer->cursor_x,framebuffer->cursor_y,x,y); + framebuffer->cursor_x = x; + framebuffer->cursor_y = y; +} + + /* this is the most ridiculous function ever, because it has to fiddle with two braindead bitmaps at once, both being organized differently */ /* draw text at current position, with current font and colours up to a width of maxwidth pixels, return pixelwidth consumed */ - int fb_bw8_putstr(char *str,int maxwidth){ const struct fb_font *font = fb_fonts[framebuffer->font]; @@ -187,7 +212,7 @@ int bitmap_offs,bitmap_bit; // offset inside bitmap, bit number of pixel int fb8_offs; // offset to current pixel in framebuffer uint8_t and_mask,or_mask; // to draw on framebuffer - uint8_t *p; // pointer into framebuffer memorya + uint8_t *p; // pointer into framebuffer memory int total_w; // total width /* center, if maxwidth < 0 */ @@ -251,7 +276,7 @@ bitmap_y = fchr->bbox_h - (char_y - fchr->bbox_y) - 1; - fb8_offs = framebuffer->cursor_x + + fb8_offs = framebuffer->cursor_x + char_x + (y/8)*framebuffer->width; and_mask = 0xff; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:02 +0000 Subject: Change in osmocom-bb[master]: Initial commit for the game Snake. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19484 ) Change subject: Initial commit for the game Snake. ...................................................................... Initial commit for the game Snake. It does not much by now but I hope to change that soon. Change-Id: I6a409074285fda90f966b1727c9c0f068dd050d3 --- M src/target/firmware/Makefile.inc A src/target/firmware/apps/snake_game/main.c 2 files changed, 179 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/84/19484/1 diff --git a/src/target/firmware/Makefile.inc b/src/target/firmware/Makefile.inc index a91cf4f..2be240d 100644 --- a/src/target/firmware/Makefile.inc +++ b/src/target/firmware/Makefile.inc @@ -39,6 +39,7 @@ #### GIT VERSION #### GIT_COMMIT:=$(shell git describe --always) +GIT_SHORTHASH:=$(shell git rev-parse --short HEAD) GIT_MODIFIED:=$(shell (git status | grep "modified:\|added:\|deleted:" -q) && echo "-modified") GIT_REVISION:=$(GIT_COMMIT)$(GIT_MODIFIED) @@ -46,6 +47,9 @@ ASFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" CFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" +ASFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" +CFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" + #### GLOBAL DATA #### ALL_OBJS= diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c new file mode 100644 index 0000000..63dba3f --- /dev/null +++ b/src/target/firmware/apps/snake_game/main.c @@ -0,0 +1,175 @@ +/* The game Snake as Free Software for Calypso Phone */ + +/* (C) 2013 by Marcel `sdrfnord` McKinnon + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Main Program */ +const char *hr = "======================================================================\n"; + +void key_handler(enum key_codes code, enum key_states state); + +static void console_rx_cb(uint8_t dlci, struct msgb *msg) +{ + if (dlci != SC_DLCI_CONSOLE) { + printf("Message for unknown DLCI %u\n", dlci); + return; + } + + printf("Message on console DLCI: '%s'\n", msg->data); + msgb_free(msg); +} + +static void l1a_l23_rx_cb(uint8_t dlci, struct msgb *msg) +{ + int i; + puts("l1a_l23_rx_cb: "); + for (i = 0; i < msg->len; i++) + printf("%02x ", msg->data[i]); + puts("\n"); +} + +int main(void) +{ + board_init(1); + + puts("\n\nOsmocomBB Test sdrfnord (revision " GIT_REVISION ")\n"); + puts(hr); + + /* Dump device identification */ + dump_dev_id(); + puts(hr); + + /* Dump clock config before PLL set */ + calypso_clk_dump(); + puts(hr); + + keypad_set_handler(&key_handler); + + /* Dump clock config after PLL set */ + calypso_clk_dump(); + puts(hr); + + fb_clear(); + bl_level(255); + + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + fb_setfont(FB_FONT_HELVB14); + + fb_gotoxy(framebuffer->width/2 - 7 * 3, 15); + fb_putstr("Snake",framebuffer->width-4); + + fb_gotoxy(14, framebuffer->height-5); + fb_setfont(FB_FONT_HELVR08); + fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width-4); + fb_gotoxy(0, 0); + fb_boxto(framebuffer->width - 1, 1); + fb_boxto(framebuffer->width - 2, framebuffer->height-1); + fb_boxto(0, framebuffer->height-2); + fb_boxto(1, 1); + /* set_pixel_r(9,9); */ + /* set_pixel_r(10,10); */ + /* set_pixel_r(10,11); */ + /* set_pixel_r(10,12); */ + /* set_pixel_r(12,10); */ + /* set_pixel_r(0,0); */ + printf("(%u, %u)\n", framebuffer->width, framebuffer->height); + fb_gotoxy(2, 2); + fb_lineto(framebuffer->width-3, framebuffer->height-3); + fb_gotoxy(2, framebuffer->height-3); + fb_lineto(framebuffer->width-3, 2); + + fb_setfg(FB_COLOR_WHITE); + fb_setbg(FB_COLOR_BLACK); + fb_lineto(2, 20); + + fb_flush(); + + + + sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); + sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb); + + /* beyond this point we only react to interrupts */ + puts("entering interrupt loop\n"); + while (1) { + osmo_timers_update(); + } + + twl3025_power_off(); + + while (1) {} +} + +void key_handler(enum key_codes code, enum key_states state) +{ + if (state != PRESSED) + return; + + switch (code) { + case KEY_0: bl_level(0);break; + case KEY_1: bl_level(10);break; + case KEY_2: bl_level(20);break; + case KEY_3: bl_level(30);break; + case KEY_4: bl_level(40);break; + case KEY_5: bl_level(50);break; + case KEY_6: bl_level(100);break; + case KEY_7: bl_level(150);break; + case KEY_8: bl_level(200);break; + case KEY_9: bl_level(255);break; + // used to be display_puts... + break; + case KEY_STAR: + // used to be display puts... + break; + case KEY_HASH: + // used to be display puts... + break; + case KEY_LEFT_SB: bl_mode_pwl(1);break; + case KEY_RIGHT_SB: bl_mode_pwl(0);break; + case KEY_POWER: twl3025_power_off_now();break; + default: + break; + } +} -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6a409074285fda90f966b1727c9c0f068dd050d3 Gerrit-Change-Number: 19484 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:02 +0000 Subject: Change in osmocom-bb[master]: Implemtented fb_set_p(uint16_t x, uint16_t y). References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19485 ) Change subject: Implemtented fb_set_p(uint16_t x,uint16_t y). ...................................................................... Implemtented fb_set_p(uint16_t x,uint16_t y). Change-Id: I21e8da1cbf4654b786626b94b197438facef902a --- M src/target/firmware/fb/fb_bw8.c M src/target/firmware/fb/fb_st7558.c M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/fb/framebuffer.h 4 files changed, 38 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/85/19485/1 diff --git a/src/target/firmware/fb/fb_bw8.c b/src/target/firmware/fb/fb_bw8.c index d4ffd21..0fc12ee 100644 --- a/src/target/firmware/fb/fb_bw8.c +++ b/src/target/firmware/fb/fb_bw8.c @@ -156,33 +156,41 @@ framebuffer->cursor_y = y; } -/* just set this pixel to the current front ground color */ -void set_pixel_r(uint16_t x,uint16_t y){ +/* Just set the given pixel to the current front ground color. + * This function does not update the damage rectangle! */ +void fb_bw8_set_pixel(uint16_t x,uint16_t y){ uint8_t *p = fb_bw8->mem + (y/8)*framebuffer->width + x; uint8_t and_mask = 0xff, or_mask = 0x00; - set_fg_pixel(&and_mask, &or_mask, y % 8); - *p = (*p & and_mask)|or_mask; - /* printf("fb_bw8.c: Set: (%u|%u)\n", x, y); */ + set_fg_pixel(&and_mask, &or_mask, y % 8); + *p = (*p & and_mask)|or_mask; + /* printf("fb_bw8_set_pixel: set: (%u|%u)\n", x, y); */ } /* Copy Paste from * http://de.wikipedia.org/wiki/Bresenham-Algorithmus#Kompakte_Variante */ static void fb_bw8_line(int16_t x1,int16_t y1,int16_t x2,int16_t y2){ + fb_limit_fb_range(&x1, &y1); + fb_limit_fb_range(&x2, &y2); fb_bw8_update_damage(x1,y1,x2,y2); - fb_limit_fb_range(&x1, &y1); - fb_limit_fb_range(&x2, &y2); - /* printf("fb_bw8_line from (%u|%u) -> (%u|%u)\n", x1, y1, x2, y2); */ - int16_t dx = abs(x2-x1), dy = -abs(y2-y1); - int16_t sx = x1 (%u|%u)\n", x1, y1, x2, y2); */ + int16_t dx = abs(x2-x1), dy = -abs(y2-y1); + int16_t sx = x1 dy) { err += dy; x1 += sx; } /* e_xy+e_x > 0 */ - if (e2 < dx) { err += dx; y1 += sy; } /* e_xy+e_y < 0 */ - } + while (1) { + fb_bw8_set_pixel(x1,y1); + if (x1==x2 && y1==y2) break; + e2 = 2*err; + if (e2 > dy) { err += dy; x1 += sx; } /* e_xy+e_x > 0 */ + if (e2 < dx) { err += dx; y1 += sy; } /* e_xy+e_y < 0 */ + } +} + +/* Set the given pixel to the current front ground color and update the damage + * rectangle. */ +void fb_bw8_set_p(uint16_t x,uint16_t y){ + fb_bw8_update_damage(x,y,x+1,y+1); + fb_bw8_set_pixel(x,y); } void fb_bw8_lineto(uint16_t x,uint16_t y){ diff --git a/src/target/firmware/fb/fb_st7558.c b/src/target/firmware/fb/fb_st7558.c index fdcd38f..f09b12b 100644 --- a/src/target/firmware/fb/fb_st7558.c +++ b/src/target/firmware/fb/fb_st7558.c @@ -118,6 +118,7 @@ .clear = fb_bw8_clear, .boxto = fb_bw8_boxto, .lineto = fb_bw8_lineto, + .set_p = fb_bw8_set_p, .putstr = fb_bw8_putstr, .flush = fb_st7558_flush, .width = ST7558_WIDTH, diff --git a/src/target/firmware/include/fb/fb_bw8.h b/src/target/firmware/include/fb/fb_bw8.h index d84f91a..db0b31a 100644 --- a/src/target/firmware/include/fb/fb_bw8.h +++ b/src/target/firmware/include/fb/fb_bw8.h @@ -6,9 +6,9 @@ are common to similar organized displays. */ /* - Sketch of Memory Layout + Sketch of Memory Layout Left Upper Corner of Display - + col0 col2 col1 +------------- @@ -22,7 +22,7 @@ ... Backing store (and internal display memory?) looks like... - + uint8_t mem[] = { A, B, C, .... Q, R, S, ... } We work on a in-memory copy of the framebuffer and only @@ -45,6 +45,7 @@ extern void fb_bw8_clear(); extern void fb_bw8_boxto(uint16_t x,uint16_t y); /* draw a box from cursor to x,y */ extern void fb_bw8_lineto(uint16_t x,uint16_t y); /* draw a line from cursor to x,y */ +extern void fb_bw8_set_p(uint16_t x,uint16_t y); extern int fb_bw8_putstr(char *str,int maxwidth); diff --git a/src/target/firmware/include/fb/framebuffer.h b/src/target/firmware/include/fb/framebuffer.h index e765b36..8a56565 100644 --- a/src/target/firmware/include/fb/framebuffer.h +++ b/src/target/firmware/include/fb/framebuffer.h @@ -8,7 +8,7 @@ /* if a color is "special", then the RGB components most likely don't make sense. Use "special" colours when you have to mask out bits with transparency or you have to encode - colours in a fixed color palette... */ + colours in a fixed color palette ... */ #define FB_COLOR_WHITE 0x00ffffffU #define FB_COLOR_BLACK 0x00000000U @@ -31,6 +31,7 @@ char name[8]; // keep it short! void (*init)(); // (re)initialize void (*clear)(); // clear display + void (*set_p)(uint16_t x,uint16_t y); // set pixel to fg color void (*boxto)(uint16_t x,uint16_t y); // draw box to xy void (*lineto)(uint16_t x,uint16_t y); // draw line to xy int (*putstr)(char *c,int maxwidth); // put text in current font to fb @@ -66,6 +67,11 @@ framebuffer->lineto(x,y); } +static inline void +fb_set_p(uint16_t x,uint16_t y){ + framebuffer->set_p(x,y); +} + static inline int fb_putstr(char *str,int maxwidth){ return framebuffer->putstr(str,maxwidth); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I21e8da1cbf4654b786626b94b197438facef902a Gerrit-Change-Number: 19485 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:03 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:03 +0000 Subject: Change in osmocom-bb[master]: Wrote my not yet feature complete implementation of Snake. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19486 ) Change subject: Wrote my not yet feature complete implementation of Snake. ...................................................................... Wrote my not yet feature complete implementation of Snake. Change-Id: Ib146f749b60e5851ba0723546697e09a6a05ae85 --- M src/target/firmware/apps/snake_game/main.c 1 file changed, 267 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/86/19486/1 diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c index 63dba3f..a4e8296 100644 --- a/src/target/firmware/apps/snake_game/main.c +++ b/src/target/firmware/apps/snake_game/main.c @@ -25,6 +25,10 @@ #include #include +#define DEBUG 1 +#define KNRM "\x1B[0m" +#define UNDERLINE "\x1B[4m" + #include #include #include @@ -44,6 +48,227 @@ #include #include +#define BLANK 0 +#define HEAD 1 +#define TAIL 2 +#define HEAD_FOOD 3 +#define FOOD 9 +#define SBODY 20 +/* The numbers above 20 are the distance to the head. + * 21 is direly behind the head. +*/ +#define STDLEN 3 +#define HEIGHT 7 +#define WIDTH 16 +struct position { + int x; + int y; +} pos; + +uint8_t field[WIDTH][HEIGHT]; +uint16_t score = 0, lenght = 0; +enum errors { ALLRIGHT, SNAKE_COL, } err; + +void printField(); +void setItem(int, int, int); +void movepos(char); +void increaseBodyAge(); +void setFood() { + int x, y, c; + /* for (c = 0; c < 10;c++) { */ + /* x = rand() % (WIDTH -1); */ + /* y = rand() % (HEIGHT -1); */ + /* if (field[x][y] == BLANK) { */ + /* field[x][y] = FOOD; */ + /* return; */ + /* } */ + /* } */ + for (x = 0; x < WIDTH; x++) { + for (y = 0; y < HEIGHT; y++) { + if (field[x][y] == BLANK) { + field[x][y] = FOOD; + if (DEBUG > 0) printf("Set without rand (%d|%d) %d\n", x, y, c); + return; + } + } + } +} + +static void print_snake_str(char *text, int16_t x, int16_t y) +{ + x = 6 * x; + y = 8 * (y+1) -3; + printf("Put string %s to (%d|%d)\n", text, x, y); + fb_gotoxy(x, y); + fb_putstr(text, framebuffer->width); +} +void movepos(char dim) { + setItem(pos.x, pos.y, SBODY); + switch (dim) { + case 'Y': pos.y++;break; + case 'y': pos.y--;break; + case 'X': pos.x++;break; + case 'x': pos.x--;break; + } + switch (dim) { + case 'Y': case 'y': + if (pos.y == -1) pos.y = HEIGHT -1; + else if (pos.y == HEIGHT) pos.y = 0; + increaseBodyAge(); + break; + case 'X': case 'x': + if (pos.x == -1) pos.x = WIDTH -1; + else if (pos.x == WIDTH) pos.x = 0; + increaseBodyAge(); + break; + } + setItem(pos.x, pos.y, HEAD); + printField(); +} + +void increaseBodyAge() { + int y, x; + lenght = SBODY + STDLEN + score; + for (x = 0; x < WIDTH; x++) { + for (y = 0; y < HEIGHT; y++) { + if (field[x][y] >= lenght) field[x][y] = BLANK; + else if (field[x][y] >= SBODY) field[x][y]++; + } + } +} + +void setItem(int x, int y, int item) { + if (item == HEAD) { + switch (field[x][y]) { + case FOOD: score++; setFood(); item = HEAD_FOOD; break; + case BLANK: break; + default: err = SNAKE_COL; + } + } + field[x][y] = item; +} + +void resetField() { + /* system("clear"); */ + printf("\033[H\033[2J"); +} + +void printField() { + fb_clear(); + int x, y; + for (y = 0; y < HEIGHT; y++) { + for (x = 0; x < WIDTH; x++) { + switch (field[x][y]) { + case BLANK:break; + case HEAD: print_snake_str("O", x, y);break; + case HEAD_FOOD: print_snake_str("P", x, y);break; + case FOOD: print_snake_str("#", x, y);break; + default: + if (field[x][y] == lenght) print_snake_str(";", x, y); + else print_snake_str("o", x, y); + } + } + + } + printf("Score: %d\n", score); + fb_gotoxy(0, framebuffer->height+-9); + fb_lineto(framebuffer->width-1, framebuffer->cursor_y); + fb_gotoxy(0, framebuffer->height-1); + char text[16]; + switch (err) { + case SNAKE_COL: fb_putstr("The snake ate itself!!!", framebuffer->width); + err = ALLRIGHT; break; + default: sprintf(text, "Score: %u", score); + fb_putstr(text, framebuffer->width); + framebuffer->cursor_x = 45; + fb_putstr("OsmocomBB", framebuffer->width); + } + fb_flush(); + + if (DEBUG > 0) { + printf("Pos X: %d, Y: %d\n", pos.x, pos.y); + printf("\n\n"); + for(y = -1; y < HEIGHT; y++) { + for(x = -1; x < WIDTH; x++) { + if (y == -1 || x == -1) { + if (x == -1) printf(" %2d: ", y); + else if (y == -1) printf(UNDERLINE " %2d" KNRM, x); + } else printf(" %2d",field[x][y]); + } + puts("\n"); + } + } +} +int cursor = 0; +#define NEIGH_LINES ((framebuffer->height +8) / 8) +static void print_display(char *text, int *y, int c) +{ + /* skip lines, given by cursor */ + (*y)++; + if (c >= (*y)) { + printf("Line %d: Return c >= y\n", *y); + return; + } + /* skip, if end of display area is reached */ + if ((*y) - c > NEIGH_LINES) { + printf("Line %d: Return\n", *y); + return; + } + + fb_gotoxy(0, -3 + (((*y) - c - 1) << 3)); + fb_putstr(text, framebuffer->width); +} + +void fb_clear_fancy(uint8_t delay) { + int16_t x, y; + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + for (x = 0; x < framebuffer->width; x++) { + for (y = 0; y < framebuffer->height; y++) { + fb_set_p(x, y); + } + fb_flush(); + delay_ms(delay); + } + fb_setfg(FB_COLOR_WHITE); + fb_setbg(FB_COLOR_BLACK); + /* for (x = 0; x < framebuffer->width; x++) { */ + for (; x >= 0; x--) { + for (y = 0; y < framebuffer->height; y++) { + fb_set_p(x, y); + } + fb_flush(); + delay_ms(delay); + } + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); +} + +void intro() { + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + fb_setfont(FB_FONT_HELVB14); + + fb_gotoxy(framebuffer->width/2 - 7 * 3, 15); + fb_putstr("Snake",framebuffer->width-4); + + fb_gotoxy(14, framebuffer->height-5); + fb_setfont(FB_FONT_HELVR08); + fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width-4); + fb_gotoxy(0, 0); + fb_boxto(framebuffer->width - 1, 1); + fb_boxto(framebuffer->width - 2, framebuffer->height-1); + fb_boxto(0, framebuffer->height-2); + fb_boxto(1, 1); + + printf("(%u, %u)\n", framebuffer->width, framebuffer->height); + fb_gotoxy(2, 2); + fb_lineto(framebuffer->width-3, framebuffer->height-3); + fb_gotoxy(2, framebuffer->height-3); + fb_lineto(framebuffer->width-3, 2); + fb_flush(); +} + /* Main Program */ const char *hr = "======================================================================\n"; @@ -91,41 +316,36 @@ puts(hr); fb_clear(); - bl_level(255); + bl_level(255); + /* srand(23); // need time or other changing value */ + + intro(); + delay_ms(5000); + fb_clear_fancy(20); + fb_setfg(FB_COLOR_BLACK); fb_setbg(FB_COLOR_WHITE); - fb_setfont(FB_FONT_HELVB14); - - fb_gotoxy(framebuffer->width/2 - 7 * 3, 15); - fb_putstr("Snake",framebuffer->width-4); - - fb_gotoxy(14, framebuffer->height-5); - fb_setfont(FB_FONT_HELVR08); - fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width-4); - fb_gotoxy(0, 0); - fb_boxto(framebuffer->width - 1, 1); - fb_boxto(framebuffer->width - 2, framebuffer->height-1); - fb_boxto(0, framebuffer->height-2); - fb_boxto(1, 1); - /* set_pixel_r(9,9); */ - /* set_pixel_r(10,10); */ - /* set_pixel_r(10,11); */ - /* set_pixel_r(10,12); */ - /* set_pixel_r(12,10); */ - /* set_pixel_r(0,0); */ - printf("(%u, %u)\n", framebuffer->width, framebuffer->height); - fb_gotoxy(2, 2); - fb_lineto(framebuffer->width-3, framebuffer->height-3); - fb_gotoxy(2, framebuffer->height-3); - fb_lineto(framebuffer->width-3, 2); - - fb_setfg(FB_COLOR_WHITE); - fb_setbg(FB_COLOR_BLACK); - fb_lineto(2, 20); - + fb_setfont(FB_FONT_HELVR08); + int y = 0, i; + /* for (i = 1; i <= 7; i++) { */ + /* printf("%d\n", i); */ + /* print_display("OOOOOOOOOOOOOOOO", &y, cursor - 1); */ + /* } */ + /* print_snake_str("U",0, 0); */ + /* print_snake_str("U",0, 2); */ + /* print_snake_str("U",2, 0); */ + print_snake_str("U",2, 0); + print_snake_str("U",2, 5); + print_snake_str("U",6, 0); fb_flush(); + pos.x = framebuffer->width/(6 * 2); + pos.y = framebuffer->height/(8 * 2); + setItem(pos.x, pos.y, HEAD); + setFood(); + printf("Put string to (%d|%d)\n", pos.x, pos.y); + printField(); sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); @@ -150,13 +370,13 @@ switch (code) { case KEY_0: bl_level(0);break; case KEY_1: bl_level(10);break; - case KEY_2: bl_level(20);break; + case KEY_2: movepos('y');break; case KEY_3: bl_level(30);break; - case KEY_4: bl_level(40);break; + case KEY_4: movepos('x');break; case KEY_5: bl_level(50);break; - case KEY_6: bl_level(100);break; + case KEY_6: movepos('X');break; case KEY_7: bl_level(150);break; - case KEY_8: bl_level(200);break; + case KEY_8: movepos('Y');break; case KEY_9: bl_level(255);break; // used to be display_puts... break; @@ -166,9 +386,19 @@ case KEY_HASH: // used to be display puts... break; - case KEY_LEFT_SB: bl_mode_pwl(1);break; - case KEY_RIGHT_SB: bl_mode_pwl(0);break; - case KEY_POWER: twl3025_power_off_now();break; + case KEY_LEFT_SB: + bl_mode_pwl(1); + break; + case KEY_RIGHT_SB: + bl_mode_pwl(0); + break; + case KEY_POWER: + twl3025_power_off_now(); + break; + case KEY_RIGHT: movepos('X'); break; + case KEY_LEFT: movepos('x'); break; + case KEY_UP: movepos('y'); break; + case KEY_DOWN: movepos('Y'); break; default: break; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib146f749b60e5851ba0723546697e09a6a05ae85 Gerrit-Change-Number: 19486 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:03 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:03 +0000 Subject: Change in osmocom-bb[master]: Implemented rand() and automove for snake. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19487 ) Change subject: Implemented rand() and automove for snake. ...................................................................... Implemented rand() and automove for snake. Change-Id: I94bf887160a4a58423b93fcfd47c92e09404507c --- M src/target/firmware/abb/twl3025.c M src/target/firmware/apps/snake_game/main.c 2 files changed, 73 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/87/19487/1 diff --git a/src/target/firmware/abb/twl3025.c b/src/target/firmware/abb/twl3025.c index 55ff2ad..5b792d6 100644 --- a/src/target/firmware/abb/twl3025.c +++ b/src/target/firmware/abb/twl3025.c @@ -229,9 +229,10 @@ twl3025_reg_write(VRPCDEV, 0x01); } -void twl3025_power_off_now(void) { - /* The phone will restart if the power butten has not been released. - * This can be useful for development. */ +void twl3025_power_off_now(void) +{ + /* The phone will restart if the power butten has not been released. + * This can be useful for development. */ unsigned long flags; local_firq_save(flags); twl3025_reg_write(VRPCDEV, 0x01); diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c index a4e8296..c263df4 100644 --- a/src/target/firmware/apps/snake_game/main.c +++ b/src/target/firmware/apps/snake_game/main.c @@ -48,6 +48,16 @@ #include #include +unsigned long next = 1; +/* This is not a good random number generator ... */ +int rand(void) { + next = next * 110351 + 12; + return (unsigned int)(next & 0x7fff); +} +void srand(unsigned int seed) { + next = seed; +} + #define BLANK 0 #define HEAD 1 #define TAIL 2 @@ -60,6 +70,10 @@ #define STDLEN 3 #define HEIGHT 7 #define WIDTH 16 + +/* Time in ms to wait to the next auto move of the snake. */ +#define WAIT_TIME_AUTOMOVE 300 + struct position { int x; int y; @@ -75,14 +89,16 @@ void increaseBodyAge(); void setFood() { int x, y, c; - /* for (c = 0; c < 10;c++) { */ - /* x = rand() % (WIDTH -1); */ - /* y = rand() % (HEIGHT -1); */ - /* if (field[x][y] == BLANK) { */ - /* field[x][y] = FOOD; */ - /* return; */ - /* } */ - /* } */ + for (c = 0; c < 10;c++) { + x = rand() % (WIDTH -1); + y = rand() % (HEIGHT -1); + if (DEBUG > 0) printf("Next %u\n", next); + if (DEBUG > 0) printf("Rand (%d|%d)\n", x, y); + if (field[x][y] == BLANK) { + field[x][y] = FOOD; + return; + } + } for (x = 0; x < WIDTH; x++) { for (y = 0; y < HEIGHT; y++) { if (field[x][y] == BLANK) { @@ -98,25 +114,29 @@ { x = 6 * x; y = 8 * (y+1) -3; - printf("Put string %s to (%d|%d)\n", text, x, y); + if (DEBUG > 1) printf("Put string %s to (%d|%d)\n", text, x, y); fb_gotoxy(x, y); fb_putstr(text, framebuffer->width); } -void movepos(char dim) { + + +char Move; +void movepos(char move) { + Move = move; setItem(pos.x, pos.y, SBODY); - switch (dim) { - case 'Y': pos.y++;break; - case 'y': pos.y--;break; - case 'X': pos.x++;break; - case 'x': pos.x--;break; + switch (move) { + case 'h': pos.x--;break; + case 'j': pos.y++;break; + case 'k': pos.y--;break; + case 'l': pos.x++;break; } - switch (dim) { - case 'Y': case 'y': + switch (move) { + case 'j': case 'k': if (pos.y == -1) pos.y = HEIGHT -1; else if (pos.y == HEIGHT) pos.y = 0; increaseBodyAge(); break; - case 'X': case 'x': + case 'l': case 'h': if (pos.x == -1) pos.x = WIDTH -1; else if (pos.x == WIDTH) pos.x = 0; increaseBodyAge(); @@ -125,6 +145,21 @@ setItem(pos.x, pos.y, HEAD); printField(); } +void movepos_timer_cb(void *p) { + struct osmo_timer_list *tmr = (struct osmo_timer_list*)p; + if (DEBUG > 0) printf("Auto move %c\n", Move); + movepos(Move); + + osmo_timer_schedule(tmr, WAIT_TIME_AUTOMOVE); +} +static struct osmo_timer_list move_snake_timer = { + .cb = &movepos_timer_cb, + .data = &move_snake_timer +}; +void movepos_keypress(char keypress) { + Move = keypress; + osmo_timer_schedule(&move_snake_timer, 0); +} void increaseBodyAge() { int y, x; @@ -309,15 +344,12 @@ calypso_clk_dump(); puts(hr); - keypad_set_handler(&key_handler); - /* Dump clock config after PLL set */ calypso_clk_dump(); puts(hr); fb_clear(); bl_level(255); - /* srand(23); // need time or other changing value */ intro(); delay_ms(5000); @@ -343,6 +375,10 @@ pos.x = framebuffer->width/(6 * 2); pos.y = framebuffer->height/(8 * 2); setItem(pos.x, pos.y, HEAD); + + osmo_timers_update(); + srand(battery_info.bat_volt_mV); + if (DEBUG > 0) printf("Initialize random number generator with %d\n", battery_info.bat_volt_mV); setFood(); printf("Put string to (%d|%d)\n", pos.x, pos.y); printField(); @@ -350,6 +386,7 @@ sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb); + keypad_set_handler(&key_handler); /* beyond this point we only react to interrupts */ puts("entering interrupt loop\n"); @@ -364,19 +401,22 @@ void key_handler(enum key_codes code, enum key_states state) { + if (!osmo_timer_pending(&move_snake_timer)) { + osmo_timer_schedule(&move_snake_timer,WAIT_TIME_AUTOMOVE); + } if (state != PRESSED) return; switch (code) { case KEY_0: bl_level(0);break; case KEY_1: bl_level(10);break; - case KEY_2: movepos('y');break; + case KEY_2: movepos_keypress('k');break; case KEY_3: bl_level(30);break; - case KEY_4: movepos('x');break; + case KEY_4: movepos_keypress('h');break; case KEY_5: bl_level(50);break; - case KEY_6: movepos('X');break; + case KEY_6: movepos_keypress('l');break; case KEY_7: bl_level(150);break; - case KEY_8: movepos('Y');break; + case KEY_8: movepos_keypress('j');break; case KEY_9: bl_level(255);break; // used to be display_puts... break; @@ -395,10 +435,10 @@ case KEY_POWER: twl3025_power_off_now(); break; - case KEY_RIGHT: movepos('X'); break; - case KEY_LEFT: movepos('x'); break; - case KEY_UP: movepos('y'); break; - case KEY_DOWN: movepos('Y'); break; + case KEY_RIGHT: movepos_keypress('l'); break; + case KEY_LEFT: movepos_keypress('h'); break; + case KEY_UP: movepos_keypress('k'); break; + case KEY_DOWN: movepos_keypress('j'); break; default: break; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94bf887160a4a58423b93fcfd47c92e09404507c Gerrit-Change-Number: 19487 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:03 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:03 +0000 Subject: Change in osmocom-bb[master]: If the snake eats itself the score will be decremented. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19488 ) Change subject: If the snake eats itself the score will be decremented. ...................................................................... If the snake eats itself the score will be decremented. Change-Id: I91eaf50c11321ada9ffdc2f692847a13ff3d3e6a --- M src/target/firmware/apps/snake_game/main.c 1 file changed, 5 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/88/19488/1 diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c index c263df4..98a5b34 100644 --- a/src/target/firmware/apps/snake_game/main.c +++ b/src/target/firmware/apps/snake_game/main.c @@ -80,7 +80,7 @@ } pos; uint8_t field[WIDTH][HEIGHT]; -uint16_t score = 0, lenght = 0; +int16_t score = 0, lenght = 0; enum errors { ALLRIGHT, SNAKE_COL, } err; void printField(); @@ -177,7 +177,7 @@ switch (field[x][y]) { case FOOD: score++; setFood(); item = HEAD_FOOD; break; case BLANK: break; - default: err = SNAKE_COL; + default: err = SNAKE_COL;score--; } } field[x][y] = item; @@ -213,7 +213,7 @@ switch (err) { case SNAKE_COL: fb_putstr("The snake ate itself!!!", framebuffer->width); err = ALLRIGHT; break; - default: sprintf(text, "Score: %u", score); + default: sprintf(text, "Score: %d", score); fb_putstr(text, framebuffer->width); framebuffer->cursor_x = 45; fb_putstr("OsmocomBB", framebuffer->width); @@ -350,6 +350,7 @@ fb_clear(); bl_level(255); + osmo_timers_update(); intro(); delay_ms(5000); @@ -359,24 +360,13 @@ fb_setfg(FB_COLOR_BLACK); fb_setbg(FB_COLOR_WHITE); fb_setfont(FB_FONT_HELVR08); - int y = 0, i; - /* for (i = 1; i <= 7; i++) { */ - /* printf("%d\n", i); */ - /* print_display("OOOOOOOOOOOOOOOO", &y, cursor - 1); */ - /* } */ - /* print_snake_str("U",0, 0); */ - /* print_snake_str("U",0, 2); */ - /* print_snake_str("U",2, 0); */ - print_snake_str("U",2, 0); - print_snake_str("U",2, 5); - print_snake_str("U",6, 0); fb_flush(); pos.x = framebuffer->width/(6 * 2); pos.y = framebuffer->height/(8 * 2); setItem(pos.x, pos.y, HEAD); - osmo_timers_update(); + while (battery_info.bat_volt_mV == 0) osmo_timers_update(); srand(battery_info.bat_volt_mV); if (DEBUG > 0) printf("Initialize random number generator with %d\n", battery_info.bat_volt_mV); setFood(); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I91eaf50c11321ada9ffdc2f692847a13ff3d3e6a Gerrit-Change-Number: 19488 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:03 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:03 +0000 Subject: Change in osmocom-bb[master]: Adjusted coding style. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19489 ) Change subject: Adjusted coding style. ...................................................................... Adjusted coding style. Change-Id: I9b5250579290b6eb1e33d446e9fc7d2c082c4002 --- M src/target/firmware/apps/snake_game/main.c 1 file changed, 191 insertions(+), 105 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/89/19489/1 diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c index 98a5b34..d9748f7 100644 --- a/src/target/firmware/apps/snake_game/main.c +++ b/src/target/firmware/apps/snake_game/main.c @@ -20,7 +20,6 @@ * */ - #include #include @@ -50,11 +49,14 @@ unsigned long next = 1; /* This is not a good random number generator ... */ -int rand(void) { +int rand(void) +{ next = next * 110351 + 12; return (unsigned int)(next & 0x7fff); } -void srand(unsigned int seed) { + +void srand(unsigned int seed) +{ next = seed; } @@ -66,7 +68,7 @@ #define SBODY 20 /* The numbers above 20 are the distance to the head. * 21 is direly behind the head. -*/ + */ #define STDLEN 3 #define HEIGHT 7 #define WIDTH 16 @@ -81,19 +83,22 @@ uint8_t field[WIDTH][HEIGHT]; int16_t score = 0, lenght = 0; -enum errors { ALLRIGHT, SNAKE_COL, } err; +enum errors { ALLRIGHT, SNAKE_COL } err; void printField(); void setItem(int, int, int); void movepos(char); void increaseBodyAge(); -void setFood() { +void setFood() +{ int x, y, c; - for (c = 0; c < 10;c++) { - x = rand() % (WIDTH -1); - y = rand() % (HEIGHT -1); - if (DEBUG > 0) printf("Next %u\n", next); - if (DEBUG > 0) printf("Rand (%d|%d)\n", x, y); + for (c = 0; c < 10; c++) { + x = rand() % (WIDTH - 1); + y = rand() % (HEIGHT - 1); +#if DEBUG > 0 + printf("Next %u\n", next); + printf("Rand (%d|%d)\n", x, y); +#endif if (field[x][y] == BLANK) { field[x][y] = FOOD; return; @@ -103,7 +108,10 @@ for (y = 0; y < HEIGHT; y++) { if (field[x][y] == BLANK) { field[x][y] = FOOD; - if (DEBUG > 0) printf("Set without rand (%d|%d) %d\n", x, y, c); +#if DEBUG > 0 + printf("Set without rand (%d|%d) %d\n", x, y, + c); +#endif return; } } @@ -113,127 +121,172 @@ static void print_snake_str(char *text, int16_t x, int16_t y) { x = 6 * x; - y = 8 * (y+1) -3; - if (DEBUG > 1) printf("Put string %s to (%d|%d)\n", text, x, y); + y = 8 * (y + 1) - 3; +#if DEBUG > 1 + printf("Put string %s to (%d|%d)\n", text, x, y); +#endif fb_gotoxy(x, y); fb_putstr(text, framebuffer->width); } - char Move; -void movepos(char move) { +void movepos(char move) +{ Move = move; setItem(pos.x, pos.y, SBODY); switch (move) { - case 'h': pos.x--;break; - case 'j': pos.y++;break; - case 'k': pos.y--;break; - case 'l': pos.x++;break; + case 'h': pos.x--; break; + case 'j': pos.y++; break; + case 'k': pos.y--; break; + case 'l': pos.x++; break; } switch (move) { - case 'j': case 'k': - if (pos.y == -1) pos.y = HEIGHT -1; - else if (pos.y == HEIGHT) pos.y = 0; - increaseBodyAge(); - break; - case 'l': case 'h': - if (pos.x == -1) pos.x = WIDTH -1; - else if (pos.x == WIDTH) pos.x = 0; - increaseBodyAge(); - break; + case 'j': + case 'k': + if (pos.y == -1) + pos.y = HEIGHT - 1; + else if (pos.y == HEIGHT) + pos.y = 0; + increaseBodyAge(); + break; + case 'l': + case 'h': + if (pos.x == -1) + pos.x = WIDTH - 1; + else if (pos.x == WIDTH) + pos.x = 0; + increaseBodyAge(); + break; } setItem(pos.x, pos.y, HEAD); printField(); } -void movepos_timer_cb(void *p) { - struct osmo_timer_list *tmr = (struct osmo_timer_list*)p; - if (DEBUG > 0) printf("Auto move %c\n", Move); + +void movepos_timer_cb(void *p) +{ + struct osmo_timer_list *tmr = (struct osmo_timer_list *)p; +#if DEBUG > 0 + printf("Auto move %c\n", Move); +#endif movepos(Move); osmo_timer_schedule(tmr, WAIT_TIME_AUTOMOVE); } + static struct osmo_timer_list move_snake_timer = { .cb = &movepos_timer_cb, .data = &move_snake_timer }; -void movepos_keypress(char keypress) { + +void movepos_keypress(char keypress) +{ Move = keypress; osmo_timer_schedule(&move_snake_timer, 0); } -void increaseBodyAge() { +void increaseBodyAge() +{ int y, x; lenght = SBODY + STDLEN + score; for (x = 0; x < WIDTH; x++) { for (y = 0; y < HEIGHT; y++) { - if (field[x][y] >= lenght) field[x][y] = BLANK; - else if (field[x][y] >= SBODY) field[x][y]++; + if (field[x][y] >= lenght) + field[x][y] = BLANK; + else if (field[x][y] >= SBODY) + field[x][y]++; } } } -void setItem(int x, int y, int item) { +void setItem(int x, int y, int item) +{ if (item == HEAD) { switch (field[x][y]) { - case FOOD: score++; setFood(); item = HEAD_FOOD; break; - case BLANK: break; - default: err = SNAKE_COL;score--; + case FOOD: + score++; + setFood(); + item = HEAD_FOOD; + break; + case BLANK: + break; + default: + err = SNAKE_COL; + score--; } } field[x][y] = item; } -void resetField() { +wohnung void resetField() +{ /* system("clear"); */ printf("\033[H\033[2J"); } -void printField() { +void printField() +{ fb_clear(); int x, y; for (y = 0; y < HEIGHT; y++) { for (x = 0; x < WIDTH; x++) { switch (field[x][y]) { - case BLANK:break; - case HEAD: print_snake_str("O", x, y);break; - case HEAD_FOOD: print_snake_str("P", x, y);break; - case FOOD: print_snake_str("#", x, y);break; - default: - if (field[x][y] == lenght) print_snake_str(";", x, y); - else print_snake_str("o", x, y); + case BLANK: + break; + case HEAD: + print_snake_str("O", x, y); + break; + case HEAD_FOOD: + print_snake_str("P", x, y); + break; + case FOOD: + print_snake_str("#", x, y); + break; + default: + if (field[x][y] == lenght) + print_snake_str(";", x, y); + else + print_snake_str("o", x, y); } } } printf("Score: %d\n", score); - fb_gotoxy(0, framebuffer->height+-9); - fb_lineto(framebuffer->width-1, framebuffer->cursor_y); - fb_gotoxy(0, framebuffer->height-1); + fb_gotoxy(0, framebuffer->height - 9); + fb_lineto(framebuffer->width - 1, framebuffer->cursor_y); + fb_gotoxy(0, framebuffer->height - 1); char text[16]; switch (err) { - case SNAKE_COL: fb_putstr("The snake ate itself!!!", framebuffer->width); - err = ALLRIGHT; break; - default: sprintf(text, "Score: %d", score); - fb_putstr(text, framebuffer->width); - framebuffer->cursor_x = 45; - fb_putstr("OsmocomBB", framebuffer->width); + case SNAKE_COL: + fb_putstr("The snake ate itself!!!", framebuffer->width); + err = ALLRIGHT; + break; + default: + sprintf(text, "Score: %d", score); + fb_putstr(text, framebuffer->width); + framebuffer->cursor_x = 45; + fb_putstr("OsmocomBB", framebuffer->width); } fb_flush(); - if (DEBUG > 0) { - printf("Pos X: %d, Y: %d\n", pos.x, pos.y); - printf("\n\n"); - for(y = -1; y < HEIGHT; y++) { - for(x = -1; x < WIDTH; x++) { - if (y == -1 || x == -1) { - if (x == -1) printf(" %2d: ", y); - else if (y == -1) printf(UNDERLINE " %2d" KNRM, x); - } else printf(" %2d",field[x][y]); - } - puts("\n"); +#if DEBUG > 0 + printf("Pos X: %d, Y: %d\n", pos.x, pos.y); + printf("\n\n"); + for (y = -1; y < HEIGHT; y++) { + for (x = -1; x < WIDTH; x++) { + if (y == -1 || x == -1) { + if (x == -1) + printf(" %2d: ", y); + else if (y == -1) + printf(UNDERLINE " %2d" KNRM, + x); + } else + printf(" %2d", field[x][y]); } + puts("\n"); } +#endif } + int cursor = 0; #define NEIGH_LINES ((framebuffer->height +8) / 8) static void print_display(char *text, int *y, int c) @@ -254,7 +307,8 @@ fb_putstr(text, framebuffer->width); } -void fb_clear_fancy(uint8_t delay) { +void fb_clear_fancy(uint8_t delay) +{ int16_t x, y; fb_setfg(FB_COLOR_BLACK); fb_setbg(FB_COLOR_WHITE); @@ -279,33 +333,35 @@ fb_setbg(FB_COLOR_WHITE); } -void intro() { +void intro() +{ fb_setfg(FB_COLOR_BLACK); fb_setbg(FB_COLOR_WHITE); fb_setfont(FB_FONT_HELVB14); - fb_gotoxy(framebuffer->width/2 - 7 * 3, 15); - fb_putstr("Snake",framebuffer->width-4); + fb_gotoxy(framebuffer->width / 2 - 7 * 3, 15); + fb_putstr("Snake", framebuffer->width - 4); - fb_gotoxy(14, framebuffer->height-5); + fb_gotoxy(14, framebuffer->height - 5); fb_setfont(FB_FONT_HELVR08); - fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width-4); + fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width - 4); fb_gotoxy(0, 0); fb_boxto(framebuffer->width - 1, 1); - fb_boxto(framebuffer->width - 2, framebuffer->height-1); - fb_boxto(0, framebuffer->height-2); + fb_boxto(framebuffer->width - 2, framebuffer->height - 1); + fb_boxto(0, framebuffer->height - 2); fb_boxto(1, 1); printf("(%u, %u)\n", framebuffer->width, framebuffer->height); fb_gotoxy(2, 2); - fb_lineto(framebuffer->width-3, framebuffer->height-3); - fb_gotoxy(2, framebuffer->height-3); - fb_lineto(framebuffer->width-3, 2); + fb_lineto(framebuffer->width - 3, framebuffer->height - 3); + fb_gotoxy(2, framebuffer->height - 3); + fb_lineto(framebuffer->width - 3, 2); fb_flush(); } /* Main Program */ -const char *hr = "======================================================================\n"; +const char *hr = + "======================================================================\n"; void key_handler(enum key_codes code, enum key_states state); @@ -356,24 +412,25 @@ delay_ms(5000); fb_clear_fancy(20); - fb_setfg(FB_COLOR_BLACK); fb_setbg(FB_COLOR_WHITE); fb_setfont(FB_FONT_HELVR08); fb_flush(); - pos.x = framebuffer->width/(6 * 2); - pos.y = framebuffer->height/(8 * 2); + pos.x = framebuffer->width / (6 * 2); + pos.y = framebuffer->height / (8 * 2); setItem(pos.x, pos.y, HEAD); - while (battery_info.bat_volt_mV == 0) osmo_timers_update(); + while (battery_info.bat_volt_mV == 0) + osmo_timers_update(); srand(battery_info.bat_volt_mV); - if (DEBUG > 0) printf("Initialize random number generator with %d\n", battery_info.bat_volt_mV); +#if DEBUG > 0 + printf("Initialize random number generator with %d\n", + battery_info.bat_volt_mV); +#endif setFood(); - printf("Put string to (%d|%d)\n", pos.x, pos.y); printField(); - sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb); keypad_set_handler(&key_handler); @@ -386,28 +443,49 @@ twl3025_power_off(); - while (1) {} + while (1) { + } } void key_handler(enum key_codes code, enum key_states state) { if (!osmo_timer_pending(&move_snake_timer)) { - osmo_timer_schedule(&move_snake_timer,WAIT_TIME_AUTOMOVE); + osmo_timer_schedule(&move_snake_timer, WAIT_TIME_AUTOMOVE); } if (state != PRESSED) return; switch (code) { - case KEY_0: bl_level(0);break; - case KEY_1: bl_level(10);break; - case KEY_2: movepos_keypress('k');break; - case KEY_3: bl_level(30);break; - case KEY_4: movepos_keypress('h');break; - case KEY_5: bl_level(50);break; - case KEY_6: movepos_keypress('l');break; - case KEY_7: bl_level(150);break; - case KEY_8: movepos_keypress('j');break; - case KEY_9: bl_level(255);break; + case KEY_0: + bl_level(0); + break; + case KEY_1: + bl_level(10); + break; + case KEY_2: + movepos_keypress('k'); + break; + case KEY_3: + bl_level(30); + break; + case KEY_4: + movepos_keypress('h'); + break; + case KEY_5: + bl_level(50); + break; + case KEY_6: + movepos_keypress('l'); + break; + case KEY_7: + bl_level(150); + break; + case KEY_8: + movepos_keypress('j'); + break; + case KEY_9: + bl_level(255); + break; // used to be display_puts... break; case KEY_STAR: @@ -425,10 +503,18 @@ case KEY_POWER: twl3025_power_off_now(); break; - case KEY_RIGHT: movepos_keypress('l'); break; - case KEY_LEFT: movepos_keypress('h'); break; - case KEY_UP: movepos_keypress('k'); break; - case KEY_DOWN: movepos_keypress('j'); break; + case KEY_RIGHT: + movepos_keypress('l'); + break; + case KEY_LEFT: + movepos_keypress('h'); + break; + case KEY_UP: + movepos_keypress('k'); + break; + case KEY_DOWN: + movepos_keypress('j'); + break; default: break; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9b5250579290b6eb1e33d446e9fc7d2c082c4002 Gerrit-Change-Number: 19489 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 12:30:04 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sat, 1 Aug 2020 12:30:04 +0000 Subject: Change in osmocom-bb[master]: Fixed little mistake in the code. References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19490 ) Change subject: Fixed little mistake in the code. ...................................................................... Fixed little mistake in the code. Thanks to Martin Hauke. Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 --- M src/target/firmware/apps/snake_game/main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/90/19490/1 diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c index d9748f7..44dda9a 100644 --- a/src/target/firmware/apps/snake_game/main.c +++ b/src/target/firmware/apps/snake_game/main.c @@ -217,7 +217,7 @@ field[x][y] = item; } -wohnung void resetField() +void resetField() { /* system("clear"); */ printf("\033[H\033[2J"); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 15:13:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 15:13:42 +0000 Subject: Change in osmo-bsc[master]: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19491 ) Change subject: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" ...................................................................... BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" On a TS 12.21 spec compliant BTS, each Um traffic channel must be mapped to an E1 sub-slot on the terrestrial back-haul. This happens via the CONNECT TERRESTRIAL TRAFFIC message. We always had code to sen that message, but it got deactivated when ts->pchan_is / ts->pchan_from_config was introduced. Of course, while we are bringing up OML, there is no 'pchan_is' set yet. We only have 'pchan_from_config' and must use it. Change-Id: I8988a027b0e897bd9dda460590f974d6be34a4fa --- M src/osmo-bsc/bts_siemens_bs11.c 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/19491/1 diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index c808421..08694ea 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -404,9 +404,16 @@ if (is_ipaccess_bts(ts->trx->bts)) return; - if (ts_is_tch(ts)) - abis_nm_conn_terr_traf(ts, e1l->e1_nr, e1l->e1_ts, - e1l->e1_ts_ss); + switch (ts->pchan_from_config) { + case GSM_PCHAN_TCH_F: + abis_nm_conn_terr_traf(ts, e1l->e1_nr, e1l->e1_ts, e1l->e1_ts_ss); + break; + case GSM_PCHAN_TCH_H: + LOG_TS(ts, LOGL_ERROR, "No support for half-rate over E1 yet!\n"); + break; + default: + break; + } } static void nm_reconfig_trx(struct gsm_bts_trx *trx) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8988a027b0e897bd9dda460590f974d6be34a4fa Gerrit-Change-Number: 19491 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 Aug 1 15:13:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 15:13:43 +0000 Subject: Change in osmo-bsc[master]: BS-11: Send proprietary MRPCI message after assignment has completed References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19492 ) Change subject: BS-11: Send proprietary MRPCI message after assignment has completed ...................................................................... BS-11: Send proprietary MRPCI message after assignment has completed This is a non-standard RSL message that must be sent after each traffic channel has been established. Without it, any voice call will be disconnected within seconds. This is a hack; we need to store the subscribers classmark2 value and use it here. Change-Id: I6cb6d25e405aa888c4df4022d897330a6af9e946 Related: OS#2389 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/19492/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index ca29daa..62a2791 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -224,10 +225,18 @@ static void assignment_success(struct gsm_subscriber_connection *conn) { + struct gsm_bts *bts = conn_get_bts(conn); + /* Take on the new lchan */ gscon_change_primary_lchan(conn, conn->assignment.new_lchan); conn->assignment.new_lchan = NULL; + if (is_siemens_bts(bts)) { + /* HACK: store the actual Classmark 2 LV from the subscriber and use it here! */ + uint8_t cm2_lv[] = { 0x02, 0x00, 0x00 }; + send_siemens_mrpci(conn->lchan, cm2_lv); + } + /* apply LCLS configuration (if any) */ lcls_apply_config(conn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6cb6d25e405aa888c4df4022d897330a6af9e946 Gerrit-Change-Number: 19492 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 Aug 1 15:22:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 15:22:08 +0000 Subject: Change in osmo-bsc[master]: BS-11: Send proprietary MRPCI message after assignment + HO complete In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19492 ) Change subject: BS-11: Send proprietary MRPCI message after assignment + HO complete ...................................................................... BS-11: Send proprietary MRPCI message after assignment + HO complete This is a non-standard RSL message that must be sent after each traffic channel has been established. Without it, any voice call will be disconnected within seconds. This is a hack; we need to store the subscribers classmark2 value and use it here. Change-Id: I6cb6d25e405aa888c4df4022d897330a6af9e946 Related: OS#2389 --- M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/19492/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6cb6d25e405aa888c4df4022d897330a6af9e946 Gerrit-Change-Number: 19492 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 15:30:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 15:30:31 +0000 Subject: Change in osmo-bsc[master]: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19491 ) Change subject: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8988a027b0e897bd9dda460590f974d6be34a4fa Gerrit-Change-Number: 19491 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 01 Aug 2020 15:30:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 15:30:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 15:30:40 +0000 Subject: Change in osmo-bsc[master]: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19491 ) Change subject: BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" ...................................................................... BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" On a TS 12.21 spec compliant BTS, each Um traffic channel must be mapped to an E1 sub-slot on the terrestrial back-haul. This happens via the CONNECT TERRESTRIAL TRAFFIC message. We always had code to sen that message, but it got deactivated when ts->pchan_is / ts->pchan_from_config was introduced. Of course, while we are bringing up OML, there is no 'pchan_is' set yet. We only have 'pchan_from_config' and must use it. Change-Id: I8988a027b0e897bd9dda460590f974d6be34a4fa --- M src/osmo-bsc/bts_siemens_bs11.c 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index c808421..08694ea 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -404,9 +404,16 @@ if (is_ipaccess_bts(ts->trx->bts)) return; - if (ts_is_tch(ts)) - abis_nm_conn_terr_traf(ts, e1l->e1_nr, e1l->e1_ts, - e1l->e1_ts_ss); + switch (ts->pchan_from_config) { + case GSM_PCHAN_TCH_F: + abis_nm_conn_terr_traf(ts, e1l->e1_nr, e1l->e1_ts, e1l->e1_ts_ss); + break; + case GSM_PCHAN_TCH_H: + LOG_TS(ts, LOGL_ERROR, "No support for half-rate over E1 yet!\n"); + break; + default: + break; + } } static void nm_reconfig_trx(struct gsm_bts_trx *trx) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8988a027b0e897bd9dda460590f974d6be34a4fa Gerrit-Change-Number: 19491 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 Aug 1 15:35:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 1 Aug 2020 15:35:23 +0000 Subject: Change in osmocom-bb[master]: Wrote twl3025_power_off_now to restart the phone if the power button ... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19482 ) Change subject: Wrote twl3025_power_off_now to restart the phone if the power button is pressed. ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/19482/1/src/target/firmware/abb/twl3025.c File src/target/firmware/abb/twl3025.c: https://gerrit.osmocom.org/c/osmocom-bb/+/19482/1/src/target/firmware/abb/twl3025.c at 216 PS1, Line 216: void Let's rather add a boolean flag (e.g. 'now') here, instead of adding another (almost identical) function. https://gerrit.osmocom.org/c/osmocom-bb/+/19482/1/src/target/firmware/abb/twl3025.c at 233 PS1, Line 233: inconsistent spacing -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 01 Aug 2020 15:35: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 Aug 1 16:33:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 16:33:20 +0000 Subject: Change in gapk[master]: gapk: add optional throttling References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/gapk/+/19493 ) Change subject: gapk: add optional throttling ...................................................................... gapk: add optional throttling When throttling is enabled, one voice frame will be processed every 20ms. This is useful for e.g. playback of a file as a RTP stream. Without this option, the entire file would generate a flood of RTP messages, rather than a continuous stream. Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c --- M src/app_osmo_gapk.c 1 file changed, 60 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/93/19493/1 diff --git a/src/app_osmo_gapk.c b/src/app_osmo_gapk.c index 91647ee..5432de0 100644 --- a/src/app_osmo_gapk.c +++ b/src/app_osmo_gapk.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -67,6 +68,7 @@ /* RTP payload type */ uint8_t rtp_pt_in, rtp_pt_out; + int throttle; int benchmark; int verbose; }; @@ -75,6 +77,8 @@ { struct gapk_options opts; struct osmo_gapk_pq *pq; + struct osmo_fd timerfd; /* for optional throttling */ + unsigned int num_frames; int exit; struct { @@ -211,10 +215,11 @@ {"rtp-pt-in", 1, 0, 'p'}, {"rtp-pt-out", 1, 0, 'P'}, {"enable-benchmark", 0, 0, 'b'}, + {"throttle", 0, 0, 't'}, {"verbose", 0, 0, 'v'}, {"help", 0, 0, 'h'}, }; - const char *short_options = "i:o:I:O:f:g:p:P:bvh" + const char *short_options = "i:o:I:O:f:g:p:P:btvh" #ifdef HAVE_ALSA "a:A:" #endif @@ -312,6 +317,10 @@ opt->benchmark = 1; break; + case 't': + opt->throttle = 1; + break; + case 'v': log_parse_category_mask(osmo_stderr_target, "DAPP"); opt->verbose = 1; @@ -668,22 +677,65 @@ } static int +timerfd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct gapk_state *gs = ofd->data; + uint64_t expire_count; + int rc; + + rc = read(ofd->fd, (void *)&expire_count, sizeof(expire_count)); + if (rc < 0 && errno == EAGAIN) + return 0; + OSMO_ASSERT(rc == sizeof(expire_count)); + + while (expire_count--) { + gs->num_frames++; + rc = osmo_gapk_pq_execute(gs->pq); + if (rc < 0) + gs->exit = true; + } + return 0; +} + +static int run(struct gapk_state *gs) { struct osmo_gapk_pq_item *item; - int rv, frames; + int rv; rv = osmo_gapk_pq_prepare(gs->pq); if (rv) return rv; - for (frames = 0; !gs->exit; frames++) { - rv = osmo_gapk_pq_execute(gs->pq); - if (rv) - break; + if (!gs->opts.throttle) { + for (gs->num_frames = 0; !gs->exit; gs->num_frames++) { + rv = osmo_gapk_pq_execute(gs->pq); + if (rv) + break; + } + } else { + /* setup timerfd based processing */ + const struct timespec interval = { + .tv_sec = 0, + .tv_nsec = 20*1000*1000, + }; + gs->timerfd.fd = -1; + rv = osmo_timerfd_setup(&gs->timerfd, timerfd_cb, gs); + OSMO_ASSERT(rv == 0); + rv = osmo_timerfd_schedule(&gs->timerfd, NULL, &interval); + OSMO_ASSERT(rv == 0); + + /* actual processing loop */ + while (!gs->exit) + osmo_select_main(0); + + /* cleanup */ + osmo_timerfd_disable(&gs->timerfd); + close(gs->timerfd.fd); + osmo_fd_unregister(&gs->timerfd); } - LOGP(DAPP, LOGL_NOTICE, "Processed %d frames\n", frames); + LOGP(DAPP, LOGL_NOTICE, "Processed %d frames\n", gs->num_frames); /* Wait for sink to process buffers */ item = llist_last_entry(&gs->pq->items, struct osmo_gapk_pq_item, list); @@ -693,7 +745,7 @@ continue; } - return frames > 0 ? 0 : rv; + return gs->num_frames > 0 ? 0 : rv; } -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 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 Aug 1 17:02:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 17:02:25 +0000 Subject: Change in gapk[master]: gapk: add optional throttling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/gapk/+/19493 to look at the new patch set (#2). Change subject: gapk: add optional throttling ...................................................................... gapk: add optional throttling When throttling is enabled, one voice frame will be processed every 20ms. This is useful for e.g. playback of a file as a RTP stream. Without this option, the entire file would generate a flood of RTP messages, rather than a continuous stream. Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c --- M src/app_osmo_gapk.c 1 file changed, 61 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/93/19493/2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 17:02:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 1 Aug 2020 17:02:25 +0000 Subject: Change in gapk[master]: gapk: Implemnet optional looping/rewinding of input files References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/gapk/+/19494 ) Change subject: gapk: Implemnet optional looping/rewinding of input files ...................................................................... gapk: Implemnet optional looping/rewinding of input files Together with the recently-added throttling, this can be useful to generate a continuous stream of RTP data from an input file. Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 --- M include/osmocom/gapk/procqueue.h M src/app_osmo_gapk.c M src/pq_file.c 3 files changed, 22 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/94/19494/1 diff --git a/include/osmocom/gapk/procqueue.h b/include/osmocom/gapk/procqueue.h index 82c1cf9..be10f7a 100644 --- a/include/osmocom/gapk/procqueue.h +++ b/include/osmocom/gapk/procqueue.h @@ -20,6 +20,7 @@ #pragma once #include +#include #include /* for FILE */ #include @@ -85,7 +86,7 @@ struct osmo_gapk_pq_item *osmo_gapk_pq_add_item(struct osmo_gapk_pq *pq); /* File */ -int osmo_gapk_pq_queue_file_input(struct osmo_gapk_pq *pq, FILE *src, unsigned int block_len); +int osmo_gapk_pq_queue_file_input(struct osmo_gapk_pq *pq, FILE *src, unsigned int block_len, bool loop); int osmo_gapk_pq_queue_file_output(struct osmo_gapk_pq *pq, FILE *dst, unsigned int block_len); /* RTP */ diff --git a/src/app_osmo_gapk.c b/src/app_osmo_gapk.c index 1e4e9a0..5e85548 100644 --- a/src/app_osmo_gapk.c +++ b/src/app_osmo_gapk.c @@ -68,6 +68,7 @@ /* RTP payload type */ uint8_t rtp_pt_in, rtp_pt_out; + bool loop_input; int throttle; int benchmark; int verbose; @@ -144,6 +145,7 @@ fprintf(stdout, " -P --rtp-pt-out=TYPE\t\tRTP payload type for outgoing frames\n"); fprintf(stdout, " -b, --enable-benchmark\tEnable codec benchmarking\n"); fprintf(stdout, " -t, --throttle\tEnable throttling (one codec frame every 20ms)\n"); + fprintf(stdout, " -l, --loop-input\tEnable looping of the input file\n"); fprintf(stdout, " -v, --verbose\t\t\tEnable debug messages\n"); fprintf(stdout, "\n"); @@ -217,10 +219,11 @@ {"rtp-pt-out", 1, 0, 'P'}, {"enable-benchmark", 0, 0, 'b'}, {"throttle", 0, 0, 't'}, + {"loop-input", 0, 0, 'l'}, {"verbose", 0, 0, 'v'}, {"help", 0, 0, 'h'}, }; - const char *short_options = "i:o:I:O:f:g:p:P:btvh" + const char *short_options = "i:o:I:O:f:g:p:P:btlvh" #ifdef HAVE_ALSA "a:A:" #endif @@ -322,6 +325,10 @@ opt->throttle = 1; break; + case 'l': + opt->loop_input = true; + break; + case 'v': log_parse_category_mask(osmo_stderr_target, "DAPP"); opt->verbose = 1; @@ -577,7 +584,7 @@ /* File read */ if (gs->in.file.fh) - osmo_gapk_pq_queue_file_input(gs->pq, gs->in.file.fh, fmt_in->frame_len); + osmo_gapk_pq_queue_file_input(gs->pq, gs->in.file.fh, fmt_in->frame_len, gs->opts.loop_input); else if (gs->in.rtp.fd != -1) osmo_gapk_pq_queue_rtp_input(gs->pq, gs->in.rtp.fd, fmt_in->frame_len, gs->opts.rtp_pt_in); diff --git a/src/pq_file.c b/src/pq_file.c index d496eec..d214096 100644 --- a/src/pq_file.c +++ b/src/pq_file.c @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -30,6 +31,7 @@ struct pq_state_file { FILE *fh; unsigned int blk_len; + bool loop_input; }; @@ -39,6 +41,10 @@ struct pq_state_file *state = _state; int rv; rv = fread(out, state->blk_len, 1, state->fh); + if (rv == 0 && state->loop_input && feof(state->fh)) { + rewind(state->fh); + rv = fread(out, state->blk_len, 1, state->fh); + } if (rv <= 0) return -1; return rv * state->blk_len; @@ -60,7 +66,7 @@ } static int -pq_queue_file_op(struct osmo_gapk_pq *pq, FILE *fh, unsigned int blk_len, int in_out_n) +pq_queue_file_op(struct osmo_gapk_pq *pq, FILE *fh, unsigned int blk_len, int in_out_n, bool loop_input) { struct osmo_gapk_pq_item *item; struct pq_state_file *state; @@ -71,6 +77,7 @@ state->fh = fh; state->blk_len = blk_len; + state->loop_input = loop_input; item = osmo_gapk_pq_add_item(pq); if (!item) { @@ -105,11 +112,11 @@ * \param[in] blk_len block length to be read from file * \returns 0 on success; negative on error */ int -osmo_gapk_pq_queue_file_input(struct osmo_gapk_pq *pq, FILE *src, unsigned int blk_len) +osmo_gapk_pq_queue_file_input(struct osmo_gapk_pq *pq, FILE *src, unsigned int blk_len, bool loop) { LOGPGAPK(LOGL_DEBUG, "PQ '%s': Adding file input (blk_len=%u)\n", pq->name, blk_len); - return pq_queue_file_op(pq, src, blk_len, 1); + return pq_queue_file_op(pq, src, blk_len, 1, loop); } /*! Add file output to given processing queue @@ -123,5 +130,5 @@ { LOGPGAPK(LOGL_DEBUG, "PQ '%s': Adding file output (blk_len=%u)\n", pq->name, blk_len); - return pq_queue_file_op(pq, dst, blk_len, 0); + return pq_queue_file_op(pq, dst, blk_len, 0, false); } -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 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 Aug 1 18:23:59 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 18:23:59 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19140/7/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19140/7/src/socket.c at 386 PS7, Line 386: /* When called with AF_UNSPEC, family will set to IPv4 or IPv6 */ > I think I don't get this comment + if clause. [?] The family is set to AF_INET or AF_INET6 when called with AF_UNSPEC. See line 275 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 01 Aug 2020 18:23:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 18:51:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 1 Aug 2020 18:51:44 +0000 Subject: Change in gapk[master]: gapk: add optional throttling In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19493 ) Change subject: gapk: add optional throttling ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 01 Aug 2020 18:51:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 18:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 1 Aug 2020 18:53:20 +0000 Subject: Change in gapk[master]: gapk: Implemnet optional looping/rewinding of input files In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19494 ) Change subject: gapk: Implemnet optional looping/rewinding of input files ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 01 Aug 2020 18:53:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 1 19:54:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 19:54:27 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f25c8868a109_67502ac3bb5765f8768025@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 107s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 107s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 107s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 107s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 107s] | | [ 107s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 107s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 107s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 107s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 107s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 107s] 2425 | MHD_start_daemon (unsigned int flags, [ 107s] | ^~~~~~~~~~~~~~~~ [ 107s] cc1: all warnings being treated as errors [ 107s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 107s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 107s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 107s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 107s] make[1]: *** [Makefile:166: all] Error 2 [ 107s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 107s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 107s] make: *** [debian/rules:9: build] Error 25 [ 107s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 107s] ### VM INTERACTION START ### [ 110s] [ 93.837354] sysrq: SysRq : Power Off [ 110s] [ 93.841451] reboot: Power down [ 110s] ### VM INTERACTION END ### [ 110s] [ 110s] cloud122 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 19:54:21 UTC 2020. [ 110s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 1 19:56:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 19:56:45 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f25c900a0397_67502ac3bb5765f8768168@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 88s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 88s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 88s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 88s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 88s] | | [ 88s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 88s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 88s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 88s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 88s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 88s] 2425 | MHD_start_daemon (unsigned int flags, [ 88s] | ^~~~~~~~~~~~~~~~ [ 88s] cc1: all warnings being treated as errors [ 88s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 88s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 88s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 88s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 88s] make[1]: *** [Makefile:166: all] Error 2 [ 88s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 88s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 88s] make: *** [debian/rules:9: build] Error 25 [ 88s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 88s] ### VM INTERACTION START ### [ 91s] [ 80.928779] sysrq: SysRq : Power Off [ 91s] [ 80.932135] reboot: Power down [ 91s] ### VM INTERACTION END ### [ 91s] [ 91s] old-atreju3 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 19:56:26 UTC 2020. [ 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 Sat Aug 1 20:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:06:38 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19414 to look at the new patch set (#5). Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Gb/BSSGP: replace hardcoded Tx into NS library by a callback Add bssgp_ns_send callback() to set the transmission path into the NS library. This allows to use the Gb implementation with the old NS and the new upcoming NS implementation. Users of the old NS implementation don't have to set the callback as the default is the old NS implementation. Only users of the new NS implementation need to set the callback and the callback data. Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 --- M include/osmocom/gprs/gprs_bssgp.h M src/gb/Makefile.am M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c A src/gb/gprs_bssgp_internal.h M src/gb/gprs_bssgp_util.c M src/gb/libosmogb.map 7 files changed, 54 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/19414/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:06:38 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19146 to look at the new patch set (#7). Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG The sysmobts uses the same OML attributes as IP.access. Because the IP.access attribute only supports IPv4 as NSVC configuration, add an own attribute. Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 --- M include/osmocom/gsm/protocol/gsm_12_21.h M src/gsm/abis_nm.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/19146/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sat Aug 1 20:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:06:38 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19147 to look at the new patch set (#9). Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... socket: fix osmo_sock_get_ip_and_port for IPv6 The struct sockaddr is too small for IPv6. IPv6 has a 16 byte address, while struct sockaddr is only 14 byte big (+ family). Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.ok 3 files changed, 38 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/19147/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 9 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 Sat Aug 1 20:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:06:38 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19143 to look at the new patch set (#10). Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd osmo_sock_init3() takes osmo_sockaddr* as local and remote endpoints to setup a socket. Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 --- M include/osmocom/core/socket.h M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 5 files changed, 308 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/19143/10 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:06:38 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19415 to look at the new patch set (#8). Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... socket: add osmo_sockaddr_cmp() Compare two osmo_sockaddr. Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/19415/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:07:19 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19414/4/include/osmocom/gprs/gprs_bssgp.h File include/osmocom/gprs/gprs_bssgp.h: https://gerrit.osmocom.org/c/libosmocore/+/19414/4/include/osmocom/gprs/gprs_bssgp.h at 15 PS4, Line 15: typedef int bssgp_bvc_send(void *ctx, struct msgb *msg); > Ack Done https://gerrit.osmocom.org/c/libosmocore/+/19414/4/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/c/libosmocore/+/19414/4/src/gb/gprs_bssgp.c at 76 PS4, Line 76: /* callback to be compatible with users which do not set the bssgp_ns_send function */ > Ack Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 01 Aug 2020 20:07:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:07:46 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:07:46 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19146/6/src/gsm/abis_nm.c File src/gsm/abis_nm.c: https://gerrit.osmocom.org/c/libosmocore/+/19146/6/src/gsm/abis_nm.c at 515 PS6, Line 515: NM_ATT_OSMO_NS_LINK_CFG > Shouldn't this be a part of abis_nm_osmo_att_tlvdef? At least NM_ATT_OSMO_REDUCEPOWER is defined the [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 01 Aug 2020 20:07: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 Sat Aug 1 20:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:08:21 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19140/7/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19140/7/src/socket.c at 386 PS7, Line 386: /* When called with AF_UNSPEC, family will set to IPv4 or IPv6 */ > The family is set to AF_INET or AF_INET6 when called with AF_UNSPEC. [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 01 Aug 2020 20:08:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus 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 Aug 1 20:09:15 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:09:15 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19140/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19140/1/src/socket.c at 327 PS1, Line 327: return -ENODEV; > Missing freeaddrinfo. It may be helpful adding a goto and have the freeaddinfo + return probably. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 01 Aug 2020 20:09: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 Sat Aug 1 20:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:10:00 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19141 ) Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19141/1/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/19141/1/include/osmocom/core/socket.h at 25 PS1, Line 25: struct osmo_sockaddr { > yes, I think it's universally the case that you always have a "sin_addr" / "sin6_addr" / ... [?] I don't think this is a problem. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 01 Aug 2020 20:10:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:14:30 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:14:30 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19143 to look at the new patch set (#11). Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd osmo_sock_init3() takes osmo_sockaddr* as local and remote endpoints to setup a socket. Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 --- M include/osmocom/core/socket.h M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 5 files changed, 308 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/19143/11 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:15:00 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:15:00 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 11: (5 comments) https://gerrit.osmocom.org/c/libosmocore/+/19143/2/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/19143/2/include/osmocom/core/socket.h at 69 PS2, Line 69: int osmo_sock_init3(uint16_t type, uint8_t proto, > Looks like it'd be better keeping current order. Move osmo_sock_init3 above and leave the _ofd here. Done https://gerrit.osmocom.org/c/libosmocore/+/19143/2/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19143/2/src/socket.c at 448 PS2, Line 448: #define OSMO_SOCKADDR_TO_STR(sockaddr) \ > Ack Done https://gerrit.osmocom.org/c/libosmocore/+/19143/2/src/socket.c at 451 PS2, Line 451: strcpy(sastr.ip, "Invalid IP") > Ack Done https://gerrit.osmocom.org/c/libosmocore/+/19143/2/src/socket.c at 453 PS2, Line 453: int osmo_sock_init3(uint16_t type, uint8_t proto, > Ack Done https://gerrit.osmocom.org/c/libosmocore/+/19143/2/src/socket.c at 931 PS2, Line 931: return osmo_fd_init_ofd(ofd, osmo_sock_init3(type, proto, local, remote, flags)); > It's not a problem, if osmo_sock_init3() fails, osmo_fd_init_ofd() will return immediately. [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 01 Aug 2020 20:15:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:16:21 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19141 ) Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... Patch Set 8: Code-Review-1 @laforge: I don't have any idea how I should handle the EMBEDDED. Any ideas? I don't know enough how libosmocore is used on EMBEDDED. While looking into socket.h, if EMBEDDED it doesn't include . But should be socket.h used at all on EMBEDDED? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 01 Aug 2020 20:16:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 1 20:54:25 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:54:25 +0000 Subject: Change in osmo-ci[master]: ansible/docker: set overlayfs2 and ipv6 References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19495 ) Change subject: ansible/docker: set overlayfs2 and ipv6 ...................................................................... ansible/docker: set overlayfs2 and ipv6 overlayfs2 should be the default anyway. Enable it on all hosts, since it was enabled on older hosts. Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e --- A ansible/roles/docker/files/daemon.json A ansible/roles/docker/handlers/main.yml M ansible/roles/docker/tasks/main.yml 3 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/95/19495/1 diff --git a/ansible/roles/docker/files/daemon.json b/ansible/roles/docker/files/daemon.json new file mode 100644 index 0000000..e08a463 --- /dev/null +++ b/ansible/roles/docker/files/daemon.json @@ -0,0 +1,5 @@ +{ + "ipv6": true, + "storage-driver": "overlay2", + "fixed-cidr-v6": "fd02:db8:1::/64" +} diff --git a/ansible/roles/docker/handlers/main.yml b/ansible/roles/docker/handlers/main.yml new file mode 100644 index 0000000..06f7c61 --- /dev/null +++ b/ansible/roles/docker/handlers/main.yml @@ -0,0 +1,6 @@ +--- + +- name: restart docker + service: + name: docker + state: restarted diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index 813b5ac..6ffe1af 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -38,3 +38,9 @@ hour: '*/3' user: "{{ jenkins_user }}" job: "test -x /home/{{ jenkins_user }}/osmo-ci/scripts/docker-cleanup.sh && /home/{{ jenkins_user }}/osmo-ci/scripts/docker-cleanup.sh >/dev/null" + +- name: copy daemon.json to support ipv6 + copy: + src: daemon.json + dest: /etc/docker/daemon.json + notify: restart docker -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e Gerrit-Change-Number: 19495 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 Sat Aug 1 20:58:28 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 1 Aug 2020 20:58:28 +0000 Subject: Change in osmo-ci[master]: ansible/docker: set overlayfs2 and ipv6 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19495 ) Change subject: ansible/docker: set overlayfs2 and ipv6 ...................................................................... Patch Set 1: Verified+1 Tested with `ansible-playbook -i hosts -t docker setup-jenkins-slave.yml -C -D` (-C => check, -D diff). So no changes, but shows the difference. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e Gerrit-Change-Number: 19495 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sat, 01 Aug 2020 20:58: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 Sat Aug 1 21:19:19 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 21:19:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f25dc74b084_67502ac3bb5765f8773493@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 229s] building additional files... [ 229s] checking if compiling is necessary... [ 229s] the output file doesn't exist [ 229s] pdflatex -interaction=batchmode test-usermanual.tex [ 229s] pdflatex failed [ 229s] test-usermanual.tex:7013: pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pdfstartlink. [ 229s] test-usermanual.tex:7013: leading text: {\bf E [ 229s] [ 229s] A possible reason for transformation failure is invalid DocBook [ 229s] (as reported by xmllint) [ 229s] [ 229s] Error: pdflatex compilation failed [ 229s] [ 229s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 229s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 229s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 229s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 229s] make[1]: *** [Makefile:362: all] Error 2 [ 229s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 229s] dh_auto_build: error: make -j1 returned exit code 2 [ 229s] make: *** [debian/rules:5: binary] Error 25 [ 229s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 229s] ### VM INTERACTION START ### [ 230s] Powering off. [ 230s] [ 220.293213] reboot: Power down [ 230s] ### VM INTERACTION END ### [ 231s] [ 231s] goat03 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Sat Aug 1 21:19:05 UTC 2020. [ 231s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 1 21:22:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 21:22:10 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f25dd0c913c1_67502ac3bb5765f8774055@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 119s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 119s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 119s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 119s] | | [ 119s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 119s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 119s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 119s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 119s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 119s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 119s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 119s] cc1: all warnings being treated as errors [ 119s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 119s] make[3]: *** Waiting for unfinished jobs.... [ 119s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 119s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] make[1]: *** [Makefile:166: all] Error 2 [ 119s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 119s] make: *** [debian/rules:9: build] Error 25 [ 119s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 119s] ### VM INTERACTION START ### [ 122s] [ 110.109345] sysrq: SysRq : Power Off [ 122s] [ 110.115995] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] lamb18 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 21:22:08 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 1 21:22:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Aug 2020 21:22:45 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f25dd26bdbc5_67502ac3bb5765f87742c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 124s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 124s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 124s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 124s] | | [ 124s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 124s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 124s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 124s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 124s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 124s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 124s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 124s] cc1: all warnings being treated as errors [ 124s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 124s] make[3]: *** Waiting for unfinished jobs.... [ 124s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 124s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[1]: *** [Makefile:166: all] Error 2 [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 124s] make: *** [debian/rules:9: build] Error 25 [ 124s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 124s] ### VM INTERACTION START ### [ 127s] [ 114.609869] sysrq: SysRq : Power Off [ 128s] [ 114.614572] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] lamb51 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 1 21:22:35 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Aug 2 01:26:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 2 Aug 2020 01:26:31 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: add test case 29: TCH/F -> TCH/H References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19496 ) Change subject: handover_test.c: add test case 29: TCH/F -> TCH/H ...................................................................... handover_test.c: add test case 29: TCH/F -> TCH/H Change-Id: I5439beec4d295a8acaa1c49a0fa575dc2f7b973d --- M tests/handover/handover_test.c M tests/testsuite.at 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/19496/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index edc3219..f9bafe5 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1286,6 +1286,29 @@ NULL }; +static char *test_case_29[] = { + "2", + + "Congestion check: Balancing congestion by handover TCH/F -> TCH/H\n\n" + "One BTS, and TCH/F are considered congested, TCH/H are not.\n" + , + "create-bts", "1", + "set-min-free", "0", "TCH/F", "3", + "set-min-free", "0", "TCH/H", "0", + "create-ms", "0", "TCH/F", "AMR", + "create-ms", "0", "TCH/F", "AMR", + "create-ms", "0", "TCH/H", "AMR", + "meas-rep", "0", "30","0", "1","0","30", + "expect-no-chan", + "congestion-check", + "expect-chan", "0", "5", + "ack-chan", + "expect-ho", "0", "1", + "ho-complete", + NULL +}; + + static char **test_cases[] = { test_case_0, test_case_1, @@ -1316,6 +1339,7 @@ test_case_26, test_case_27, test_case_28, + test_case_29, }; static const struct log_info_cat log_categories[] = { diff --git a/tests/testsuite.at b/tests/testsuite.at index 1c43249..a0d85ce 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -224,3 +224,9 @@ cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 28], [], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([handover test 29]) +AT_KEYWORDS([handover]) +cat $abs_srcdir/handover/handover_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/handover/handover_test 29], [], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5439beec4d295a8acaa1c49a0fa575dc2f7b973d Gerrit-Change-Number: 19496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 2 01:38:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 01:38:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2619096bce8_67502ac3bb5765f87905a4@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] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 162s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 162s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 162s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 162s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 162s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 162s] collect2: error: ld returned 1 exit status [ 162s] % [ 162s] make[2]: *** [Makefile:234: flash] Error 1 [ 162s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 162s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] dh_auto_build: error: make -j1 returned exit code 2 [ 162s] make: *** [debian/rules:16: build] Error 25 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] ### VM INTERACTION START ### [ 165s] [ 155.928401] sysrq: SysRq : Power Off [ 165s] [ 155.934682] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb59 failed "build simtrace2_0.7.0.60.859f.dsc" at Sun Aug 2 01:38:05 UTC 2020. [ 165s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 2 03:19:19 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 03:19:19 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2630d1caa86_67502ac3bb5765f8798924@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 80s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 80s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 80s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] | | [ 80s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 80s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 80s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 80s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 80s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 80s] 2425 | MHD_start_daemon (unsigned int flags, [ 80s] | ^~~~~~~~~~~~~~~~ [ 81s] cc1: all warnings being treated as errors [ 81s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 81s] make[3]: *** Waiting for unfinished jobs.... [ 81s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 81s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 81s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 81s] make[1]: *** [Makefile:166: all] Error 2 [ 81s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 81s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 81s] make: *** [debian/rules:9: build] Error 25 [ 81s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 81s] ### VM INTERACTION START ### [ 84s] [ 73.862878] sysrq: SysRq : Power Off [ 84s] [ 73.866412] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] wildcard2 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 03:19:06 UTC 2020. [ 84s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 2 03:20:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 03:20:10 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2630f0798f9_67502ac3bb5765f879927c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 111s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 111s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 111s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 111s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 111s] | | [ 111s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 111s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 111s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 111s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 111s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 111s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 111s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 111s] cc1: all warnings being treated as errors [ 111s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 111s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 111s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 111s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 111s] make[1]: *** [Makefile:166: all] Error 2 [ 111s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 111s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 111s] make: *** [debian/rules:9: build] Error 25 [ 111s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 111s] ### VM INTERACTION START ### [ 114s] [ 95.008670] sysrq: SysRq : Power Off [ 114s] [ 95.013787] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] cloud128 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 03:20:01 UTC 2020. [ 115s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 2 04:35:53 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 04:35:53 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2642c2a04f0_67502ac3bb5765f8805230@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 57s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 57s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 57s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 57s] | | [ 57s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 57s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 57s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 57s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 57s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 57s] 2425 | MHD_start_daemon (unsigned int flags, [ 57s] | ^~~~~~~~~~~~~~~~ [ 57s] cc1: all warnings being treated as errors [ 57s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 57s] make[3]: *** Waiting for unfinished jobs.... [ 57s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 57s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 57s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 57s] make[1]: *** [Makefile:166: all] Error 2 [ 57s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 57s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 57s] make: *** [debian/rules:9: build] Error 25 [ 57s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 57s] ### VM INTERACTION START ### [ 60s] [ 53.369917] sysrq: SysRq : Power Off [ 60s] [ 53.371208] reboot: Power down [ 60s] ### VM INTERACTION END ### [ 60s] [ 60s] build75 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 04:35:39 UTC 2020. [ 60s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 2 04:38:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 04:38:27 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f264356537a9_67502ac3bb5765f880547c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 117s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 117s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 117s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 117s] | | [ 117s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 117s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 117s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 117s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 117s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 117s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 117s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 118s] cc1: all warnings being treated as errors [ 118s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 118s] make[3]: *** Waiting for unfinished jobs.... [ 118s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 118s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] make[1]: *** [Makefile:166: all] Error 2 [ 118s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 118s] make: *** [debian/rules:9: build] Error 25 [ 118s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 118s] ### VM INTERACTION START ### [ 121s] [ 108.631664] sysrq: SysRq : Power Off [ 121s] [ 108.639000] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] lamb52 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 04:38:13 UTC 2020. [ 121s] -- 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 Aug 2 06:45:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 06:45:23 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: add test case 29: TCH/F -> TCH/H In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19496 ) Change subject: handover_test.c: add test case 29: TCH/F -> TCH/H ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5439beec4d295a8acaa1c49a0fa575dc2f7b973d Gerrit-Change-Number: 19496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Aug 2020 06:45:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:00:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:00:25 +0000 Subject: Change in gapk[master]: gapk: Implemnet optional looping/rewinding of input files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19494 ) Change subject: gapk: Implemnet optional looping/rewinding of input files ...................................................................... Patch Set 1: Code-Review-1 the problem here is that this works fine for GSM, but it falis for '.amr' files, as they have a header, and handling of the header is done only in the main application, and not in the processing queue. The length of the header (gs->opts.fmt_in->header) is not available within pq_file.c, so I don't know to which position to seek :/ -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 07:00:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:03:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:03:43 +0000 Subject: Change in gapk[master]: gapk: Implemnet optional looping/rewinding of input files In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/gapk/+/19494 to look at the new patch set (#2). Change subject: gapk: Implemnet optional looping/rewinding of input files ...................................................................... gapk: Implemnet optional looping/rewinding of input files Together with the recently-added throttling, this can be useful to generate a continuous stream of RTP data from an input file. Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 --- M include/osmocom/gapk/procqueue.h M src/app_osmo_gapk.c M src/pq_file.c M tests/io/pq_file_test.c 4 files changed, 27 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/94/19494/2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:04:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:04:00 +0000 Subject: Change in gapk[master]: gapk: Implement optional looping/rewinding of input files In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/gapk/+/19494 to look at the new patch set (#3). Change subject: gapk: Implement optional looping/rewinding of input files ...................................................................... gapk: Implement optional looping/rewinding of input files Together with the recently-added throttling, this can be useful to generate a continuous stream of RTP data from an input file. Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 --- M include/osmocom/gapk/procqueue.h M src/app_osmo_gapk.c M src/pq_file.c M tests/io/pq_file_test.c 4 files changed, 27 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/94/19494/3 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:04:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:04:28 +0000 Subject: Change in gapk[master]: gapk: Implement optional looping/rewinding of input files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19494 ) Change subject: gapk: Implement optional looping/rewinding of input files ...................................................................... Patch Set 3: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I2d552695dfb4cc96039838e79e0f5ae25a6737c8 Gerrit-Change-Number: 19494 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 07:04:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:05:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:05:10 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: add test case 29: TCH/F -> TCH/H In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19496 ) Change subject: handover_test.c: add test case 29: TCH/F -> TCH/H ...................................................................... handover_test.c: add test case 29: TCH/F -> TCH/H Change-Id: I5439beec4d295a8acaa1c49a0fa575dc2f7b973d --- M tests/handover/handover_test.c M tests/testsuite.at 2 files changed, 30 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index edc3219..f9bafe5 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1286,6 +1286,29 @@ NULL }; +static char *test_case_29[] = { + "2", + + "Congestion check: Balancing congestion by handover TCH/F -> TCH/H\n\n" + "One BTS, and TCH/F are considered congested, TCH/H are not.\n" + , + "create-bts", "1", + "set-min-free", "0", "TCH/F", "3", + "set-min-free", "0", "TCH/H", "0", + "create-ms", "0", "TCH/F", "AMR", + "create-ms", "0", "TCH/F", "AMR", + "create-ms", "0", "TCH/H", "AMR", + "meas-rep", "0", "30","0", "1","0","30", + "expect-no-chan", + "congestion-check", + "expect-chan", "0", "5", + "ack-chan", + "expect-ho", "0", "1", + "ho-complete", + NULL +}; + + static char **test_cases[] = { test_case_0, test_case_1, @@ -1316,6 +1339,7 @@ test_case_26, test_case_27, test_case_28, + test_case_29, }; static const struct log_info_cat log_categories[] = { diff --git a/tests/testsuite.at b/tests/testsuite.at index 1c43249..a0d85ce 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -224,3 +224,9 @@ cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 28], [], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([handover test 29]) +AT_KEYWORDS([handover]) +cat $abs_srcdir/handover/handover_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/handover/handover_test 29], [], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5439beec4d295a8acaa1c49a0fa575dc2f7b973d Gerrit-Change-Number: 19496 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 Sun Aug 2 07:06:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:06:45 +0000 Subject: Change in osmocom-bb[master]: Implemented fb_bw8_line. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: Implemented fb_bw8_line. ...................................................................... Patch Set 1: Code-Review-1 unrelated whitespace changes / code formatting :/ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 07:06:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:07:19 +0000 Subject: Change in osmocom-bb[master]: Initial commit for the game Snake. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19484 ) Change subject: Initial commit for the game Snake. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/19484/1/src/target/firmware/apps/snake_game/main.c File src/target/firmware/apps/snake_game/main.c: https://gerrit.osmocom.org/c/osmocom-bb/+/19484/1/src/target/firmware/apps/snake_game/main.c at 94 PS1, Line 94: bl_level(255); tab vs space -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6a409074285fda90f966b1727c9c0f068dd050d3 Gerrit-Change-Number: 19484 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 07:07:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 07:11:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:11:07 +0000 Subject: Change in osmocom-bb[master]: Adjusted coding style. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19489 ) Change subject: Adjusted coding style. ...................................................................... Patch Set 1: I think this should be part of the initial commit. If its easier, I think the patch series could be restructured as follows: * one correctly formatted for each logical functional change to the existing code / infrastructure (additional FB function, power button handling, ...) * one squashed commit adding the snake program, it's incremental fixes and coding style correction -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9b5250579290b6eb1e33d446e9fc7d2c082c4002 Gerrit-Change-Number: 19489 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 07:11: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 Sun Aug 2 07:53:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 07:53:36 +0000 Subject: Change in libosmo-abis[master]: move flip_buf_bits() from DAHDI to a shared flip.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19070 ) Change subject: move flip_buf_bits() from DAHDI to a shared flip.c ...................................................................... Patch Set 5: I finally did some benchmarking: reversing the bit-order in a 1 Mbyte sized buffer. * on a core-i7, the flip (lookup table) always seems to win, no matter how many iterations of buffer re-ordering: 1 iterations: flip=15396248, revb=19484348; revb = 126 % 10 iterations: flip=69081928, revb=162441630; revb = 235 % 100 iterations: flip=311541169, revb=580125967; revb = 186 % 1000 iterations: flip=2430175640, revb=5823932997; revb = 239 % * on an atom, the flip (lookup table) seems to win at a lower margin for all workloads except a single flip: 1 iterations: flip=20162864, revb=18311024; revb = 90 % 10 iterations: flip=150938160, revb=217883200; revb = 144 % 100 iterations: flip=1509970264, revb=1818844456; revb = 120 % 1000 iterations: flip=14332313768, revb=17541548328; revb = 122 % Now I'm a bit puzzled. Will try to measure with more realistic buffer sizes (100...1000 bytes) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8c6dc3eea921a73ebe65540aad0f0c0584d47e5a Gerrit-Change-Number: 19070 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 07:53: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 Sun Aug 2 08:00:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:00:26 +0000 Subject: Change in libosmo-abis[master]: move flip_buf_bits() from DAHDI to a shared flip.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19070 ) Change subject: move flip_buf_bits() from DAHDI to a shared flip.c ...................................................................... Patch Set 5: Atom: 100 bytes, 1 iterations: flip=2040, revb=3080; revb = 150 % 100 bytes, 10 iterations: flip=13736, revb=23016; revb = 167 % 100 bytes, 100 iterations: flip=128648, revb=555424; revb = 431 % 100 bytes, 1000 iterations: flip=1504312, revb=1742792; revb = 115 % 1024 bytes, 1 iterations: flip=12640, revb=22064; revb = 174 % 1024 bytes, 10 iterations: flip=126032, revb=291128; revb = 230 % 1024 bytes, 100 iterations: flip=1512752, revb=1655136; revb = 109 % 1024 bytes, 1000 iterations: flip=14168896, revb=17161000; revb = 121 % Core-i7: 100 bytes, 1 iterations: flip=876, revb=1628; revb = 185 % 100 bytes, 10 iterations: flip=6300, revb=12483; revb = 198 % 100 bytes, 100 iterations: flip=66452, revb=149565; revb = 225 % 100 bytes, 1000 iterations: flip=704073, revb=1711170; revb = 243 % 1024 bytes, 1 iterations: flip=8156, revb=15680; revb = 192 % 1024 bytes, 10 iterations: flip=63847, revb=158809; revb = 248 % 1024 bytes, 100 iterations: flip=704917, revb=1540430; revb = 218 % 1024 bytes, 1000 iterations: flip=6847601, revb=11063731; revb = 161 % 1048576 bytes, 1 iterations: flip=10002610, revb=9801927; revb = 97 % So I think we have a clear winner: the lookup table (flip). will submit related libosmocore changes. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8c6dc3eea921a73ebe65540aad0f0c0584d47e5a Gerrit-Change-Number: 19070 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 08:00:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 08:25:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:25:48 +0000 Subject: Change in libosmocore[master]: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf, u8} References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19497 ) Change subject: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} ...................................................................... bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} Benchmarking has shown that a look-up table based approach is much faster than the arithmetic approach we used so far. This is from a Core i7-6600U: 10 bytes, 1 iterations: flip=379, revb=5491; revb = 1448 % 10 bytes, 10 iterations: flip=728, revb=1517; revb = 208 % 10 bytes, 100 iterations: flip=2952, revb=9305; revb = 315 % 10 bytes, 1000 iterations: flip=26305, revb=90953; revb = 345 % 100 bytes, 1 iterations: flip=468, revb=1093; revb = 233 % 100 bytes, 10 iterations: flip=2634, revb=7418; revb = 281 % 100 bytes, 100 iterations: flip=23666, revb=70718; revb = 298 % 100 bytes, 1000 iterations: flip=237595, revb=900555; revb = 379 % 1024 bytes, 1 iterations: flip=3417, revb=11454; revb = 335 % 1024 bytes, 10 iterations: flip=33579, revb=92353; revb = 275 % 1024 bytes, 100 iterations: flip=555399, revb=1196228; revb = 215 % 1024 bytes, 1000 iterations: flip=3478271, revb=9227966; revb = 265 % 1048576 bytes, 1 iterations: flip=10189583, revb=7022193; revb = 68 % 1048576 bytes, 10 iterations: flip=19693347, revb=54389925; revb = 276 % 1048576 bytes, 100 iterations: flip=151308243, revb=454293151; revb = 300 % 1048576 bytes, 1000 iterations: flip=1390338439, revb=4429862642; revb = 318 % where 'revb' is the old arithmetic approach, and 'flip' the new look-up-table approach. In our usual cases of 100..1024 bytes in a single iteration, the old code takes 233..335% of the look-up table. Benchmarks on an Atom E6xx also show improvements except in one situation (a single iteration over one 1MB large buffer). 10 bytes, 1 iterations: flip=416, revb=9184; revb = 2207 % 10 bytes, 10 iterations: flip=1960, revb=4024; revb = 205 % 10 bytes, 100 iterations: flip=13624, revb=32408; revb = 237 % 10 bytes, 1000 iterations: flip=160656, revb=361784; revb = 225 % 100 bytes, 1 iterations: flip=3536, revb=4952; revb = 140 % 100 bytes, 10 iterations: flip=12960, revb=20912; revb = 161 % 100 bytes, 100 iterations: flip=122448, revb=215152; revb = 175 % 100 bytes, 1000 iterations: flip=1204928, revb=1647680; revb = 136 % 1024 bytes, 1 iterations: flip=12944, revb=23128; revb = 178 % 1024 bytes, 10 iterations: flip=126192, revb=239784; revb = 190 % 1024 bytes, 100 iterations: flip=1190184, revb=1491672; revb = 125 % 1024 bytes, 1000 iterations: flip=11865872, revb=15113872; revb = 127 % 1048576 bytes, 1 iterations: flip=16288272, revb=15925888; revb = 97 % 1048576 bytes, 10 iterations: flip=121957000, revb=157883384; revb = 129 % 1048576 bytes, 100 iterations: flip=1219264992, revb=1621265216; revb = 132 % 1048576 bytes, 1000 iterations: flip=12219520648, revb=15960035856; revb = 130 % Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e --- M src/bits.c 1 file changed, 32 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/19497/1 diff --git a/src/bits.c b/src/bits.c index 8837c1f..b78f112 100644 --- a/src/bits.c +++ b/src/bits.c @@ -226,6 +226,35 @@ return out_ofs + num_bits; } +/* look-up table for bit-reversal within a byte. Generated using: + int i,k; + for (i = 0 ; i < 256 ; i++) { + uint8_t sample = 0 ; + for (k = 0; k<8; k++) { + if ( i & 1 << k ) sample |= 0x80 >> k; + } + flip_table[i] = sample; + } + */ +static const uint8_t flip_table[259] = { + 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, + 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, + 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, + 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, + 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, + 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, + 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, + 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, + 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, + 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, + 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, + 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, + 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, + 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, + 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, + 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff, +}; + /*! generalized bit reversal function * \param[in] x the 32bit value to be reversed * \param[in] k the type of reversal requested @@ -265,16 +294,10 @@ /*! reverse the bit order in a byte * \param[in] x 8bit input value * \returns 8bit value where bits order has been reversed - * - * See Chapter 7 "Hackers Delight" */ uint32_t osmo_revbytebits_8(uint8_t x) { - x = (x & 0x55) << 1 | (x & 0xAA) >> 1; - x = (x & 0x33) << 2 | (x & 0xCC) >> 2; - x = (x & 0x0F) << 4 | (x & 0xF0) >> 4; - - return x; + return flip_table[x]; } /*! reverse bit-order of each byte in a buffer @@ -286,26 +309,9 @@ void osmo_revbytebits_buf(uint8_t *buf, int len) { unsigned int i; - unsigned int unaligned_cnt; - int len_remain = len; - unaligned_cnt = ((unsigned long)buf & 3); - for (i = 0; i < unaligned_cnt; i++) { - buf[i] = osmo_revbytebits_8(buf[i]); - len_remain--; - if (len_remain <= 0) - return; - } - - for (i = unaligned_cnt; i + 3 < len; i += 4) { - osmo_store32be(osmo_revbytebits_32(osmo_load32be(buf + i)), buf + i); - len_remain -= 4; - } - - for (i = len - len_remain; i < len; i++) { - buf[i] = osmo_revbytebits_8(buf[i]); - len_remain--; - } + for (i = 0; i < len; i++) + buf[i] = flip_table[buf[i]]; } /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e Gerrit-Change-Number: 19497 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 Aug 2 08:25:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:25:59 +0000 Subject: Change in libosmo-abis[master]: move flip_buf_bits() from DAHDI to a shared flip.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19070 ) Change subject: move flip_buf_bits() from DAHDI to a shared flip.c ...................................................................... Patch Set 5: See https://gerrit.osmocom.org/c/libosmocore/+/19497 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8c6dc3eea921a73ebe65540aad0f0c0584d47e5a Gerrit-Change-Number: 19070 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 08:25: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 Sun Aug 2 08:26:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:26:10 +0000 Subject: Change in libosmo-abis[master]: move flip_buf_bits() from DAHDI to a shared flip.c In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19070 ) Change subject: move flip_buf_bits() from DAHDI to a shared flip.c ...................................................................... Abandoned superseded by https://gerrit.osmocom.org/c/libosmocore/+/19497 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8c6dc3eea921a73ebe65540aad0f0c0584d47e5a Gerrit-Change-Number: 19070 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 08:49:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:49:30 +0000 Subject: Change in libosmo-abis[master]: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19498 ) Change subject: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 ...................................................................... e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 This slipped through the cracks as jenkins so far doesn't build with --enable-e1d support (fixed in a separate patch). Change-Id: I505331a4a9430001b049e9f5cc36abf4ce4ca19e --- M include/internal.h M src/input/dahdi.c M src/input/e1d.c 3 files changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/98/19498/1 diff --git a/include/internal.h b/include/internal.h index 8a5aa2e..aeca02f 100644 --- a/include/internal.h +++ b/include/internal.h @@ -3,6 +3,9 @@ #include +/* Amount of data to write to a B-channel in every write() call */ +#define D_BCHAN_TX_GRAN 160 + struct osmo_fd; struct e1inp_sign_link; struct e1inp_ts; diff --git a/src/input/dahdi.c b/src/input/dahdi.c index 8cebac3..0cbf9da 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -25,6 +25,7 @@ */ #include "config.h" +#include "internal.h" #include #include @@ -355,7 +356,6 @@ return start; } -#define D_BCHAN_TX_GRAN 160 /* write to a B channel TS */ static int handle_tsX_write(struct osmo_fd *bfd) { diff --git a/src/input/e1d.c b/src/input/e1d.c index 3a2f385..be844d5 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -23,6 +23,7 @@ */ #include "config.h" +#include "internal.h" #ifdef HAVE_E1D @@ -245,7 +246,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); @@ -275,7 +276,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); @@ -298,7 +299,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_RAW, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_RAW, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I505331a4a9430001b049e9f5cc36abf4ce4ca19e Gerrit-Change-Number: 19498 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 Aug 2 08:49:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:49:30 +0000 Subject: Change in libosmo-abis[master]: contrib/jenkins.sh: Test builds with --enable-e1d References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19499 ) Change subject: contrib/jenkins.sh: Test builds with --enable-e1d ...................................................................... contrib/jenkins.sh: Test builds with --enable-e1d We so far didn't include the osmo-e1d e1_input driver during compile testing, let's change that. Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da --- M contrib/jenkins.sh 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/99/19499/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index a465d5a..c8f3b60 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -20,6 +20,7 @@ verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") osmo-build-dep.sh libosmocore "" --disable-doxygen +osmo-build-dep.sh osmo-e1d export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" export LD_LIBRARY_PATH="$inst/lib" @@ -33,7 +34,7 @@ set -x autoreconf --install --force -./configure --enable-sanitize --enable-werror +./configure --enable-sanitize --enable-werror --enable-e1d $MAKE $PARALLEL_MAKE $MAKE distcheck \ || cat-testlogs.sh -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da Gerrit-Change-Number: 19499 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 Aug 2 08:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:49:32 +0000 Subject: Change in libosmo-abis[master]: dahdi: Use osmo_revbytebits_buf() instead of local flip table References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19500 ) Change subject: dahdi: Use osmo_revbytebits_buf() instead of local flip table ...................................................................... dahdi: Use osmo_revbytebits_buf() instead of local flip table We've had osmo_revbytebits_buf() in libosmocore for ages. As it recently turned out, the flip_bits[] lookup table approach implemented here is faster at least on x86 systems of the last decade or so. As of Change-Id I25029fe7e54c92979fb0119992fb8dc167e1536e in libosmocore, it has been migrated to the lookup table approach. This means there's no performance penalty of migrating to using it, and hence no reason whatsoever to have a private implementation here. Change-Id: I285a87a9fc6abae7d8b47923a46cd082f46829f8 --- M src/input/dahdi.c 1 file changed, 8 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/00/19500/1 diff --git a/src/input/dahdi.c b/src/input/dahdi.c index 0cbf9da..bf6da3e 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -329,33 +329,6 @@ static int invertbits = 1; -static uint8_t flip_table[256]; - -static void init_flip_bits(void) -{ - int i,k; - - for (i = 0 ; i < 256 ; i++) { - uint8_t sample = 0 ; - for (k = 0; k<8; k++) { - if ( i & 1 << k ) sample |= 0x80 >> k; - } - flip_table[i] = sample; - } -} - -static uint8_t * flip_buf_bits ( uint8_t * buf , int len) -{ - int i; - uint8_t * start = buf; - - for (i = 0 ; i < len; i++) { - buf[i] = flip_table[(uint8_t)buf[i]]; - } - - return start; -} - /* write to a B channel TS */ static int handle_tsX_write(struct osmo_fd *bfd) { @@ -376,9 +349,8 @@ LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN TX: %s\n", osmo_hexdump(tx_buf, D_BCHAN_TX_GRAN)); - if (invertbits) { - flip_buf_bits(tx_buf, ret); - } + if (invertbits) + osmo_revbytebits_buf(tx_buf, ret); ret = write(bfd->fd, tx_buf, ret); if (ret < D_BCHAN_TX_GRAN) @@ -407,9 +379,8 @@ return ret; } - if (invertbits) { - flip_buf_bits(msg->data, ret); - } + if (invertbits) + osmo_revbytebits_buf(msg->data, ret); msgb_put(msg, ret); @@ -447,9 +418,8 @@ LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len)); - if (0/*invertbits*/) { - flip_buf_bits(msg->data, msg->len); - } + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, msg->len); ret = write(bfd->fd, msg->data, msg->len); if (ret < msg->len) @@ -476,9 +446,8 @@ return ret; } - if (0/*invertbits*/) { - flip_buf_bits(msg->data, ret); - } + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, ret); msgb_put(msg, ret); @@ -763,8 +732,6 @@ int e1inp_dahdi_init(void) { - init_flip_bits(); - /* register the driver with the core */ return e1inp_driver_register(&dahdi_driver); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I285a87a9fc6abae7d8b47923a46cd082f46829f8 Gerrit-Change-Number: 19500 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 Aug 2 08:54:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:54:59 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Fix support for TRAU slots In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 to look at the new patch set (#6). Change subject: input/e1d: Fix support for TRAU slots ...................................................................... input/e1d: Fix support for TRAU slots Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 --- M src/input/e1d.c 1 file changed, 76 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/71/19071/6 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 Gerrit-Change-Number: 19071 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 Sun Aug 2 08:54:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 08:54:59 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Add missing "RAW" timeslot support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/19083 to look at the new patch set (#5). Change subject: input/e1d: Add missing "RAW" timeslot support ...................................................................... input/e1d: Add missing "RAW" timeslot support Change-Id: Ia4ef5fd40ce15f824a3cbfec533dde2169464c3b --- M src/input/e1d.c 1 file changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/83/19083/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia4ef5fd40ce15f824a3cbfec533dde2169464c3b Gerrit-Change-Number: 19083 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 Sun Aug 2 09:25:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:25:32 +0000 Subject: Change in libosmo-abis[master]: contrib/jenkins.sh: Test builds with --enable-e1d In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/19499 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: Test builds with --enable-e1d ...................................................................... contrib/jenkins.sh: Test builds with --enable-e1d We so far didn't include the osmo-e1d e1_input driver during compile testing, let's change that. Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da --- M contrib/jenkins.sh 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/99/19499/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da Gerrit-Change-Number: 19499 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:26:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:26:54 +0000 Subject: Change in libosmo-abis[master]: contrib/jenkins.sh: Test builds with --enable-e1d In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19499 ) Change subject: contrib/jenkins.sh: Test builds with --enable-e1d ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da Gerrit-Change-Number: 19499 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 09:26:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:26:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:26:56 +0000 Subject: Change in libosmo-abis[master]: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19498 ) Change subject: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I505331a4a9430001b049e9f5cc36abf4ce4ca19e Gerrit-Change-Number: 19498 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 09:26:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:27:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:27:03 +0000 Subject: Change in libosmo-abis[master]: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19498 ) Change subject: e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 ...................................................................... e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 This slipped through the cracks as jenkins so far doesn't build with --enable-e1d support (fixed in a separate patch). Change-Id: I505331a4a9430001b049e9f5cc36abf4ce4ca19e --- M include/internal.h M src/input/dahdi.c M src/input/e1d.c 3 files changed, 8 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/internal.h b/include/internal.h index 8a5aa2e..aeca02f 100644 --- a/include/internal.h +++ b/include/internal.h @@ -3,6 +3,9 @@ #include +/* Amount of data to write to a B-channel in every write() call */ +#define D_BCHAN_TX_GRAN 160 + struct osmo_fd; struct e1inp_sign_link; struct e1inp_ts; diff --git a/src/input/dahdi.c b/src/input/dahdi.c index 8cebac3..0cbf9da 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -25,6 +25,7 @@ */ #include "config.h" +#include "internal.h" #include #include @@ -355,7 +356,6 @@ return start; } -#define D_BCHAN_TX_GRAN 160 /* write to a B channel TS */ static int handle_tsX_write(struct osmo_fd *bfd) { diff --git a/src/input/e1d.c b/src/input/e1d.c index 3a2f385..be844d5 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -23,6 +23,7 @@ */ #include "config.h" +#include "internal.h" #ifdef HAVE_E1D @@ -245,7 +246,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); @@ -275,7 +276,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); @@ -298,7 +299,7 @@ } if (bfd->fd <= 0) { bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts, - E1DP_TSMODE_RAW, D_TSX_ALLOC_SIZE); + E1DP_TSMODE_RAW, D_BCHAN_TX_GRAN); } if (bfd->fd < 0) { LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I505331a4a9430001b049e9f5cc36abf4ce4ca19e Gerrit-Change-Number: 19498 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:27:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:27:03 +0000 Subject: Change in libosmo-abis[master]: contrib/jenkins.sh: Test builds with --enable-e1d In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19499 ) Change subject: contrib/jenkins.sh: Test builds with --enable-e1d ...................................................................... contrib/jenkins.sh: Test builds with --enable-e1d We so far didn't include the osmo-e1d e1_input driver during compile testing, let's change that. Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da --- M contrib/jenkins.sh 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index a465d5a..727cffe 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -23,6 +23,9 @@ export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +osmo-build-dep.sh osmo-e1d set +x echo @@ -33,7 +36,7 @@ set -x autoreconf --install --force -./configure --enable-sanitize --enable-werror +./configure --enable-sanitize --enable-werror --enable-e1d $MAKE $PARALLEL_MAKE $MAKE distcheck \ || cat-testlogs.sh -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bb876f9f3aebbad80a328b5ebff6e156c3db8da Gerrit-Change-Number: 19499 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:30:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:30:44 +0000 Subject: Change in libosmocore[master]: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf, u8} 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/+/19497 to look at the new patch set (#2). Change subject: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} ...................................................................... bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} Benchmarking has shown that a look-up table based approach is much faster than the arithmetic approach we used so far. This is from a Core i7-6600U: 10 bytes, 1 iterations: flip=379, revb=5491; revb = 1448 % 10 bytes, 10 iterations: flip=728, revb=1517; revb = 208 % 10 bytes, 100 iterations: flip=2952, revb=9305; revb = 315 % 10 bytes, 1000 iterations: flip=26305, revb=90953; revb = 345 % 100 bytes, 1 iterations: flip=468, revb=1093; revb = 233 % 100 bytes, 10 iterations: flip=2634, revb=7418; revb = 281 % 100 bytes, 100 iterations: flip=23666, revb=70718; revb = 298 % 100 bytes, 1000 iterations: flip=237595, revb=900555; revb = 379 % 1024 bytes, 1 iterations: flip=3417, revb=11454; revb = 335 % 1024 bytes, 10 iterations: flip=33579, revb=92353; revb = 275 % 1024 bytes, 100 iterations: flip=555399, revb=1196228; revb = 215 % 1024 bytes, 1000 iterations: flip=3478271, revb=9227966; revb = 265 % 1048576 bytes, 1 iterations: flip=10189583, revb=7022193; revb = 68 % 1048576 bytes, 10 iterations: flip=19693347, revb=54389925; revb = 276 % 1048576 bytes, 100 iterations: flip=151308243, revb=454293151; revb = 300 % 1048576 bytes, 1000 iterations: flip=1390338439, revb=4429862642; revb = 318 % where 'revb' is the old arithmetic approach, and 'flip' the new look-up-table approach. In our usual cases of 100..1024 bytes in a single iteration, the old code takes 233..335% of the look-up table. Benchmarks on an Atom E6xx also show improvements except in one situation (a single iteration over one 1MB large buffer). 10 bytes, 1 iterations: flip=416, revb=9184; revb = 2207 % 10 bytes, 10 iterations: flip=1960, revb=4024; revb = 205 % 10 bytes, 100 iterations: flip=13624, revb=32408; revb = 237 % 10 bytes, 1000 iterations: flip=160656, revb=361784; revb = 225 % 100 bytes, 1 iterations: flip=3536, revb=4952; revb = 140 % 100 bytes, 10 iterations: flip=12960, revb=20912; revb = 161 % 100 bytes, 100 iterations: flip=122448, revb=215152; revb = 175 % 100 bytes, 1000 iterations: flip=1204928, revb=1647680; revb = 136 % 1024 bytes, 1 iterations: flip=12944, revb=23128; revb = 178 % 1024 bytes, 10 iterations: flip=126192, revb=239784; revb = 190 % 1024 bytes, 100 iterations: flip=1190184, revb=1491672; revb = 125 % 1024 bytes, 1000 iterations: flip=11865872, revb=15113872; revb = 127 % 1048576 bytes, 1 iterations: flip=16288272, revb=15925888; revb = 97 % 1048576 bytes, 10 iterations: flip=121957000, revb=157883384; revb = 129 % 1048576 bytes, 100 iterations: flip=1219264992, revb=1621265216; revb = 132 % 1048576 bytes, 1000 iterations: flip=12219520648, revb=15960035856; revb = 130 % Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e --- M src/bits.c 1 file changed, 32 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/19497/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e Gerrit-Change-Number: 19497 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:30:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:30:55 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Fix support for TRAU slots In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 to look at the new patch set (#8). Change subject: input/e1d: Fix support for TRAU slots ...................................................................... input/e1d: Fix support for TRAU slots Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 --- M src/input/e1d.c 1 file changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/71/19071/8 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 Gerrit-Change-Number: 19071 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:32:59 +0000 Subject: Change in libosmo-abis[master]: dahdi: Use osmo_revbytebits_buf() instead of local flip table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19500 ) Change subject: dahdi: Use osmo_revbytebits_buf() instead of local flip table ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I285a87a9fc6abae7d8b47923a46cd082f46829f8 Gerrit-Change-Number: 19500 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 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 Sun Aug 2 09:33:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:04 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Fix support for TRAU slots In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19071 ) Change subject: input/e1d: Fix support for TRAU slots ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 Gerrit-Change-Number: 19071 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 09: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 Sun Aug 2 09:33:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:07 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Add missing "RAW" timeslot support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19083 ) Change subject: input/e1d: Add missing "RAW" timeslot support ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia4ef5fd40ce15f824a3cbfec533dde2169464c3b Gerrit-Change-Number: 19083 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 09:33:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:33:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:11 +0000 Subject: Change in libosmo-abis[master]: e1_input_vty: Fix VTY help strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19104 ) Change subject: e1_input_vty: Fix VTY help strings ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4a5e503676618171e59550774892816b61adecae Gerrit-Change-Number: 19104 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 09:33:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:33:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:14 +0000 Subject: Change in libosmo-abis[master]: dahdi: Use osmo_revbytebits_buf() instead of local flip table In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19500 ) Change subject: dahdi: Use osmo_revbytebits_buf() instead of local flip table ...................................................................... dahdi: Use osmo_revbytebits_buf() instead of local flip table We've had osmo_revbytebits_buf() in libosmocore for ages. As it recently turned out, the flip_bits[] lookup table approach implemented here is faster at least on x86 systems of the last decade or so. As of Change-Id I25029fe7e54c92979fb0119992fb8dc167e1536e in libosmocore, it has been migrated to the lookup table approach. This means there's no performance penalty of migrating to using it, and hence no reason whatsoever to have a private implementation here. Change-Id: I285a87a9fc6abae7d8b47923a46cd082f46829f8 --- M src/input/dahdi.c 1 file changed, 8 insertions(+), 41 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/input/dahdi.c b/src/input/dahdi.c index 0cbf9da..bf6da3e 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -329,33 +329,6 @@ static int invertbits = 1; -static uint8_t flip_table[256]; - -static void init_flip_bits(void) -{ - int i,k; - - for (i = 0 ; i < 256 ; i++) { - uint8_t sample = 0 ; - for (k = 0; k<8; k++) { - if ( i & 1 << k ) sample |= 0x80 >> k; - } - flip_table[i] = sample; - } -} - -static uint8_t * flip_buf_bits ( uint8_t * buf , int len) -{ - int i; - uint8_t * start = buf; - - for (i = 0 ; i < len; i++) { - buf[i] = flip_table[(uint8_t)buf[i]]; - } - - return start; -} - /* write to a B channel TS */ static int handle_tsX_write(struct osmo_fd *bfd) { @@ -376,9 +349,8 @@ LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN TX: %s\n", osmo_hexdump(tx_buf, D_BCHAN_TX_GRAN)); - if (invertbits) { - flip_buf_bits(tx_buf, ret); - } + if (invertbits) + osmo_revbytebits_buf(tx_buf, ret); ret = write(bfd->fd, tx_buf, ret); if (ret < D_BCHAN_TX_GRAN) @@ -407,9 +379,8 @@ return ret; } - if (invertbits) { - flip_buf_bits(msg->data, ret); - } + if (invertbits) + osmo_revbytebits_buf(msg->data, ret); msgb_put(msg, ret); @@ -447,9 +418,8 @@ LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len)); - if (0/*invertbits*/) { - flip_buf_bits(msg->data, msg->len); - } + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, msg->len); ret = write(bfd->fd, msg->data, msg->len); if (ret < msg->len) @@ -476,9 +446,8 @@ return ret; } - if (0/*invertbits*/) { - flip_buf_bits(msg->data, ret); - } + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, ret); msgb_put(msg, ret); @@ -763,8 +732,6 @@ int e1inp_dahdi_init(void) { - init_flip_bits(); - /* register the driver with the core */ return e1inp_driver_register(&dahdi_driver); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I285a87a9fc6abae7d8b47923a46cd082f46829f8 Gerrit-Change-Number: 19500 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:33:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:14 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Fix support for TRAU slots In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19071 ) Change subject: input/e1d: Fix support for TRAU slots ...................................................................... input/e1d: Fix support for TRAU slots Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 --- M src/input/e1d.c 1 file changed, 75 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/input/e1d.c b/src/input/e1d.c index be844d5..38483c9 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -48,6 +48,8 @@ struct osmo_e1dp_client *g_e1d; +static int invertbits = 1; + /* pre-declaration */ extern struct e1inp_driver e1d_driver; static int e1d_want_write(struct e1inp_ts *e1i_ts); @@ -118,6 +120,73 @@ return 0; } +#define D_TSX_ALLOC_SIZE (D_BCHAN_TX_GRAN) + +static int +handle_ts_trau_write(struct osmo_fd *bfd) +{ + struct e1inp_line *line = bfd->data; + unsigned int ts_nr = bfd->priv_nr; + struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1]; + uint8_t tx_buf[D_BCHAN_TX_GRAN]; + struct subch_mux *mx = &e1i_ts->trau.mux; + int ret; + + ret = subchan_mux_out(mx, tx_buf, D_BCHAN_TX_GRAN); + + if (ret != D_BCHAN_TX_GRAN) { + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "Huh, got ret of %d\n", ret); + if (ret < 0) + return ret; + } + + LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN TX: %s\n", osmo_hexdump(tx_buf, D_BCHAN_TX_GRAN)); + + if (invertbits) + osmo_revbytebits_buf(tx_buf, ret); + + ret = write(bfd->fd, tx_buf, ret); + if (ret < D_BCHAN_TX_GRAN) + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "send returns %d instead of %d\n", + ret, D_BCHAN_TX_GRAN); + + return ret; +} + + +static int +handle_ts_trau_read(struct osmo_fd *bfd) +{ + struct e1inp_line *line = bfd->data; + unsigned int ts_nr = bfd->priv_nr; + struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1]; + struct msgb *msg = msgb_alloc(D_TSX_ALLOC_SIZE, "E1D Rx TSx"); + int ret; + + if (!msg) + return -ENOMEM; + + ret = read(bfd->fd, msg->data, D_TSX_ALLOC_SIZE); + if (ret < 0 || ret != D_TSX_ALLOC_SIZE) { + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "read error %d %s\n", ret, strerror(errno)); + return ret; + } + + if (invertbits) + osmo_revbytebits_buf(msg->data, ret); + + msgb_put(msg, ret); + + msg->l2h = msg->data; + LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n", osmo_hexdump(msgb_l2(msg), ret)); + ret = e1inp_rx_ts(e1i_ts, msg, 0, 0); + /* physical layer indicates that data has been sent, + * we thus can send some more data */ + ret = handle_ts_trau_write(bfd); + + return ret; +} + static void e1d_write_msg(struct msgb *msg, void *cbdata) @@ -150,6 +219,12 @@ if (what & BSC_FD_WRITE) ret = handle_ts_sign_write(bfd); break; + case E1INP_TS_TYPE_TRAU: + if (what & BSC_FD_READ) + ret = handle_ts_trau_read(bfd); + if (what & BSC_FD_WRITE) + ret = handle_ts_trau_write(bfd); + break; default: LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unknown/unsupported E1 TS type %u\n", e1i_ts->type); break; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2d7f85523089f4e1f2496d9836bced577eda4671 Gerrit-Change-Number: 19071 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:33:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:15 +0000 Subject: Change in libosmo-abis[master]: input/e1d: Add missing "RAW" timeslot support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19083 ) Change subject: input/e1d: Add missing "RAW" timeslot support ...................................................................... input/e1d: Add missing "RAW" timeslot support Change-Id: Ia4ef5fd40ce15f824a3cbfec533dde2169464c3b --- M src/input/e1d.c 1 file changed, 72 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/input/e1d.c b/src/input/e1d.c index 38483c9..beef93e 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -187,6 +187,72 @@ return ret; } +/* write to a raw channel TS */ +static int handle_ts_raw_write(struct osmo_fd *bfd) +{ + struct e1inp_line *line = bfd->data; + unsigned int ts_nr = bfd->priv_nr; + struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1]; + struct msgb *msg; + int ret; + + /* get the next msg for this timeslot */ + msg = e1inp_tx_ts(e1i_ts, NULL); + if (!msg) + return 0; + + if (msg->len != D_BCHAN_TX_GRAN) { + /* This might lead to a transmit underrun, as we call tx + * from the rx path, as there's no select/poll on dahdi + * */ + LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unexpected msg->len = %u, " + "expected %u\n", msg->len, D_BCHAN_TX_GRAN); + } + + LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len)); + + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, msg->len); + + ret = write(bfd->fd, msg->data, msg->len); + if (ret < msg->len) + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "send returns %d instead of %d\n", ret, msg->len); + msgb_free(msg); + + return ret; +} + +static int handle_ts_raw_read(struct osmo_fd *bfd) +{ + struct e1inp_line *line = bfd->data; + unsigned int ts_nr = bfd->priv_nr; + struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1]; + struct msgb *msg = msgb_alloc(D_TSX_ALLOC_SIZE, "E1D Raw TS"); + int ret; + + if (!msg) + return -ENOMEM; + + ret = read(bfd->fd, msg->data, D_TSX_ALLOC_SIZE); + if (ret < 0 || ret != D_TSX_ALLOC_SIZE) { + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "read error %d %s\n", ret, strerror(errno)); + return ret; + } + + if (0/*invertbits*/) + osmo_revbytebits_buf(msg->data, ret); + + msgb_put(msg, ret); + + msg->l2h = msg->data; + LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n", osmo_hexdump(msgb_l2(msg), ret)); + ret = e1inp_rx_ts(e1i_ts, msg, 0, 0); + /* physical layer indicates that data has been sent, + * we thus can send some more data */ + ret = handle_ts_raw_write(bfd); + + return ret; +} static void e1d_write_msg(struct msgb *msg, void *cbdata) @@ -225,6 +291,12 @@ if (what & BSC_FD_WRITE) ret = handle_ts_trau_write(bfd); break; + case E1INP_TS_TYPE_RAW: + if (what & BSC_FD_READ) + ret = handle_ts_raw_read(bfd); + if (what & BSC_FD_WRITE) + ret = handle_ts_raw_write(bfd); + break; default: LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unknown/unsupported E1 TS type %u\n", e1i_ts->type); break; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia4ef5fd40ce15f824a3cbfec533dde2169464c3b Gerrit-Change-Number: 19083 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 Sun Aug 2 09:33:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:33:15 +0000 Subject: Change in libosmo-abis[master]: e1_input_vty: Fix VTY help strings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19104 ) Change subject: e1_input_vty: Fix VTY help strings ...................................................................... e1_input_vty: Fix VTY help strings * HSL was never fully supported, not sure why it's in the help * E1D was neglected to add to the help string Change-Id: I4a5e503676618171e59550774892816b61adecae --- M src/e1_input_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved tnt: Looks good to me, but someone else must approve diff --git a/src/e1_input_vty.c b/src/e1_input_vty.c index 15f325f..0da1bc5 100644 --- a/src/e1_input_vty.c +++ b/src/e1_input_vty.c @@ -49,8 +49,8 @@ #define E1_DRIVER_HELP "mISDN supported E1 Card (kernel LAPD)\n" \ "mISDN supported E1 Card (userspace LAPD)\n" \ "DAHDI supported E1/T1/J1 Card\n" \ + "osmo-e1d supported E1 interface\n" \ "IPA TCP/IP input\n" \ - "HSL TCP/IP input\n" \ "Unix socket input\n" #define E1_LINE_HELP "Configure E1/T1/J1 Line\n" "Line Number\n" -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4a5e503676618171e59550774892816b61adecae Gerrit-Change-Number: 19104 Gerrit-PatchSet: 7 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 Aug 2 09:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:58:04 +0000 Subject: Change in libosmocore[master]: i460_mux: add callback to notify empty tx queue In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/libosmocore/+/19481 ) Change subject: i460_mux: add callback to notify empty tx queue ...................................................................... i460_mux: add callback to notify empty tx queue There is no way for the API user to know if the TX queue of the multiplexer runs empty. However, this is criticil since an empty TX queue will cause dropout of a TRAU frame, which can have quite severe effects to the receiving end. Lets add a callback that allows the APU user to insert appropiate idle frames or silent frames into the queue before it runs empty. Change-Id: I88a87724235fe50d55ce6215bb385c044072226e Related: OS#2547 --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c 2 files changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/19481/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I88a87724235fe50d55ce6215bb385c044072226e Gerrit-Change-Number: 19481 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 09:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:58:04 +0000 Subject: Change in libosmocore[master]: i460: Add back-pointer from sub-channel to timeslot References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19501 ) Change subject: i460: Add back-pointer from sub-channel to timeslot ...................................................................... i460: Add back-pointer from sub-channel to timeslot A user may want to walk back from a sub-channel to the timeslot to which it belongs. Change-Id: Id6e5e208c5daa63fd23ac719d62314622b5d0ed9 --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/19501/1 diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h index dd752db..e7ea9bd 100644 --- a/include/osmocom/gsm/i460_mux.h +++ b/include/osmocom/gsm/i460_mux.h @@ -62,6 +62,7 @@ }; struct osmo_i460_subchan { + struct osmo_i460_timeslot *ts; /* back-pointer */ enum osmo_i460_rate rate; /* 8/16/32/64k */ uint8_t bit_offset; /* bit offset inside each byte of the B-channel */ struct osmo_i460_subchan_demux demux; diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index dfd50e5..3b2a589 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -339,6 +339,7 @@ for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { struct osmo_i460_subchan *schan = &ts->schan[i]; + schan->ts = ts; subchan_reset(schan, true); } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id6e5e208c5daa63fd23ac719d62314622b5d0ed9 Gerrit-Change-Number: 19501 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 Aug 2 09:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 09:58:04 +0000 Subject: Change in libosmocore[master]: i460: pass more context to call-back functions References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19502 ) Change subject: i460: pass more context to call-back functions ...................................................................... i460: pass more context to call-back functions When calling a user-provided call-back function for the i460 mux or demux, always pass a pointer to the osmo_i460_subchan the callback relates to. This way, the user can walk the i460 data structures to obtain information about which mux/demux instances is calling. Change-Id: Id842c72ce371a67fe5df6694e195c281aaf607ab --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c M tests/i460_mux/i460_mux_test.c 3 files changed, 14 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/19502/1 diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h index e7ea9bd..8e39243 100644 --- a/include/osmocom/gsm/i460_mux.h +++ b/include/osmocom/gsm/i460_mux.h @@ -36,8 +36,12 @@ OSMO_I460_RATE_8k, }; -typedef void (*out_cb_bits_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); -typedef void (*out_cb_bytes_t)(void *user_data, const uint8_t *bytes, unsigned int num_bytes); +struct osmo_i460_subchan; + +typedef void (*out_cb_bits_t)(struct osmo_i460_subchan *schan, void *user_data, + const ubit_t *bits, unsigned int num_bits); +typedef void (*out_cb_bytes_t)(struct osmo_i460_subchan *schan, void *user_data, + const uint8_t *bytes, unsigned int num_bytes); struct osmo_i460_subchan_demux { /*! bit-buffer for output bits */ @@ -52,7 +56,7 @@ void *user_data; }; -typedef void (*in_cb_queue_empty_t)(void *user_data); +typedef void (*in_cb_queue_empty_t)(struct osmo_i460_subchan *schan, void *user_data); struct osmo_i460_subchan_mux { /*! list of to-be-transmitted message buffers */ diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index 3b2a589..320e781 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -69,14 +69,14 @@ if (demux->out_idx >= demux->out_bitbuf_size) { if (demux->out_cb_bits) - demux->out_cb_bits(demux->user_data, demux->out_bitbuf, demux->out_idx); + demux->out_cb_bits(schan, demux->user_data, demux->out_bitbuf, demux->out_idx); else { /* pack bits into bytes */ OSMO_ASSERT((demux->out_idx % 8) == 0); unsigned int num_bytes = demux->out_idx / 8; uint8_t bytes[num_bytes]; osmo_ubit2pbit(bytes, demux->out_bitbuf, demux->out_idx); - demux->out_cb_bytes(demux->user_data, bytes, num_bytes); + demux->out_cb_bytes(schan, demux->user_data, bytes, num_bytes); } demux->out_idx = 0; } @@ -137,11 +137,11 @@ schan = &ts->schan[0]; demux = &schan->demux; if (demux->out_cb_bytes) - demux->out_cb_bytes(demux->user_data, data, data_len); + demux->out_cb_bytes(schan, demux->user_data, data, data_len); else { ubit_t bits[data_len*8]; osmo_pbit2ubit(bits, data, data_len*8); - demux->out_cb_bits(demux->user_data, bits, data_len*8); + demux->out_cb_bits(schan, demux->user_data, bits, data_len*8); } return; } @@ -178,7 +178,7 @@ if (llist_empty(&mux->tx_queue)) { /* User code now has a last chance to put something into the queue. */ if (mux->in_cb_queue_empty) - mux->in_cb_queue_empty(mux->user_data); + mux->in_cb_queue_empty(schan, mux->user_data); /* If the queue is still empty, return idle bits */ if (llist_empty(&mux->tx_queue)) diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c index 53144fd..d63b2ae 100644 --- a/tests/i460_mux/i460_mux_test.c +++ b/tests/i460_mux/i460_mux_test.c @@ -3,7 +3,8 @@ #include -static void bits_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +static void bits_cb(struct osmo_i460_subchan *schan, void *user_data, + const ubit_t *bits, unsigned int num_bits) { char *str = user_data; printf("demux_bits_cb '%s': %s\n", str, osmo_ubit_dump(bits, num_bits)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id842c72ce371a67fe5df6694e195c281aaf607ab Gerrit-Change-Number: 19502 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 Aug 2 10:02:50 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 2 Aug 2020 10:02:50 +0000 Subject: Change in libosmocore[master]: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf, u8} In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19497 ) Change subject: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e Gerrit-Change-Number: 19497 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 10:02:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 10:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 2 Aug 2020 10:05:57 +0000 Subject: Change in gapk[master]: gapk: add optional throttling In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19493 ) Change subject: gapk: add optional throttling ...................................................................... Patch Set 2: Code-Review+1 lgtm -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 10:05:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 10:16:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 10:16:57 +0000 Subject: Change in libosmocore[master]: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf, u8} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19497 ) Change subject: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e Gerrit-Change-Number: 19497 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 10:16:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 10:17:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 10:17:09 +0000 Subject: Change in libosmocore[master]: i460_mux: add callback to notify empty tx queue In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19481 ) Change subject: i460_mux: add callback to notify empty tx queue ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I88a87724235fe50d55ce6215bb385c044072226e Gerrit-Change-Number: 19481 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 10:17:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 10:17:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 10:17:36 +0000 Subject: Change in libosmocore[master]: i460: Add back-pointer from sub-channel to timeslot In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19501 ) Change subject: i460: Add back-pointer from sub-channel to timeslot ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id6e5e208c5daa63fd23ac719d62314622b5d0ed9 Gerrit-Change-Number: 19501 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 10:17:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 10:18:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 10:18:10 +0000 Subject: Change in gapk[master]: gapk: add optional throttling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/19493 ) Change subject: gapk: add optional throttling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 02 Aug 2020 10: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 Sun Aug 2 10:18:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 10:18:13 +0000 Subject: Change in gapk[master]: gapk: add optional throttling In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/gapk/+/19493 ) Change subject: gapk: add optional throttling ...................................................................... gapk: add optional throttling When throttling is enabled, one voice frame will be processed every 20ms. This is useful for e.g. playback of a file as a RTP stream. Without this option, the entire file would generate a flood of RTP messages, rather than a continuous stream. Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c --- M src/app_osmo_gapk.c 1 file changed, 61 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/app_osmo_gapk.c b/src/app_osmo_gapk.c index 91647ee..1e4e9a0 100644 --- a/src/app_osmo_gapk.c +++ b/src/app_osmo_gapk.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -67,6 +68,7 @@ /* RTP payload type */ uint8_t rtp_pt_in, rtp_pt_out; + int throttle; int benchmark; int verbose; }; @@ -75,6 +77,8 @@ { struct gapk_options opts; struct osmo_gapk_pq *pq; + struct osmo_fd timerfd; /* for optional throttling */ + unsigned int num_frames; int exit; struct { @@ -139,6 +143,7 @@ fprintf(stdout, " -p --rtp-pt-in=TYPE\t\tRTP payload type for incoming frames\n"); fprintf(stdout, " -P --rtp-pt-out=TYPE\t\tRTP payload type for outgoing frames\n"); fprintf(stdout, " -b, --enable-benchmark\tEnable codec benchmarking\n"); + fprintf(stdout, " -t, --throttle\tEnable throttling (one codec frame every 20ms)\n"); fprintf(stdout, " -v, --verbose\t\t\tEnable debug messages\n"); fprintf(stdout, "\n"); @@ -211,10 +216,11 @@ {"rtp-pt-in", 1, 0, 'p'}, {"rtp-pt-out", 1, 0, 'P'}, {"enable-benchmark", 0, 0, 'b'}, + {"throttle", 0, 0, 't'}, {"verbose", 0, 0, 'v'}, {"help", 0, 0, 'h'}, }; - const char *short_options = "i:o:I:O:f:g:p:P:bvh" + const char *short_options = "i:o:I:O:f:g:p:P:btvh" #ifdef HAVE_ALSA "a:A:" #endif @@ -312,6 +318,10 @@ opt->benchmark = 1; break; + case 't': + opt->throttle = 1; + break; + case 'v': log_parse_category_mask(osmo_stderr_target, "DAPP"); opt->verbose = 1; @@ -668,22 +678,65 @@ } static int +timerfd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct gapk_state *gs = ofd->data; + uint64_t expire_count; + int rc; + + rc = read(ofd->fd, (void *)&expire_count, sizeof(expire_count)); + if (rc < 0 && errno == EAGAIN) + return 0; + OSMO_ASSERT(rc == sizeof(expire_count)); + + while (expire_count--) { + gs->num_frames++; + rc = osmo_gapk_pq_execute(gs->pq); + if (rc < 0) + gs->exit = true; + } + return 0; +} + +static int run(struct gapk_state *gs) { struct osmo_gapk_pq_item *item; - int rv, frames; + int rv; rv = osmo_gapk_pq_prepare(gs->pq); if (rv) return rv; - for (frames = 0; !gs->exit; frames++) { - rv = osmo_gapk_pq_execute(gs->pq); - if (rv) - break; + if (!gs->opts.throttle) { + for (gs->num_frames = 0; !gs->exit; gs->num_frames++) { + rv = osmo_gapk_pq_execute(gs->pq); + if (rv) + break; + } + } else { + /* setup timerfd based processing */ + const struct timespec interval = { + .tv_sec = 0, + .tv_nsec = 20*1000*1000, + }; + gs->timerfd.fd = -1; + rv = osmo_timerfd_setup(&gs->timerfd, timerfd_cb, gs); + OSMO_ASSERT(rv == 0); + rv = osmo_timerfd_schedule(&gs->timerfd, NULL, &interval); + OSMO_ASSERT(rv == 0); + + /* actual processing loop */ + while (!gs->exit) + osmo_select_main(0); + + /* cleanup */ + osmo_timerfd_disable(&gs->timerfd); + close(gs->timerfd.fd); + osmo_fd_unregister(&gs->timerfd); } - LOGP(DAPP, LOGL_NOTICE, "Processed %d frames\n", frames); + LOGP(DAPP, LOGL_NOTICE, "Processed %d frames\n", gs->num_frames); /* Wait for sink to process buffers */ item = llist_last_entry(&gs->pq->items, struct osmo_gapk_pq_item, list); @@ -693,7 +746,7 @@ continue; } - return frames > 0 ? 0 : rv; + return gs->num_frames > 0 ? 0 : rv; } -- To view, visit https://gerrit.osmocom.org/c/gapk/+/19493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: I0dcd4248cc800b82142722aa36a811f0657b3e0c Gerrit-Change-Number: 19493 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Aug 2 11:35:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 11:35:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19503 ) Change subject: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down ...................................................................... osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down On receipt of either SIGTERM or SIGINT the shutdown FSM initiates ramping down of the transmit power on Downlink. I noticed that for some reason osmo-bts-trx stops sending Downlink bursts during the process of ramping down. I also noticed the following imporatant message: DL1C NOTICE scheduler_trx.c:287 No more clock from transceiver despite the transceiver is still powered on and keeps sending the clock indications over the TRXC interface. As it turned out, the problem is that on receipt of either SIGTERM or SIGINT, we also raise the global 'quit' flag, so in the scheduler trx_sched_clock() stealthy stops handling the clock indications. Let's ensure that clock indications are handled regardless of the state of 'quit' flag, so the ramping down would work as expected. Change-Id: Ia71133d6f0b900e5e103595c83303a7cc5c06edf --- M src/common/main.c M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 1 insertion(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/19503/1 diff --git a/src/common/main.c b/src/common/main.c index 6d8088c..f4dc505 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -56,7 +56,7 @@ #include #include -int quit = 0; +static int quit = 0; static const char *config_file = "osmo-bts.cfg"; static int daemonize = 0; static int rt_prio = -1; diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fcd1eee..85f0e92 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -134,8 +134,6 @@ ts->tv_nsec = ts->tv_nsec % 1000000000; } -extern int quit; - /*! this is the timerfd-callback firing for every FN to be processed */ static int trx_fn_timer_cb(struct osmo_fd *ofd, unsigned int what) { @@ -274,9 +272,6 @@ unsigned int fn_caught_up = 0; const struct timespec interval = { .tv_sec = 0, .tv_nsec = GSM_TDMA_FN_DURATION_nS }; - if (quit) - return 0; - /* reset lost counter */ tcs->fn_without_clock_ind = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia71133d6f0b900e5e103595c83303a7cc5c06edf Gerrit-Change-Number: 19503 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 2 12:59:28 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 12:59:28 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f26b8c8d6af6_67502ac3bb5765f888162e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Raspbian_10/armv7l Package network:osmocom:nightly/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 895s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 906s] [ 77%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o [ 906s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_gui.cpp [ 909s] [ 77%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o [ 909s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_wxgui.cpp [ 924s] [ 78%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o [ 924s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_cmd.cpp [ 931s] [ 79%] Linking CXX executable ../bin/LimeSuiteGUI [ 932s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 932s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlAPI.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.20.01.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 937s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_store_8' [ 937s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_load_8' [ 937s] collect2: error: ld returned 1 exit status [ 937s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:990: bin/LimeSuiteGUI] Error 1 [ 937s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 937s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 937s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 937s] make[1]: *** [Makefile:133: all] Error 2 [ 937s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 937s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j2 returned exit code 2 [ 937s] make: *** [debian/rules:28: binary] Error 2 [ 937s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 937s] ### VM INTERACTION START ### [ 940s] [ 913.786459] sysrq: SysRq : Power Off [ 940s] [ 913.788082] reboot: Power down [ 940s] ### VM INTERACTION END ### [ 940s] [ 940s] armbuild02 failed "build limesuite_20.01.0-1.dsc" at Sun Aug 2 12:59:16 UTC 2020. [ 940s] -- 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 Aug 2 14:06:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:06:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor dummy burst scheduling In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19029 to look at the new patch set (#3). Change subject: osmo-bts-trx/scheduler: refactor dummy burst scheduling ...................................................................... osmo-bts-trx/scheduler: refactor dummy burst scheduling This change facilitates the upcoming freq. hopping implementation, in particular scheduling of dummy bursts on C0 with hopping time- slots. One problem is that we cannot know in advance, whether to send a dummy burst on a given timeslot unless all transceivers are processed. For example, trx#3 may want to send a normal burst on ARFCN of trx#0 (C0), while we have already sent a dummy burst... Another important aspect is that we shall not be sending dummy bursts on transceivers other than C0. Scheduling dummy bursts from _sched_dl_burst() in the context of a single hopping timeslot of a single transceiver leaves trx_sched_fn() no way to know whether it's a dummy burst or something else. Let's solve both problems by moving dummy burst scheduling logic from _sched_dl_burst() to trx_sched_fn(). Maintain C0 slot-mask in the inner (per-trx) loop, so that we can fill missing bursts with dummy bursts afterwards. Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Related: SYS#4868, OS#4546 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 29 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/19029/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Gerrit-Change-Number: 19029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:06:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:06:47 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19030 ) Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 02 Aug 2020 14:06:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:21:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:21:10 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 to look at the new patch set (#4). Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... osmo-bts-trx/scheduler: implement baseband frequency hopping The idea behind the baseband frequency hopping is quite simple: we have several RF carriers (transceivers) transmitting and receiving on fixed frequencies (just like in a regular multi-trx setup), and an additional burst routing layer between the schedulear and the transceiver interface (TRXD over UDP). Speaking in terms of the proposed implementation: - on Downlink, dlfh_route_br() calculates the ARFCN corresponding to the current TDMA frame number according to the hopping sequence parametets, and picks the transceiver with matching ARFCN; - on Uplink, ulfh_route_bi() iterates over the list of transceivers of the BTS, calculates the ARFCN corresponding to the received TDMA frame number and the hopping sequence parametets, and picks the one with matching expected ARFCN. In order to avoid frequent transceiver lookups on the Downlink path, dlfh_route_br() maintains a "cache" in the timeslot state structure. Unfortunately, this "cache" seems to be useless on the Uplink path, so ulfh_route_bi() always needs to lookup the matching transceiver for each burst received over the TRXD interface. It may also happen that the scheduler will be unable to route an Uplink or Downlink burst, e.g. due to inconsistent / incorrect hopping sequence parameters received from the BSC, or in case if a transceiver gets RF-locked by the BTS operator. Such events are logged as "FATAL" and aditionally signalled by the following osmo-bts-trx specific rate counters: - trx_sched:dl_fh_no_carrier (Downlink), and - trx_sched:ul_fh_no_carrier (Uplink). Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 6 files changed, 117 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/30/19030/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: 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 Sun Aug 2 14:21:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:21:10 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19031 to look at the new patch set (#4). Change subject: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING ...................................................................... osmo-bts-trx: indicate support of BTS_FEAT_HOPPING Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/31/19031/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Gerrit-Change-Number: 19031 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:22:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 14:22:47 +0000 Subject: Change in libosmo-abis[master]: trau_frame: New API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 to look at the new patch set (#9). Change subject: trau_frame: New API ...................................................................... trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/Makefile.am A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 4 files changed, 1,515 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/9 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:22:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 14:22:47 +0000 Subject: Change in libosmo-abis[master]: Add new TRAU frame sync code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 to look at the new patch set (#10). Change subject: Add new TRAU frame sync code ...................................................................... Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 710 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/10 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 14:22:48 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Introduce support for Downlink Time Alignment References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19504 ) Change subject: trau_frame: Introduce support for Downlink Time Alignment ...................................................................... trau_frame: Introduce support for Downlink Time Alignment In the uplink direction, we provide osmo_trau_frame_dl_ta_us() to determine the time alignment as requested by the CCU in the BTS. In the downlink direction, the TRAU frame encoder will perform time alignment as requested by the user in osmo_trau_frame.dl_ta_usec. Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e --- M include/osmocom/trau/trau_frame.h M src/trau/trau_frame.c 2 files changed, 132 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/04/19504/1 diff --git a/include/osmocom/trau/trau_frame.h b/include/osmocom/trau/trau_frame.h index 6784d1f..5f1d708 100644 --- a/include/osmocom/trau/trau_frame.h +++ b/include/osmocom/trau/trau_frame.h @@ -110,6 +110,9 @@ enum osmo_trau_frame_type type; enum osmo_trau_frame_direction dir; + /* timing alignment: 0 = no change; negative: less bits; positive: more bits */ + int dl_ta_usec; + ubit_t c_bits[MAX_C_BITS]; ubit_t d_bits[MAX_D_BITS]; ubit_t t_bits[MAX_T_BITS]; @@ -142,5 +145,7 @@ * \return number of bits encoded */ int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr); +/*! Determine the time alignment in us requested by CCU in a UL frame */ +int osmo_trau_frame_dl_ta_us(const struct osmo_trau_frame *fr); /* }@ */ diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index 72ea6ed..d5233f6 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -74,6 +74,14 @@ * New API; introduced in 2020 for use by osmo-mgw *********************************************************************************/ +/* Bits C21..C22 (16k) or C4..C5 (8k) */ +enum ts48060_amr_frame_classification { + TS48060_AMR_FC_SPEECH_GOOD = 0x3, + TS48060_AMR_FC_SPEECH_DEGRADED = 0x2, + TS48060_AMR_FC_SPEECH_BAD = 0x1, + TS48060_AMR_FC_NO_SPEECH = 0x0, +}; + /* 16k sub-slots */ static const ubit_t ft_fr_up_bits[5] = { 0, 0, 0, 1, 0 }; static const ubit_t ft_fr_down_bits[5] = { 1, 1, 1, 0, 0 }; @@ -110,19 +118,125 @@ #define T16_500us 8 /* 500 us = 8 bits */ #define T16_250us 4 /* 250 us = 4 bits */ +#define T8_250us 2 /* 250 us = 2 bits */ +#define T8_125us 1 /* 125 us = 1 bits */ + /* How many 16k bits to delay / advance (TS 48.060 Section 5.5.1.1.1) */ -static int fr_efr_alignment_bitcount(uint8_t c6_11) +static int trau_frame_16_ta_us(uint8_t c6_11) { if (c6_11 <= 0x27) - return c6_11 * T16_500us; /* delay frame N x 500us */ + return c6_11 * 500; /* delay frame N x 500us */ else if (c6_11 == 0x3e) - return T16_250us; /* delay frame 250us */ + return 250; /* delay frame 250us */ else if (c6_11 == 0x3f) - return -T16_250us; /* advance frame 250us */ + return -250; /* advance frame 250us */ else return 0; } +/* How many 8k bits to delay / advance (TS 48.061 Table 6.1) */ +static int trau_frame_8_ta_us(uint8_t c6_8) +{ + /* TA2..TA1..TA0 == C6..C7..C8 */ + switch (c6_8) { + case 0x7: + return 0; + case 0x6: + return -250; + case 0x5: + return 250; + case 0x3: + return 500; + case 0x4: + return 1000; + case 0x2: + return 2000; + case 0x1: + return 6000; + case 0: + return 9000; + default: + return 0; + } +} + +/*! Determine the time alignment in us requested by CCU in a UL frame */ +int osmo_trau_frame_dl_ta_us(const struct osmo_trau_frame *fr) +{ + uint8_t c6_11, c6_8, fc; + + /* timing alignment is only communicated from CCU to TRAU in UL */ + if (fr->dir == OSMO_TRAU_DIR_DL) + return 0; + + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + case OSMO_TRAU16_FT_HR: + case OSMO_TRAU16_FT_AMR: + c6_11 = (fr->c_bits[5] << 5) | (fr->c_bits[6] << 4) | (fr->c_bits[7] << 3) | + (fr->c_bits[8] << 2) | (fr->c_bits[9] << 1) | (fr->c_bits[10] << 0); + return trau_frame_16_ta_us(c6_11); + break; + + case OSMO_TRAU8_SPEECH: + c6_8 = (fr->c_bits[5] << 2) | (fr->c_bits[6] << 1) | (fr->c_bits[7] << 0); + return trau_frame_8_ta_us(c6_8); + break; + + case OSMO_TRAU8_AMR_LOW: + fc = (fr->c_bits[3] << 1) | (fr->c_bits[4] << 0); + if (fc == TS48060_AMR_FC_NO_SPEECH) { + c6_11 = (fr->c_bits[5] << 5) | (fr->c_bits[6] << 4) | (fr->c_bits[7] << 3) | + (fr->c_bits[8] << 2) | (fr->c_bits[9] << 1) | (fr->c_bits[10] << 0); + /* For AMR speech on 8 kBit/s submultiplexing the same procedures as for AMR + * speech on 16 kBit/s submultiplexing shall be applied, see 3GPP TS 48.060 */ + return trau_frame_16_ta_us(c6_11); + } else + return 0; + break; + + default: + return 0; + } +} + +static int encode16_handle_ta(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + if (fr->dir == OSMO_TRAU_DIR_DL) { + int num_bits = fr->dl_ta_usec * T16_250us / 250; + if (num_bits > 0) { + if (num_bits > 39 * 8) + num_bits = 39; + memset(trau_bits + 40 * 8, 1, num_bits); + return 40 * 8 + num_bits; + } else if (num_bits < 0) { + if (num_bits < -1 * T16_250us) + num_bits = -1 * T16_250us; + return 40 * 8 + num_bits; + } + } + return 40 * 8; +} + +static int encode8_handle_ta(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + if (fr->dir == OSMO_TRAU_DIR_DL) { + int num_bits = fr->dl_ta_usec * T8_250us / 250; + if (num_bits > 0) { + if (num_bits > 20 * 8 - 2) + num_bits = 20 * 8 - 2; + memset(trau_bits + 20 * 8, 1, num_bits); + return 20 * 8 + num_bits; + } else if (num_bits < 0) { + if (num_bits < -1 * T8_250us) + num_bits = -2; + return 20 * 8 + num_bits; + } + } + return 20 * 8; +} + /* TS 08.60 Section 3.1.1 */ static int encode16_fr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) { @@ -172,16 +286,7 @@ memcpy(trau_bits + 316, fr->t_bits+0, 4); /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } - return 40 * 8; + return encode16_handle_ta(trau_bits, fr); } /* TS 08.60 Section 3.1.1 */ @@ -236,18 +341,9 @@ /* T1 .. T4 */ memcpy(trau_bits + 316, fr->t_bits + 0, 4); - /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } + return encode16_handle_ta(trau_bits, fr); + /* FIXME: handle TAE (Timing Alignment Extension) */ - return 40 * 8; } /* TS 08.60 Section 3.1.2 */ @@ -378,16 +474,7 @@ memcpy(trau_bits + 39 * 8 + 4, fr->t_bits, 4); /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } - return 40 * 8; + return encode16_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.1.1.1 */ @@ -797,12 +884,12 @@ /* C6 .. C9 */ memcpy(trau_bits + 19 * 8 + 2, fr->c_bits + 5, 4); - /* FIXME: handle timing adjustment */ /* T1 .. T2 */ trau_bits[19 * 8 + 6] = fr->t_bits[0]; trau_bits[19 * 8 + 7] = fr->t_bits[1]; - return 20 * 8; + /* handle timing adjustment */ + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.1.2.1 */ @@ -876,7 +963,7 @@ /* T1 */ trau_bits[19 * 8 + 7] = fr->t_bits[0]; - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.1.2.2 */ @@ -947,7 +1034,7 @@ d_idx += 15; } - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.1.2.3 */ @@ -1006,7 +1093,7 @@ /* D24 .. D151 */ memcpy(trau_bits + 4 * 8, fr->d_bits + d_idx, 16 * 8); - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.2 */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e Gerrit-Change-Number: 19504 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 Aug 2 14:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 14:22:48 +0000 Subject: Change in libosmo-abis[master]: osmo_trau_frame_encode(): Check for sufficiently sized output buffer References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19505 ) Change subject: osmo_trau_frame_encode(): Check for sufficiently sized output buffer ...................................................................... osmo_trau_frame_encode(): Check for sufficiently sized output buffer Change-Id: Ie14399b2271aba9ff81f62d593a0ddd9d3e83d98 --- M src/trau/trau_frame.c 1 file changed, 37 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/05/19505/1 diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index d5233f6..aae725e 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -1223,6 +1223,43 @@ * \return 0 number of unpacked output bits generated; negative in case of error */ int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr) { + /* check for sufficient space provided by caller in output buffer */ + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + case OSMO_TRAU16_FT_HR: + case OSMO_TRAU16_FT_AMR: + /* timing alignment may happen: increased space requirement */ + if (n_bits < 2 * 40 * 8 - 1) + return -ENOSPC; + break; + case OSMO_TRAU16_FT_OAM: + case OSMO_TRAU16_FT_IDLE: + case OSMO_TRAU16_FT_DATA_HR: + case OSMO_TRAU16_FT_DATA: + case OSMO_TRAU16_FT_D145_SYNC: + case OSMO_TRAU16_FT_EDATA: + if (n_bits < 1 * 40 * 8) + return -ENOSPC; + break; + case OSMO_TRAU8_SPEECH: + case OSMO_TRAU8_AMR_LOW: + case OSMO_TRAU8_AMR_6k7: + case OSMO_TRAU8_AMR_7k4: + /* timing alignment may happen: increased space requirement */ + if (n_bits < 2 * 20 * 8 - 1) + return -ENOSPC; + case OSMO_TRAU8_DATA: + case OSMO_TRAU8_OAM: + if (n_bits < 1 * 20 * 8) + return -ENOSPC; + break; + case OSMO_TRAU_FT_NONE: + break; + default: + return -EINVAL; + } + switch (fr->type) { case OSMO_TRAU16_FT_FR: case OSMO_TRAU16_FT_EFR: -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie14399b2271aba9ff81f62d593a0ddd9d3e83d98 Gerrit-Change-Number: 19505 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 Aug 2 14:28:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:28:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 to look at the new patch set (#5). Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... osmo-bts-trx/scheduler: implement baseband frequency hopping The idea behind the baseband frequency hopping is quite simple: we have several RF carriers (transceivers) transmitting and receiving on fixed frequencies (just like in a regular multi-trx setup), and an additional burst routing layer between the schedulear and the transceiver interface (TRXD over UDP). Speaking in terms of the proposed implementation: - on Downlink, dlfh_route_br() calculates the ARFCN corresponding to the current TDMA frame number according to the hopping sequence parametets, and picks the transceiver with matching ARFCN; - on Uplink, ulfh_route_bi() iterates over the transceiver list of of the BTS, calculating hopping ARFCNs for equivalent timeslots, and picks the one with ARFCN matching the received burst. In order to avoid frequent transceiver lookups on the Downlink path, dlfh_route_br() maintains a "cache" in the timeslot state structure. Unfortunately, this "cache" seems to be useless on the Uplink path, so ulfh_route_bi() always needs to lookup the matching transceiver for each burst received over the TRXD interface. It may also happen that the scheduler will be unable to route an Uplink or Downlink burst, e.g. due to inconsistent / incorrect hopping sequence parameters received from the BSC, or in case if a transceiver gets RF-locked by the BTS operator. Such events are logged as "FATAL" and aditionally signalled by the following osmo-bts-trx specific rate counters: - trx_sched:dl_fh_no_carrier (Downlink), and - trx_sched:ul_fh_no_carrier (Uplink). Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 6 files changed, 117 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/30/19030/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: 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 Sun Aug 2 14:28:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:28:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19031 to look at the new patch set (#5). Change subject: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING ...................................................................... osmo-bts-trx: indicate support of BTS_FEAT_HOPPING Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/31/19031/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Gerrit-Change-Number: 19031 Gerrit-PatchSet: 5 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 Sun Aug 2 14:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:37:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 7: We can merge this patch now, the test suite will still expect version 9 by default. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 02 Aug 2020 14:37:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:40:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 14:40:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: Hello lynxis lazus, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 to look at the new patch set (#8). Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... library/PCUIF_Types: version 10: add frequency hopping parameters Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Related: SYS#4868, OS#4547 --- M bts/BTS_Tests.ttcn M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 107 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/19323/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus 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 Sun Aug 2 14:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 2 Aug 2020 14:44:02 +0000 Subject: Change in osmocom-bb[master]: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 to look at the new patch set (#2). Change subject: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed ...................................................................... firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed I am not sure how other developers do this. There are probably better ways to make testing faster but I kind of like it this way. I just call the twl3025_power_off_now function when the power key is pressed. Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 --- M src/target/firmware/abb/twl3025.c M src/target/firmware/include/abb/twl3025.h 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/82/19482/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 2 Aug 2020 14:44:02 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemented fb_bw8_line In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 to look at the new patch set (#2). Change subject: firmware/fb: Implemented fb_bw8_line ...................................................................... firmware/fb: Implemented fb_bw8_line Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 --- M src/target/firmware/fb/fb_bw8.c 1 file changed, 40 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/83/19483/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 2 Aug 2020 14:44:02 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_set_p(uint16_t x, uint16_t y) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19485 to look at the new patch set (#2). Change subject: firmware/fb: Implemtented fb_set_p(uint16_t x,uint16_t y) ...................................................................... firmware/fb: Implemtented fb_set_p(uint16_t x,uint16_t y) Change-Id: I21e8da1cbf4654b786626b94b197438facef902a --- M src/target/firmware/fb/fb_bw8.c M src/target/firmware/fb/fb_st7558.c M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/fb/framebuffer.h 4 files changed, 38 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/85/19485/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I21e8da1cbf4654b786626b94b197438facef902a Gerrit-Change-Number: 19485 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 14:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Sun, 2 Aug 2020 14:44:02 +0000 Subject: Change in osmocom-bb[master]: firmware/app: Initial commit for the game Snake In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 to look at the new patch set (#2). Change subject: firmware/app: Initial commit for the game Snake ...................................................................... firmware/app: Initial commit for the game Snake Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 --- A src/target/firmware/apps/snake_game/main.c 1 file changed, 521 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/90/19490/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 17:23:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 17:23:59 +0000 Subject: Change in osmocom-bb[master]: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19482 ) Change subject: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 02 Aug 2020 17:23:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 17:25:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 17:25:29 +0000 Subject: Change in osmocom-bb[master]: firmware/app: Initial commit for the game Snake In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19490 ) Change subject: firmware/app: Initial commit for the game Snake ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 17:25:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 17:29:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 17:29:49 +0000 Subject: Change in libosmo-abis[master]: trau_frame: New API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 to look at the new patch set (#10). Change subject: trau_frame: New API ...................................................................... trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/Makefile.am A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 4 files changed, 1,513 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/10 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 17:29:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 17:29:49 +0000 Subject: Change in libosmo-abis[master]: Add new TRAU frame sync code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 to look at the new patch set (#11). Change subject: Add new TRAU frame sync code ...................................................................... Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 712 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/11 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 11 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 17:29:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 17:29:49 +0000 Subject: Change in libosmo-abis[master]: TRAU frame RTP conversion In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 to look at the new patch set (#8). Change subject: TRAU frame RTP conversion ...................................................................... TRAU frame RTP conversion This adds code that converts codec frames between (decoded) TRAU format and RTP payload format. The FR + EFR functions have been lifted from OsmoNITB and exended slightly. The HR functions have been written from scratch. There is also incomplete code for AMR that needs to be completed + tested. Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 --- M include/Makefile.am A include/osmocom/trau/trau_rtp.h M src/Makefile.am A src/trau/trau_rtp_conv.c 4 files changed, 691 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/82/18382/8 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 Gerrit-Change-Number: 18382 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 2 19:15:29 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 19:15:29 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2710e963197_67502ac3bb5765f895893b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 64s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 64s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 64s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 64s] | | [ 64s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 64s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 64s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 64s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 64s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 64s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 64s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 65s] cc1: all warnings being treated as errors [ 65s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 65s] make[3]: *** Waiting for unfinished jobs.... [ 65s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 65s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 65s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 65s] make[1]: *** [Makefile:166: all] Error 2 [ 65s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 65s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 65s] make: *** [debian/rules:9: build] Error 25 [ 65s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 65s] ### VM INTERACTION START ### [ 68s] [ 59.252092] sysrq: SysRq : Power Off [ 68s] [ 59.256095] reboot: Power down [ 68s] ### VM INTERACTION END ### [ 68s] [ 68s] build70 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 19:15:15 UTC 2020. [ 68s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 2 19:17:29 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 02 Aug 2020 19:17:29 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f27115fc7015_67502ac3bb5765f895944d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 148s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 148s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 148s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 148s] | | [ 148s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 148s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 148s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 148s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 148s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 148s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 148s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 148s] cc1: all warnings being treated as errors [ 148s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 148s] make[3]: *** Waiting for unfinished jobs.... [ 148s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 148s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 148s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 148s] make[1]: *** [Makefile:166: all] Error 2 [ 148s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 148s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 148s] make: *** [debian/rules:9: build] Error 25 [ 148s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 148s] ### VM INTERACTION START ### [ 151s] [ 129.997290] sysrq: SysRq : Power Off [ 151s] [ 130.013546] reboot: Power down [ 151s] ### VM INTERACTION END ### [ 151s] [ 151s] cloud121 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 2 19:17:15 UTC 2020. [ 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 Sun Aug 2 19:50:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:04 +0000 Subject: Change in osmo-bts[master]: Constify the 'trx' argument of trx_get_hlayer1() everywhere References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19506 ) Change subject: Constify the 'trx' argument of trx_get_hlayer1() everywhere ...................................................................... Constify the 'trx' argument of trx_get_hlayer1() everywhere Change-Id: I44523d26f2f564932ea95c17b1041d0ca9cc2828 --- M src/common/pcu_sock.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/oml.c M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-octphy/l1_oml.h M src/osmo-bts-omldummy/bts_model.c M src/osmo-bts-sysmo/l1_if.h M src/osmo-bts-sysmo/oml.c M src/osmo-bts-trx/main.c M src/osmo-bts-virtual/main.c M tests/stubs.c 13 files changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/19506/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 5fa0e19..89fa01b 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -46,7 +46,7 @@ #include #include -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx); extern struct gsm_network bts_gsmnet; int pcu_direct = 0; diff --git a/src/osmo-bts-litecell15/l1_if.h b/src/osmo-bts-litecell15/l1_if.h index f5efa91..655e63f 100644 --- a/src/osmo-bts-litecell15/l1_if.h +++ b/src/osmo-bts-litecell15/l1_if.h @@ -133,14 +133,14 @@ int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, const uint8_t ms_power, const float rxLevel); -static inline struct lc15l1_hdl *trx_lc15l1_hdl(struct gsm_bts_trx *trx) +static inline struct lc15l1_hdl *trx_lc15l1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.lc15.hdl; } -static inline struct gsm_bts_trx *lc15l1_hdl_trx(struct lc15l1_hdl *fl1h) +static inline struct gsm_bts_trx *lc15l1_hdl_trx(const struct lc15l1_hdl *fl1h) { OSMO_ASSERT(fl1h->phy_inst); return fl1h->phy_inst->trx; diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index 60fd1e7..f14f808 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -430,9 +430,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + const struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-oc2g/l1_if.h b/src/osmo-bts-oc2g/l1_if.h index e4b8feb..8e8a2ed 100644 --- a/src/osmo-bts-oc2g/l1_if.h +++ b/src/osmo-bts-oc2g/l1_if.h @@ -136,9 +136,9 @@ int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, const uint8_t ms_power, const float rxLevel); -static inline struct oc2gl1_hdl *trx_oc2gl1_hdl(struct gsm_bts_trx *trx) +static inline struct oc2gl1_hdl *trx_oc2gl1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.oc2g.hdl; } diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 89ee0ac..f9faacf 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -446,9 +446,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct oc2gl1_hdl *fl1h = trx_oc2gl1_hdl(trx); + const struct oc2gl1_hdl *fl1h = trx_oc2gl1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 8cc078e..300d618 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1426,7 +1426,7 @@ } #endif -uint32_t trx_get_hlayer1(struct gsm_bts_trx * trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-octphy/l1_oml.h b/src/osmo-bts-octphy/l1_oml.h index 4729df5..3c814c7 100644 --- a/src/osmo-bts-octphy/l1_oml.h +++ b/src/osmo-bts-octphy/l1_oml.h @@ -10,7 +10,7 @@ int l1if_set_ciphering(struct gsm_lchan *lchan, int dir_downlink); -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx); int gsm_abis_mo_check_attr(const struct gsm_abis_mo *mo, const uint8_t * attr_ids, unsigned int num_attr_ids); diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c index 1ff336e..3fd927d 100644 --- a/src/osmo-bts-omldummy/bts_model.c +++ b/src/osmo-bts-omldummy/bts_model.c @@ -169,7 +169,7 @@ return 0; } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-sysmo/l1_if.h b/src/osmo-bts-sysmo/l1_if.h index 1b214be..8691eef 100644 --- a/src/osmo-bts-sysmo/l1_if.h +++ b/src/osmo-bts-sysmo/l1_if.h @@ -156,9 +156,9 @@ int bts_check_for_ciph_cmd(struct femtol1_hdl *fl1h, struct msgb *msg, struct gsm_lchan *lchan); -static inline struct femtol1_hdl *trx_femtol1_hdl(struct gsm_bts_trx *trx) +static inline struct femtol1_hdl *trx_femtol1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.sysmobts.hdl; } diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 57eab12..472a7ae 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -426,9 +426,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx); + const struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index d8cbbaa..e35f6fe 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -74,7 +74,7 @@ }; /* dummy, since no direct dsp support */ -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index fb5d357..e5b7206 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -50,7 +50,7 @@ #include "l1_if.h" /* dummy, since no direct dsp support */ -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/tests/stubs.c b/tests/stubs.c index 4663a44..b24dfc9 100644 --- a/tests/stubs.c +++ b/tests/stubs.c @@ -36,7 +36,7 @@ __attribute__((weak)) int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { return 0; } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } __attribute__((weak)) int bts_model_oml_estab(struct gsm_bts *bts) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44523d26f2f564932ea95c17b1041d0ca9cc2828 Gerrit-Change-Number: 19506 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 Aug 2 19:50:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:04 +0000 Subject: Change in osmo-bts[master]: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19507 ) Change subject: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() ...................................................................... common: constify the argument of trx_ms_pwr_ctrl_is_osmo() Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d --- M include/osmo-bts/bts_trx.h M src/common/bts_trx.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/19507/1 diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index ae87528..d1e13fd 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -60,6 +60,6 @@ int trx_set_available(struct gsm_bts_trx *trx, int avail); uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg); -bool trx_ms_pwr_ctrl_is_osmo(struct gsm_bts_trx *trx); +bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx); #define LOGPTRX(trx, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_trx_name(trx), ## args) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 6318dbc..3f45926 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -196,7 +196,7 @@ } -bool trx_ms_pwr_ctrl_is_osmo(struct gsm_bts_trx *trx) +bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx) { return trx->ms_pwr_ctl_soft; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d Gerrit-Change-Number: 19507 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 Aug 2 19:50:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:05 +0000 Subject: Change in osmo-bts[master]: pcu_sock: constify the argument of ts_should_be_pdch() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19508 ) Change subject: pcu_sock: constify the argument of ts_should_be_pdch() ...................................................................... pcu_sock: constify the argument of ts_should_be_pdch() Change-Id: I636bb05d67a43e0385449d0234577c1390bed350 --- M src/common/pcu_sock.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/19508/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 89fa01b..8966b31 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -84,7 +84,8 @@ return msg; } -static bool ts_should_be_pdch(struct gsm_bts_trx_ts *ts) { +static bool ts_should_be_pdch(const struct gsm_bts_trx_ts *ts) +{ if (ts->pchan == GSM_PCHAN_PDCH) return true; if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I636bb05d67a43e0385449d0234577c1390bed350 Gerrit-Change-Number: 19508 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 Aug 2 19:50:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:05 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use a 'switch' statement in ts_should_be_pdch() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19509 ) Change subject: pcu_sock: use a 'switch' statement in ts_should_be_pdch() ...................................................................... pcu_sock: use a 'switch' statement in ts_should_be_pdch() Change-Id: I628c2c5198c52fb82309dfe4a31a59aeebc00f09 --- M src/common/pcu_sock.c 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/19509/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 8966b31..0125793 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -86,9 +86,10 @@ static bool ts_should_be_pdch(const struct gsm_bts_trx_ts *ts) { - if (ts->pchan == GSM_PCHAN_PDCH) + switch (ts->pchan) { + case GSM_PCHAN_PDCH: return true; - if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) { + case GSM_PCHAN_TCH_F_PDCH: /* When we're busy deactivating the PDCH, we first set * DEACT_PENDING, tell the PCU about it and wait for a * response. So DEACT_PENDING means "no PDCH" to the PCU. @@ -99,16 +100,16 @@ return !(ts->flags & TS_F_PDCH_DEACT_PENDING); else return (ts->flags & TS_F_PDCH_ACT_PENDING); - } - if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + case GSM_PCHAN_TCH_F_TCH_H_PDCH: /* * When we're busy de-/activating the PDCH, we first set * ts->dyn.pchan_want, tell the PCU about it and wait for a * response. So only care about dyn.pchan_want here. */ return ts->dyn.pchan_want == GSM_PCHAN_PDCH; + default: + return false; } - return false; } int pcu_tx_info_ind(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I628c2c5198c52fb82309dfe4a31a59aeebc00f09 Gerrit-Change-Number: 19509 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 Aug 2 19:50:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:05 +0000 Subject: Change in osmo-bts[master]: pcu_sock: warn about maximum transceiver number constraints References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19510 ) Change subject: pcu_sock: warn about maximum transceiver number constraints ...................................................................... pcu_sock: warn about maximum transceiver number constraints Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 --- M src/common/pcu_sock.c 1 file changed, 15 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/19510/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 0125793..ca8dd15 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -215,13 +215,17 @@ info_ind->remote_ip[i] = nsvc->remote_ip; } - for (i = 0; i < 8; i++) { - trx = gsm_bts_trx_num(bts, i); - if (!trx) - break; - info_ind->trx[i].pdch_mask = 0; - info_ind->trx[i].arfcn = trx->arfcn; - info_ind->trx[i].hlayer1 = trx_get_hlayer1(trx); + llist_for_each_entry(trx, &bts->trx_list, list) { + if (trx->nr >= ARRAY_SIZE(info_ind->trx)) { + LOGPTRX(trx, DPCU, LOGL_NOTICE, "PCU interface (version %u) " + "cannot handle more than %zu transceivers => skipped\n", + PCU_IF_VERSION, ARRAY_SIZE(info_ind->trx)); + continue; + } + + info_ind->trx[trx->nr].pdch_mask = 0; + info_ind->trx[trx->nr].arfcn = trx->arfcn; + info_ind->trx[trx->nr].hlayer1 = trx_get_hlayer1(trx); if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", @@ -233,14 +237,14 @@ ts = &trx->ts[j]; if (ts->mo.nm_state.operational == NM_OPSTATE_ENABLED && ts_should_be_pdch(ts)) { - info_ind->trx[i].pdch_mask |= (1 << j); - info_ind->trx[i].tsc[j] = gsm_ts_tsc(ts); + info_ind->trx[trx->nr].pdch_mask |= (1 << j); + info_ind->trx[trx->nr].tsc[j] = gsm_ts_tsc(ts); LOGP(DPCU, LOGL_INFO, "trx=%d ts=%d: " "available (tsc=%d arfcn=%d)\n", trx->nr, ts->nr, - info_ind->trx[i].tsc[j], - info_ind->trx[i].arfcn); + info_ind->trx[trx->nr].tsc[j], + info_ind->trx[trx->nr].arfcn); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 Gerrit-Change-Number: 19510 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 Aug 2 19:50:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:05 +0000 Subject: Change in osmo-bts[master]: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19511 ) Change subject: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() ...................................................................... pcu_sock: separate trx / ts filling from pcu_tx_info_ind() This would allow to avoid further nasting in 'for' loops. Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b --- M src/common/pcu_sock.c 1 file changed, 35 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/19511/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ca8dd15..392900a 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -112,6 +112,39 @@ } } +static void info_ind_fill_trx(struct gsm_pcu_if_info_trx *trx_info, + const struct gsm_bts_trx *trx) +{ + unsigned int tn; + + trx_info->pdch_mask = 0; + trx_info->arfcn = trx->arfcn; + trx_info->hlayer1 = trx_get_hlayer1(trx); + + if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || + trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { + LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", + abis_nm_opstate_name(trx->mo.nm_state.operational), + abis_nm_admin_name(trx->mo.nm_state.administrative)); + return; + } + + for (tn = 0; tn < 8; tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED) + continue; + if (!ts_should_be_pdch(ts)) + continue; + + trx_info->pdch_mask |= (1 << tn); + trx_info->tsc[tn] = gsm_ts_tsc(ts); + + LOGP(DPCU, LOGL_INFO, "(trx=%u,ts=%u) PDCH available (tsc=%u arfcn=%u)\n", + trx->nr, ts->nr, trx_info->tsc[tn], trx->arfcn); + } +} + int pcu_tx_info_ind(void) { struct gsm_network *net = &bts_gsmnet; @@ -122,8 +155,7 @@ struct gprs_rlc_cfg *rlcc; struct gsm_bts_gprs_nsvc *nsvc; struct gsm_bts_trx *trx; - struct gsm_bts_trx_ts *ts; - int i, j; + int i; LOGP(DPCU, LOGL_INFO, "Sending info\n"); @@ -223,30 +255,7 @@ continue; } - info_ind->trx[trx->nr].pdch_mask = 0; - info_ind->trx[trx->nr].arfcn = trx->arfcn; - info_ind->trx[trx->nr].hlayer1 = trx_get_hlayer1(trx); - if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || - trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { - LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", - abis_nm_opstate_name(trx->mo.nm_state.operational), - abis_nm_admin_name(trx->mo.nm_state.administrative)); - continue; - } - for (j = 0; j < 8; j++) { - ts = &trx->ts[j]; - if (ts->mo.nm_state.operational == NM_OPSTATE_ENABLED - && ts_should_be_pdch(ts)) { - info_ind->trx[trx->nr].pdch_mask |= (1 << j); - info_ind->trx[trx->nr].tsc[j] = gsm_ts_tsc(ts); - - LOGP(DPCU, LOGL_INFO, "trx=%d ts=%d: " - "available (tsc=%d arfcn=%d)\n", - trx->nr, ts->nr, - info_ind->trx[trx->nr].tsc[j], - info_ind->trx[trx->nr].arfcn); - } - } + info_ind_fill_trx(&info_ind->trx[trx->nr], trx); } return pcu_sock_send(net, msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b Gerrit-Change-Number: 19511 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 Aug 2 19:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:06 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use LOGPTRX() in info_ind_fill_trx() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19512 ) Change subject: pcu_sock: use LOGPTRX() in info_ind_fill_trx() ...................................................................... pcu_sock: use LOGPTRX() in info_ind_fill_trx() Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 --- M src/common/pcu_sock.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/19512/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 392900a..53822a2 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -140,8 +140,8 @@ trx_info->pdch_mask |= (1 << tn); trx_info->tsc[tn] = gsm_ts_tsc(ts); - LOGP(DPCU, LOGL_INFO, "(trx=%u,ts=%u) PDCH available (tsc=%u arfcn=%u)\n", - trx->nr, ts->nr, trx_info->tsc[tn], trx->arfcn); + LOGPTRX(trx, DPCU, LOGL_INFO, "PDCH on ts=%u is available " + "(tsc=%u arfcn=%u)\n", ts->nr, trx_info->tsc[tn], trx->arfcn); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 Gerrit-Change-Number: 19512 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 Aug 2 19:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Aug 2020 19:50:06 +0000 Subject: Change in osmo-bts[master]: pcuif_proto: version 10: add frequency hopping parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19513 ) Change subject: pcuif_proto: version 10: add frequency hopping parameters ...................................................................... pcuif_proto: version 10: add frequency hopping parameters Change-Id: I04782222b499d0488269544910fbd4ed9929c05d Related: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Related: SYS#4868, OS#4546, OS#4547 --- M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c 2 files changed, 27 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/19513/1 diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index e977914..bbba179 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -5,7 +5,7 @@ #define PCU_SOCK_DEFAULT "/tmp/pcu_bts" -#define PCU_IF_VERSION 0x09 +#define PCU_IF_VERSION 0x0a #define TXT_MAX_LEN 128 /* msg_type */ @@ -112,12 +112,19 @@ uint8_t ts_nr; } __attribute__ ((packed)); +struct gsm_pcu_if_info_trx_ts { + uint8_t tsc; + uint8_t hopping; + uint8_t hsn; + uint8_t maio; + uint8_t ma[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if_info_trx { uint16_t arfcn; uint8_t pdch_mask; /* PDCH channels per TS */ - uint8_t spare; - uint8_t tsc[8]; /* TSC per channel */ uint32_t hlayer1; + struct gsm_pcu_if_info_trx_ts ts[8]; } __attribute__ ((packed)); struct gsm_pcu_if_info_ind { diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 53822a2..d8fccc9 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -138,10 +138,25 @@ continue; trx_info->pdch_mask |= (1 << tn); - trx_info->tsc[tn] = gsm_ts_tsc(ts); + trx_info->ts[tn].tsc = gsm_ts_tsc(ts); + + if ((trx_info->ts[tn].hopping = ts->hopping.enabled)) { + trx_info->ts[tn].maio = ts->hopping.maio; + trx_info->ts[tn].hsn = ts->hopping.hsn; + + /* Mobile Allocation (8 * 8 bit buffer) */ + memcpy(trx_info->ts[tn].ma, ts->hopping.ma, + sizeof(trx_info->ts[tn].ma)); + } LOGPTRX(trx, DPCU, LOGL_INFO, "PDCH on ts=%u is available " - "(tsc=%u arfcn=%u)\n", ts->nr, trx_info->tsc[tn], trx->arfcn); + "(tsc=%u ", ts->nr, trx_info->ts[tn].tsc); + if (ts->hopping.enabled) { + LOGPC(DPCU, LOGL_INFO, "hopping=yes hsn=%u maio=%u ma_len=%u)\n", + ts->hopping.hsn, ts->hopping.maio, ts->hopping.ma_len); + } else { + LOGPC(DPCU, LOGL_INFO, "hopping=no arfcn=%u)\n", trx->arfcn); + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I04782222b499d0488269544910fbd4ed9929c05d Gerrit-Change-Number: 19513 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 Aug 2 20:16:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:16:18 +0000 Subject: Change in osmo-bts[master]: Constify the 'trx' argument of trx_get_hlayer1() everywhere In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19506 ) Change subject: Constify the 'trx' argument of trx_get_hlayer1() everywhere ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44523d26f2f564932ea95c17b1041d0ca9cc2828 Gerrit-Change-Number: 19506 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:16:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:16:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:16:29 +0000 Subject: Change in osmo-bts[master]: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19507 ) Change subject: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d Gerrit-Change-Number: 19507 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:16:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:16:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:16:41 +0000 Subject: Change in osmo-bts[master]: pcu_sock: constify the argument of ts_should_be_pdch() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19508 ) Change subject: pcu_sock: constify the argument of ts_should_be_pdch() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I636bb05d67a43e0385449d0234577c1390bed350 Gerrit-Change-Number: 19508 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:16:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:16:59 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use a 'switch' statement in ts_should_be_pdch() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19509 ) Change subject: pcu_sock: use a 'switch' statement in ts_should_be_pdch() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I628c2c5198c52fb82309dfe4a31a59aeebc00f09 Gerrit-Change-Number: 19509 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Aug 2020 20:16:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:17:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:17:27 +0000 Subject: Change in osmo-bts[master]: pcu_sock: warn about maximum transceiver number constraints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19510 ) Change subject: pcu_sock: warn about maximum transceiver number constraints ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 Gerrit-Change-Number: 19510 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:17:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:17:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:17:41 +0000 Subject: Change in osmo-bts[master]: Constify the 'trx' argument of trx_get_hlayer1() everywhere In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19506 ) Change subject: Constify the 'trx' argument of trx_get_hlayer1() everywhere ...................................................................... Constify the 'trx' argument of trx_get_hlayer1() everywhere Change-Id: I44523d26f2f564932ea95c17b1041d0ca9cc2828 --- M src/common/pcu_sock.c M src/osmo-bts-litecell15/l1_if.h M src/osmo-bts-litecell15/oml.c M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-octphy/l1_oml.h M src/osmo-bts-omldummy/bts_model.c M src/osmo-bts-sysmo/l1_if.h M src/osmo-bts-sysmo/oml.c M src/osmo-bts-trx/main.c M src/osmo-bts-virtual/main.c M tests/stubs.c 13 files changed, 20 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 5fa0e19..89fa01b 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -46,7 +46,7 @@ #include #include -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx); extern struct gsm_network bts_gsmnet; int pcu_direct = 0; diff --git a/src/osmo-bts-litecell15/l1_if.h b/src/osmo-bts-litecell15/l1_if.h index f5efa91..655e63f 100644 --- a/src/osmo-bts-litecell15/l1_if.h +++ b/src/osmo-bts-litecell15/l1_if.h @@ -133,14 +133,14 @@ int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, const uint8_t ms_power, const float rxLevel); -static inline struct lc15l1_hdl *trx_lc15l1_hdl(struct gsm_bts_trx *trx) +static inline struct lc15l1_hdl *trx_lc15l1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.lc15.hdl; } -static inline struct gsm_bts_trx *lc15l1_hdl_trx(struct lc15l1_hdl *fl1h) +static inline struct gsm_bts_trx *lc15l1_hdl_trx(const struct lc15l1_hdl *fl1h) { OSMO_ASSERT(fl1h->phy_inst); return fl1h->phy_inst->trx; diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c index 60fd1e7..f14f808 100644 --- a/src/osmo-bts-litecell15/oml.c +++ b/src/osmo-bts-litecell15/oml.c @@ -430,9 +430,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); + const struct lc15l1_hdl *fl1h = trx_lc15l1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-oc2g/l1_if.h b/src/osmo-bts-oc2g/l1_if.h index e4b8feb..8e8a2ed 100644 --- a/src/osmo-bts-oc2g/l1_if.h +++ b/src/osmo-bts-oc2g/l1_if.h @@ -136,9 +136,9 @@ int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, const uint8_t ms_power, const float rxLevel); -static inline struct oc2gl1_hdl *trx_oc2gl1_hdl(struct gsm_bts_trx *trx) +static inline struct oc2gl1_hdl *trx_oc2gl1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.oc2g.hdl; } diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 89ee0ac..f9faacf 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -446,9 +446,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct oc2gl1_hdl *fl1h = trx_oc2gl1_hdl(trx); + const struct oc2gl1_hdl *fl1h = trx_oc2gl1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 8cc078e..300d618 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1426,7 +1426,7 @@ } #endif -uint32_t trx_get_hlayer1(struct gsm_bts_trx * trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-octphy/l1_oml.h b/src/osmo-bts-octphy/l1_oml.h index 4729df5..3c814c7 100644 --- a/src/osmo-bts-octphy/l1_oml.h +++ b/src/osmo-bts-octphy/l1_oml.h @@ -10,7 +10,7 @@ int l1if_set_ciphering(struct gsm_lchan *lchan, int dir_downlink); -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx); int gsm_abis_mo_check_attr(const struct gsm_abis_mo *mo, const uint8_t * attr_ids, unsigned int num_attr_ids); diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c index 1ff336e..3fd927d 100644 --- a/src/osmo-bts-omldummy/bts_model.c +++ b/src/osmo-bts-omldummy/bts_model.c @@ -169,7 +169,7 @@ return 0; } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-sysmo/l1_if.h b/src/osmo-bts-sysmo/l1_if.h index 1b214be..8691eef 100644 --- a/src/osmo-bts-sysmo/l1_if.h +++ b/src/osmo-bts-sysmo/l1_if.h @@ -156,9 +156,9 @@ int bts_check_for_ciph_cmd(struct femtol1_hdl *fl1h, struct msgb *msg, struct gsm_lchan *lchan); -static inline struct femtol1_hdl *trx_femtol1_hdl(struct gsm_bts_trx *trx) +static inline struct femtol1_hdl *trx_femtol1_hdl(const struct gsm_bts_trx *trx) { - struct phy_instance *pinst = trx_phy_instance(trx); + const struct phy_instance *pinst = trx_phy_instance(trx); OSMO_ASSERT(pinst); return pinst->u.sysmobts.hdl; } diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 57eab12..472a7ae 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -426,9 +426,9 @@ return l1if_gsm_req_compl(fl1h, msg, trx_init_compl_cb, NULL); } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { - struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx); + const struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx); return fl1h->hLayer1; } diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index d8cbbaa..e35f6fe 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -74,7 +74,7 @@ }; /* dummy, since no direct dsp support */ -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index fb5d357..e5b7206 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -50,7 +50,7 @@ #include "l1_if.h" /* dummy, since no direct dsp support */ -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } diff --git a/tests/stubs.c b/tests/stubs.c index 4663a44..b24dfc9 100644 --- a/tests/stubs.c +++ b/tests/stubs.c @@ -36,7 +36,7 @@ __attribute__((weak)) int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { return 0; } -uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) +uint32_t trx_get_hlayer1(const struct gsm_bts_trx *trx) { return 0; } __attribute__((weak)) int bts_model_oml_estab(struct gsm_bts *bts) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I44523d26f2f564932ea95c17b1041d0ca9cc2828 Gerrit-Change-Number: 19506 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:17:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:17:42 +0000 Subject: Change in osmo-bts[master]: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19507 ) Change subject: common: constify the argument of trx_ms_pwr_ctrl_is_osmo() ...................................................................... common: constify the argument of trx_ms_pwr_ctrl_is_osmo() Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d --- M include/osmo-bts/bts_trx.h M src/common/bts_trx.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h index ae87528..d1e13fd 100644 --- a/include/osmo-bts/bts_trx.h +++ b/include/osmo-bts/bts_trx.h @@ -60,6 +60,6 @@ int trx_set_available(struct gsm_bts_trx *trx, int avail); uint8_t num_agch(struct gsm_bts_trx *trx, const char * arg); -bool trx_ms_pwr_ctrl_is_osmo(struct gsm_bts_trx *trx); +bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx); #define LOGPTRX(trx, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_trx_name(trx), ## args) diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c index 6318dbc..3f45926 100644 --- a/src/common/bts_trx.c +++ b/src/common/bts_trx.c @@ -196,7 +196,7 @@ } -bool trx_ms_pwr_ctrl_is_osmo(struct gsm_bts_trx *trx) +bool trx_ms_pwr_ctrl_is_osmo(const struct gsm_bts_trx *trx) { return trx->ms_pwr_ctl_soft; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d Gerrit-Change-Number: 19507 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:17:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:17:43 +0000 Subject: Change in osmo-bts[master]: pcu_sock: constify the argument of ts_should_be_pdch() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19508 ) Change subject: pcu_sock: constify the argument of ts_should_be_pdch() ...................................................................... pcu_sock: constify the argument of ts_should_be_pdch() Change-Id: I636bb05d67a43e0385449d0234577c1390bed350 --- M src/common/pcu_sock.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 89fa01b..8966b31 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -84,7 +84,8 @@ return msg; } -static bool ts_should_be_pdch(struct gsm_bts_trx_ts *ts) { +static bool ts_should_be_pdch(const struct gsm_bts_trx_ts *ts) +{ if (ts->pchan == GSM_PCHAN_PDCH) return true; if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I636bb05d67a43e0385449d0234577c1390bed350 Gerrit-Change-Number: 19508 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:18:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:18:07 +0000 Subject: Change in osmo-bts[master]: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19511 ) Change subject: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b Gerrit-Change-Number: 19511 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20: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 Sun Aug 2 20:18:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:18:22 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use LOGPTRX() in info_ind_fill_trx() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19512 ) Change subject: pcu_sock: use LOGPTRX() in info_ind_fill_trx() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 Gerrit-Change-Number: 19512 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:18:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:18:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:18:57 +0000 Subject: Change in osmo-bts[master]: pcuif_proto: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19513 ) Change subject: pcuif_proto: version 10: add frequency hopping parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I04782222b499d0488269544910fbd4ed9929c05d Gerrit-Change-Number: 19513 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 02 Aug 2020 20:18:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:20:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:20:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19503 ) Change subject: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia71133d6f0b900e5e103595c83303a7cc5c06edf Gerrit-Change-Number: 19503 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 02 Aug 2020 20:20:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 2 20:20:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 2 Aug 2020 20:20:19 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19503 ) Change subject: osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down ...................................................................... osmo-bts-trx/scheduler: fix CLCK.ind handling during ramping down On receipt of either SIGTERM or SIGINT the shutdown FSM initiates ramping down of the transmit power on Downlink. I noticed that for some reason osmo-bts-trx stops sending Downlink bursts during the process of ramping down. I also noticed the following imporatant message: DL1C NOTICE scheduler_trx.c:287 No more clock from transceiver despite the transceiver is still powered on and keeps sending the clock indications over the TRXC interface. As it turned out, the problem is that on receipt of either SIGTERM or SIGINT, we also raise the global 'quit' flag, so in the scheduler trx_sched_clock() stealthy stops handling the clock indications. Let's ensure that clock indications are handled regardless of the state of 'quit' flag, so the ramping down would work as expected. Change-Id: Ia71133d6f0b900e5e103595c83303a7cc5c06edf --- M src/common/main.c M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 1 insertion(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/main.c b/src/common/main.c index 6d8088c..f4dc505 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -56,7 +56,7 @@ #include #include -int quit = 0; +static int quit = 0; static const char *config_file = "osmo-bts.cfg"; static int daemonize = 0; static int rt_prio = -1; diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fcd1eee..85f0e92 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -134,8 +134,6 @@ ts->tv_nsec = ts->tv_nsec % 1000000000; } -extern int quit; - /*! this is the timerfd-callback firing for every FN to be processed */ static int trx_fn_timer_cb(struct osmo_fd *ofd, unsigned int what) { @@ -274,9 +272,6 @@ unsigned int fn_caught_up = 0; const struct timespec interval = { .tv_sec = 0, .tv_nsec = GSM_TDMA_FN_DURATION_nS }; - if (quit) - return 0; - /* reset lost counter */ tcs->fn_without_clock_ind = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia71133d6f0b900e5e103595c83303a7cc5c06edf Gerrit-Change-Number: 19503 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:24:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:24:27 +0000 Subject: Change in libosmocore[master]: i460: Fix bit- and subslots ordering of I.460 mux + demux References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19514 ) Change subject: i460: Fix bit- and subslots ordering of I.460 mux + demux ...................................................................... i460: Fix bit- and subslots ordering of I.460 mux + demux When I wrote the new I.460 mux + demux code, I failed to realize that * bit numbers in relevant ITU specs start with 1 as MSB ... 8 as LSB * sub-slot 0 is bits 1+2, i.e. the two MSBs of a byte * bit-ordering within each sub-slot is also MSB first As a result, the code and test data was broken. Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0 --- M src/gsm/i460_mux.c M tests/i460_mux/i460_mux_test.c M tests/i460_mux/i460_mux_test.ok 3 files changed, 103 insertions(+), 98 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/19514/1 diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index 320e781..91ab2a1 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -89,32 +89,34 @@ for (i = 0; i < data_len; i++) { uint8_t inbyte = data[i]; - uint8_t inbits = inbyte >> schan->bit_offset; + /* I.460 defines sub-channel 0 is using bit positions 1+2 (the two + * most significant bits, hence we extract msb-first */ + uint8_t inbits = inbyte << schan->bit_offset; /* extract the bits relevant to the given schan */ switch (schan->rate) { case OSMO_I460_RATE_8k: - demux_subchan_append_bit(schan, inbits & 0x01); + demux_subchan_append_bit(schan, inbits & 0x80); break; case OSMO_I460_RATE_16k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); break; case OSMO_I460_RATE_32k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); - demux_subchan_append_bit(schan, inbits & 0x04); - demux_subchan_append_bit(schan, inbits & 0x08); + demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); + demux_subchan_append_bit(schan, inbits & 0x20); + demux_subchan_append_bit(schan, inbits & 0x10); break; case OSMO_I460_RATE_64k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); - demux_subchan_append_bit(schan, inbits & 0x04); - demux_subchan_append_bit(schan, inbits & 0x08); - demux_subchan_append_bit(schan, inbits & 0x10); - demux_subchan_append_bit(schan, inbits & 0x20); - demux_subchan_append_bit(schan, inbits & 0x40); demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); + demux_subchan_append_bit(schan, inbits & 0x20); + demux_subchan_append_bit(schan, inbits & 0x10); + demux_subchan_append_bit(schan, inbits & 0x08); + demux_subchan_append_bit(schan, inbits & 0x04); + demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x01); break; default: OSMO_ASSERT(0); @@ -205,22 +207,25 @@ uint8_t outbits = 0; uint8_t outmask; + /* I.460 defines sub-channel 0 is using bit positions 1+2 (the two + * most significant bits, hence we provide msb-first */ + switch (schan->rate) { case OSMO_I460_RATE_8k: - outbits = mux_schan_provide_bit(schan); - outmask = 0x01; + outbits = mux_schan_provide_bit(schan) << 7; + outmask = 0x80; break; case OSMO_I460_RATE_16k: - outbits |= mux_schan_provide_bit(schan) << 1; - outbits |= mux_schan_provide_bit(schan) << 0; - outmask = 0x03; + outbits |= mux_schan_provide_bit(schan) << 7; + outbits |= mux_schan_provide_bit(schan) << 6; + outmask = 0xC0; break; case OSMO_I460_RATE_32k: - outbits |= mux_schan_provide_bit(schan) << 3; - outbits |= mux_schan_provide_bit(schan) << 2; - outbits |= mux_schan_provide_bit(schan) << 1; - outbits |= mux_schan_provide_bit(schan) << 0; - outmask = 0x0F; + outbits |= mux_schan_provide_bit(schan) << 7; + outbits |= mux_schan_provide_bit(schan) << 6; + outbits |= mux_schan_provide_bit(schan) << 5; + outbits |= mux_schan_provide_bit(schan) << 4; + outmask = 0xF0; break; case OSMO_I460_RATE_64k: outbits |= mux_schan_provide_bit(schan) << 7; @@ -236,8 +241,8 @@ default: OSMO_ASSERT(0); } - *mask = outmask << schan->bit_offset; - return outbits << schan->bit_offset; + *mask = outmask >> schan->bit_offset; + return outbits >> schan->bit_offset; } /* provide one byte of multiplexed I.460 bits */ diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c index d63b2ae..9d5fcf7 100644 --- a/tests/i460_mux/i460_mux_test.c +++ b/tests/i460_mux/i460_mux_test.c @@ -234,8 +234,8 @@ int i; for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; - sequence[0] = 0x0f; sequence[1] = 0xf0; + sequence[0] = 0x0f; sequence[2] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); @@ -278,10 +278,10 @@ int i; for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; - sequence[0] = 0x03; - sequence[1] = 0x0c; - sequence[2] = 0x30; - sequence[3] = 0xc0; + sequence[0] = 0xC0; + sequence[1] = 0x30; + sequence[2] = 0x0c; + sequence[3] = 0x03; sequence[4] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); @@ -328,16 +328,16 @@ for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; i = 0; - sequence[i++] = 0x01; - sequence[i++] = 0x02; - sequence[i++] = 0x04; - sequence[i++] = 0x08; - sequence[i++] = 0x0f; - sequence[i++] = 0x10; - sequence[i++] = 0x20; - sequence[i++] = 0x40; sequence[i++] = 0x80; + sequence[i++] = 0x40; + sequence[i++] = 0x20; + sequence[i++] = 0x10; sequence[i++] = 0xf0; + sequence[i++] = 0x08; + sequence[i++] = 0x04; + sequence[i++] = 0x02; + sequence[i++] = 0x01; + sequence[i++] = 0x0f; sequence[i++] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); diff --git a/tests/i460_mux/i460_mux_test.ok b/tests/i460_mux/i460_mux_test.ok index b94fb7b..79c55ed 100644 --- a/tests/i460_mux/i460_mux_test.ok +++ b/tests/i460_mux/i460_mux_test.ok @@ -7,15 +7,15 @@ mux_out: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 ==> test_32k_subchan -demux_bits_cb '32k_0': 1111000011110000000000000000000000000000 -demux_bits_cb '32k_4': 0000111111110000000000000000000000000000 +demux_bits_cb '32k_0': 0000111111110000000000000000000000000000 +demux_bits_cb '32k_4': 1111000011110000000000000000000000000000 test_32k_subchan-single-0 -mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 -mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_32k_subchan-single-1 -mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f -mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_16k_subchan @@ -24,28 +24,28 @@ demux_bits_cb '16k_4': 0000110011000000000000000000000000000000 demux_bits_cb '16k_6': 0000001111000000000000000000000000000000 test_16k_subchan-single-0 -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-1 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-2 -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-3 -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_8k_subchan @@ -58,58 +58,58 @@ demux_bits_cb '8k_6': 0000000101100000000000000000000000000000 demux_bits_cb '8k_7': 0000000011100000000000000000000000000000 test_8k_subchan-single-0 -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-1 -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-2 -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-3 -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-4 -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-5 -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-6 -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-7 -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_unused_subchan test_unused_subchan-single -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0 Gerrit-Change-Number: 19514 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 Aug 3 00:25:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:25:10 +0000 Subject: Change in libosmocore[master]: i460: pass more context to call-back functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19502 ) Change subject: i460: pass more context to call-back functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id842c72ce371a67fe5df6694e195c281aaf607ab Gerrit-Change-Number: 19502 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00: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 Mon Aug 3 00:26:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:26:23 +0000 Subject: Change in libosmocore[master]: i460: Fix bit- and subslots ordering of I.460 mux + demux In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19514 ) Change subject: i460: Fix bit- and subslots ordering of I.460 mux + demux ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0 Gerrit-Change-Number: 19514 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Aug 2020 00:26: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 Aug 3 00:26:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:26:27 +0000 Subject: Change in libosmocore[master]: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf, u8} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19497 ) Change subject: bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} ...................................................................... bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} Benchmarking has shown that a look-up table based approach is much faster than the arithmetic approach we used so far. This is from a Core i7-6600U: 10 bytes, 1 iterations: flip=379, revb=5491; revb = 1448 % 10 bytes, 10 iterations: flip=728, revb=1517; revb = 208 % 10 bytes, 100 iterations: flip=2952, revb=9305; revb = 315 % 10 bytes, 1000 iterations: flip=26305, revb=90953; revb = 345 % 100 bytes, 1 iterations: flip=468, revb=1093; revb = 233 % 100 bytes, 10 iterations: flip=2634, revb=7418; revb = 281 % 100 bytes, 100 iterations: flip=23666, revb=70718; revb = 298 % 100 bytes, 1000 iterations: flip=237595, revb=900555; revb = 379 % 1024 bytes, 1 iterations: flip=3417, revb=11454; revb = 335 % 1024 bytes, 10 iterations: flip=33579, revb=92353; revb = 275 % 1024 bytes, 100 iterations: flip=555399, revb=1196228; revb = 215 % 1024 bytes, 1000 iterations: flip=3478271, revb=9227966; revb = 265 % 1048576 bytes, 1 iterations: flip=10189583, revb=7022193; revb = 68 % 1048576 bytes, 10 iterations: flip=19693347, revb=54389925; revb = 276 % 1048576 bytes, 100 iterations: flip=151308243, revb=454293151; revb = 300 % 1048576 bytes, 1000 iterations: flip=1390338439, revb=4429862642; revb = 318 % where 'revb' is the old arithmetic approach, and 'flip' the new look-up-table approach. In our usual cases of 100..1024 bytes in a single iteration, the old code takes 233..335% of the look-up table. Benchmarks on an Atom E6xx also show improvements except in one situation (a single iteration over one 1MB large buffer). 10 bytes, 1 iterations: flip=416, revb=9184; revb = 2207 % 10 bytes, 10 iterations: flip=1960, revb=4024; revb = 205 % 10 bytes, 100 iterations: flip=13624, revb=32408; revb = 237 % 10 bytes, 1000 iterations: flip=160656, revb=361784; revb = 225 % 100 bytes, 1 iterations: flip=3536, revb=4952; revb = 140 % 100 bytes, 10 iterations: flip=12960, revb=20912; revb = 161 % 100 bytes, 100 iterations: flip=122448, revb=215152; revb = 175 % 100 bytes, 1000 iterations: flip=1204928, revb=1647680; revb = 136 % 1024 bytes, 1 iterations: flip=12944, revb=23128; revb = 178 % 1024 bytes, 10 iterations: flip=126192, revb=239784; revb = 190 % 1024 bytes, 100 iterations: flip=1190184, revb=1491672; revb = 125 % 1024 bytes, 1000 iterations: flip=11865872, revb=15113872; revb = 127 % 1048576 bytes, 1 iterations: flip=16288272, revb=15925888; revb = 97 % 1048576 bytes, 10 iterations: flip=121957000, revb=157883384; revb = 129 % 1048576 bytes, 100 iterations: flip=1219264992, revb=1621265216; revb = 132 % 1048576 bytes, 1000 iterations: flip=12219520648, revb=15960035856; revb = 130 % Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e --- M src/bits.c 1 file changed, 32 insertions(+), 26 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/bits.c b/src/bits.c index 8837c1f..aa11753 100644 --- a/src/bits.c +++ b/src/bits.c @@ -226,6 +226,35 @@ return out_ofs + num_bits; } +/* look-up table for bit-reversal within a byte. Generated using: + int i,k; + for (i = 0 ; i < 256 ; i++) { + uint8_t sample = 0 ; + for (k = 0; k<8; k++) { + if ( i & 1 << k ) sample |= 0x80 >> k; + } + flip_table[i] = sample; + } + */ +static const uint8_t flip_table[256] = { + 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, + 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, + 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, + 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, + 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, + 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, + 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, + 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, + 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, + 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, + 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, + 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, + 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, + 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, + 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, + 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff, +}; + /*! generalized bit reversal function * \param[in] x the 32bit value to be reversed * \param[in] k the type of reversal requested @@ -265,16 +294,10 @@ /*! reverse the bit order in a byte * \param[in] x 8bit input value * \returns 8bit value where bits order has been reversed - * - * See Chapter 7 "Hackers Delight" */ uint32_t osmo_revbytebits_8(uint8_t x) { - x = (x & 0x55) << 1 | (x & 0xAA) >> 1; - x = (x & 0x33) << 2 | (x & 0xCC) >> 2; - x = (x & 0x0F) << 4 | (x & 0xF0) >> 4; - - return x; + return flip_table[x]; } /*! reverse bit-order of each byte in a buffer @@ -286,26 +309,9 @@ void osmo_revbytebits_buf(uint8_t *buf, int len) { unsigned int i; - unsigned int unaligned_cnt; - int len_remain = len; - unaligned_cnt = ((unsigned long)buf & 3); - for (i = 0; i < unaligned_cnt; i++) { - buf[i] = osmo_revbytebits_8(buf[i]); - len_remain--; - if (len_remain <= 0) - return; - } - - for (i = unaligned_cnt; i + 3 < len; i += 4) { - osmo_store32be(osmo_revbytebits_32(osmo_load32be(buf + i)), buf + i); - len_remain -= 4; - } - - for (i = len - len_remain; i < len; i++) { - buf[i] = osmo_revbytebits_8(buf[i]); - len_remain--; - } + for (i = 0; i < len; i++) + buf[i] = flip_table[buf[i]]; } /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I25029fe7e54c92979fb0119992fb8dc167e1536e Gerrit-Change-Number: 19497 Gerrit-PatchSet: 2 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 Mon Aug 3 00:26:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:26:28 +0000 Subject: Change in libosmocore[master]: i460_mux: add callback to notify empty tx queue In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19481 ) Change subject: i460_mux: add callback to notify empty tx queue ...................................................................... i460_mux: add callback to notify empty tx queue There is no way for the API user to know if the TX queue of the multiplexer runs empty. However, this is criticil since an empty TX queue will cause dropout of a TRAU frame, which can have quite severe effects to the receiving end. Lets add a callback that allows the APU user to insert appropiate idle frames or silent frames into the queue before it runs empty. Change-Id: I88a87724235fe50d55ce6215bb385c044072226e Related: OS#2547 --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c 2 files changed, 22 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h index 2e33b37..dd752db 100644 --- a/include/osmocom/gsm/i460_mux.h +++ b/include/osmocom/gsm/i460_mux.h @@ -52,9 +52,13 @@ void *user_data; }; +typedef void (*in_cb_queue_empty_t)(void *user_data); + struct osmo_i460_subchan_mux { /*! list of to-be-transmitted message buffers */ struct llist_head tx_queue; + in_cb_queue_empty_t in_cb_queue_empty; + void *user_data; }; struct osmo_i460_subchan { @@ -87,6 +91,14 @@ /* opaque user data pointer to pass to out_cb */ void *user_data; } demux; + + struct { + /* call-back function whenever the muxer requires more input data from the sub-channels, + * but has nothing enqueued yet. A typical function would then call osmo_i460_mux_enqueue() */ + in_cb_queue_empty_t in_cb_queue_empty; + /* opaque user data pointer to pass to in_cb */ + void *user_data; + } mux; }; void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len); diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index 50cb56e..dfd50e5 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -175,9 +175,15 @@ ubit_t bit; /* if we don't have anything to transmit, return '1' bits */ - if (llist_empty(&mux->tx_queue)) - return 0x01; + if (llist_empty(&mux->tx_queue)) { + /* User code now has a last chance to put something into the queue. */ + if (mux->in_cb_queue_empty) + mux->in_cb_queue_empty(mux->user_data); + /* If the queue is still empty, return idle bits */ + if (llist_empty(&mux->tx_queue)) + return 0x01; + } msg = llist_entry(mux->tx_queue.next, struct msgb, list); bit = msgb_pull_u8(msg); @@ -360,6 +366,8 @@ schan->demux.out_cb_bits = chd->demux.out_cb_bits; schan->demux.out_cb_bytes = chd->demux.out_cb_bytes; schan->demux.user_data = chd->demux.user_data; + schan->mux.in_cb_queue_empty = chd->mux.in_cb_queue_empty; + schan->mux.user_data = chd->mux.user_data; rc = alloc_bitbuf(ctx, schan, chd->demux.num_bits); if (rc < 0) { subchan_reset(schan, false); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I88a87724235fe50d55ce6215bb385c044072226e Gerrit-Change-Number: 19481 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 Mon Aug 3 00:26:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:26:28 +0000 Subject: Change in libosmocore[master]: i460: Add back-pointer from sub-channel to timeslot In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19501 ) Change subject: i460: Add back-pointer from sub-channel to timeslot ...................................................................... i460: Add back-pointer from sub-channel to timeslot A user may want to walk back from a sub-channel to the timeslot to which it belongs. Change-Id: Id6e5e208c5daa63fd23ac719d62314622b5d0ed9 --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h index dd752db..e7ea9bd 100644 --- a/include/osmocom/gsm/i460_mux.h +++ b/include/osmocom/gsm/i460_mux.h @@ -62,6 +62,7 @@ }; struct osmo_i460_subchan { + struct osmo_i460_timeslot *ts; /* back-pointer */ enum osmo_i460_rate rate; /* 8/16/32/64k */ uint8_t bit_offset; /* bit offset inside each byte of the B-channel */ struct osmo_i460_subchan_demux demux; diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index dfd50e5..3b2a589 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -339,6 +339,7 @@ for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { struct osmo_i460_subchan *schan = &ts->schan[i]; + schan->ts = ts; subchan_reset(schan, true); } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id6e5e208c5daa63fd23ac719d62314622b5d0ed9 Gerrit-Change-Number: 19501 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 Aug 3 00:26:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:26:28 +0000 Subject: Change in libosmocore[master]: i460: pass more context to call-back functions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19502 ) Change subject: i460: pass more context to call-back functions ...................................................................... i460: pass more context to call-back functions When calling a user-provided call-back function for the i460 mux or demux, always pass a pointer to the osmo_i460_subchan the callback relates to. This way, the user can walk the i460 data structures to obtain information about which mux/demux instances is calling. Change-Id: Id842c72ce371a67fe5df6694e195c281aaf607ab --- M include/osmocom/gsm/i460_mux.h M src/gsm/i460_mux.c M tests/i460_mux/i460_mux_test.c 3 files changed, 14 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h index e7ea9bd..8e39243 100644 --- a/include/osmocom/gsm/i460_mux.h +++ b/include/osmocom/gsm/i460_mux.h @@ -36,8 +36,12 @@ OSMO_I460_RATE_8k, }; -typedef void (*out_cb_bits_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); -typedef void (*out_cb_bytes_t)(void *user_data, const uint8_t *bytes, unsigned int num_bytes); +struct osmo_i460_subchan; + +typedef void (*out_cb_bits_t)(struct osmo_i460_subchan *schan, void *user_data, + const ubit_t *bits, unsigned int num_bits); +typedef void (*out_cb_bytes_t)(struct osmo_i460_subchan *schan, void *user_data, + const uint8_t *bytes, unsigned int num_bytes); struct osmo_i460_subchan_demux { /*! bit-buffer for output bits */ @@ -52,7 +56,7 @@ void *user_data; }; -typedef void (*in_cb_queue_empty_t)(void *user_data); +typedef void (*in_cb_queue_empty_t)(struct osmo_i460_subchan *schan, void *user_data); struct osmo_i460_subchan_mux { /*! list of to-be-transmitted message buffers */ diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index 3b2a589..320e781 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -69,14 +69,14 @@ if (demux->out_idx >= demux->out_bitbuf_size) { if (demux->out_cb_bits) - demux->out_cb_bits(demux->user_data, demux->out_bitbuf, demux->out_idx); + demux->out_cb_bits(schan, demux->user_data, demux->out_bitbuf, demux->out_idx); else { /* pack bits into bytes */ OSMO_ASSERT((demux->out_idx % 8) == 0); unsigned int num_bytes = demux->out_idx / 8; uint8_t bytes[num_bytes]; osmo_ubit2pbit(bytes, demux->out_bitbuf, demux->out_idx); - demux->out_cb_bytes(demux->user_data, bytes, num_bytes); + demux->out_cb_bytes(schan, demux->user_data, bytes, num_bytes); } demux->out_idx = 0; } @@ -137,11 +137,11 @@ schan = &ts->schan[0]; demux = &schan->demux; if (demux->out_cb_bytes) - demux->out_cb_bytes(demux->user_data, data, data_len); + demux->out_cb_bytes(schan, demux->user_data, data, data_len); else { ubit_t bits[data_len*8]; osmo_pbit2ubit(bits, data, data_len*8); - demux->out_cb_bits(demux->user_data, bits, data_len*8); + demux->out_cb_bits(schan, demux->user_data, bits, data_len*8); } return; } @@ -178,7 +178,7 @@ if (llist_empty(&mux->tx_queue)) { /* User code now has a last chance to put something into the queue. */ if (mux->in_cb_queue_empty) - mux->in_cb_queue_empty(mux->user_data); + mux->in_cb_queue_empty(schan, mux->user_data); /* If the queue is still empty, return idle bits */ if (llist_empty(&mux->tx_queue)) diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c index 53144fd..d63b2ae 100644 --- a/tests/i460_mux/i460_mux_test.c +++ b/tests/i460_mux/i460_mux_test.c @@ -3,7 +3,8 @@ #include -static void bits_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +static void bits_cb(struct osmo_i460_subchan *schan, void *user_data, + const ubit_t *bits, unsigned int num_bits) { char *str = user_data; printf("demux_bits_cb '%s': %s\n", str, osmo_ubit_dump(bits, num_bits)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id842c72ce371a67fe5df6694e195c281aaf607ab Gerrit-Change-Number: 19502 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 Aug 3 00:58:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:13 +0000 Subject: Change in libosmo-abis[master]: trau_frame: New API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 to look at the new patch set (#11). Change subject: trau_frame: New API ...................................................................... trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/Makefile.am A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 4 files changed, 1,514 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/11 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 11 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:58:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:13 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Introduce support for Downlink Time Alignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/19504 to look at the new patch set (#3). Change subject: trau_frame: Introduce support for Downlink Time Alignment ...................................................................... trau_frame: Introduce support for Downlink Time Alignment In the uplink direction, we provide osmo_trau_frame_dl_ta_us() to determine the time alignment as requested by the CCU in the BTS. In the downlink direction, the TRAU frame encoder will perform time alignment as requested by the user in osmo_trau_frame.dl_ta_usec. Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e --- M include/osmocom/trau/trau_frame.h M src/trau/trau_frame.c 2 files changed, 134 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/04/19504/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e Gerrit-Change-Number: 19504 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:58:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:13 +0000 Subject: Change in libosmo-abis[master]: TRAU frame RTP conversion In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 to look at the new patch set (#9). Change subject: TRAU frame RTP conversion ...................................................................... TRAU frame RTP conversion This adds code that converts codec frames between (decoded) TRAU format and RTP payload format. The FR + EFR functions have been lifted from OsmoNITB and exended slightly. The HR functions have been written from scratch. There is also incomplete code for AMR that needs to be completed + tested. Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 --- M include/Makefile.am A include/osmocom/trau/trau_rtp.h M src/Makefile.am A src/trau/trau_rtp_conv.c 4 files changed, 694 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/82/18382/9 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 Gerrit-Change-Number: 18382 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:58:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:13 +0000 Subject: Change in libosmo-abis[master]: Add 'trau2rtp' demo program illustrating the use of new TRAU code In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18931 to look at the new patch set (#4). Change subject: Add 'trau2rtp' demo program illustrating the use of new TRAU code ...................................................................... Add 'trau2rtp' demo program illustrating the use of new TRAU code This is just for development and hence in 'contrib', and not built by default. For details, see the included README Change-Id: I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b --- A contrib/trau2rtp/Makefile A contrib/trau2rtp/README A contrib/trau2rtp/e1_ts2_efr.bin A contrib/trau2rtp/e1_ts2_efr.log.bz2 A contrib/trau2rtp/e1_ts2_fr.bin A contrib/trau2rtp/e1_ts2_fr.log.bz2 A contrib/trau2rtp/strace-write-parse.py A contrib/trau2rtp/trau2rtp.c 8 files changed, 442 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/31/18931/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b Gerrit-Change-Number: 18931 Gerrit-PatchSet: 4 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 Aug 3 00:58:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:16 +0000 Subject: Change in libosmo-abis[master]: trau_sync: prevent false positive synchronization on startup References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19515 ) Change subject: trau_sync: prevent false positive synchronization on startup ...................................................................... trau_sync: prevent false positive synchronization on startup The history buffer is filled with zeros on startup. Together with incoming bits those may appear as a valid signal. (each trau frame begins with 16 zeros). In order to prevent this lets set the history buffer to all ones, so that it looks like the data in the history buffer is from an unused timeslot. Change-Id: Ie5cc7b9a1ab3d8940ef9d2147f5999e8d09ee40e Related: OS#2547 --- M src/trau/trau_sync.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/15/19515/1 diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index c4baad6..dfd7ce4 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -502,6 +502,12 @@ /* FIXME: this must be configurable */ tss->pattern = &sync_patterns[pat_id]; + /* An unusued E1 timeslot normally would send an idle signal that + * has all bits set to one. In order to prevent false-positive + * synchronization on startup we set all history bits to 1, to make + * it look like a signal from an unused timeslot. */ + memset(tss->history, 1, sizeof(tss->history)); + return fi; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie5cc7b9a1ab3d8940ef9d2147f5999e8d09ee40e Gerrit-Change-Number: 19515 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 Aug 3 00:58:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:34 +0000 Subject: Change in libosmo-abis[master]: trau_frame: New API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18249 ) Change subject: trau_frame: New API ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 11 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00:58:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:58:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:44 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Introduce support for Downlink Time Alignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19504 ) Change subject: trau_frame: Introduce support for Downlink Time Alignment ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e Gerrit-Change-Number: 19504 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00:58: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 Aug 3 00:58:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:58:51 +0000 Subject: Change in libosmo-abis[master]: osmo_trau_frame_encode(): Check for sufficiently sized output buffer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19505 ) Change subject: osmo_trau_frame_encode(): Check for sufficiently sized output buffer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie14399b2271aba9ff81f62d593a0ddd9d3e83d98 Gerrit-Change-Number: 19505 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00:58: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 Aug 3 00:59:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:59:16 +0000 Subject: Change in libosmo-abis[master]: Add new TRAU frame sync code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18250 ) Change subject: Add new TRAU frame sync code ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 12 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00:59:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 00:59:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:59:25 +0000 Subject: Change in libosmo-abis[master]: trau_sync: prevent false positive synchronization on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19515 ) Change subject: trau_sync: prevent false positive synchronization on startup ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie5cc7b9a1ab3d8940ef9d2147f5999e8d09ee40e Gerrit-Change-Number: 19515 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Aug 2020 00:59: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 Aug 3 00:59:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:59:31 +0000 Subject: Change in libosmo-abis[master]: TRAU frame RTP conversion In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18382 ) Change subject: TRAU frame RTP conversion ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 Gerrit-Change-Number: 18382 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 00:59: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 Aug 3 00:59:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 00:59:42 +0000 Subject: Change in libosmo-abis[master]: Add 'trau2rtp' demo program illustrating the use of new TRAU code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18931 ) Change subject: Add 'trau2rtp' demo program illustrating the use of new TRAU code ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b Gerrit-Change-Number: 18931 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 00:59:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 01:11:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:35 +0000 Subject: Change in libosmo-abis[master]: trau_frame: New API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18249 ) Change subject: trau_frame: New API ...................................................................... trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/Makefile.am A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 4 files changed, 1,514 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index 2048520..aa735c5 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -4,4 +4,5 @@ osmocom/abis/ipa_proxy.h osmocom/abis/ipaccess.h osmocom/abis/abis.h \ osmocom/abis/subchan_demux.h osmocom/abis/e1_input.h \ osmocom/abis/lapd.h osmocom/abis/lapd_pcap.h osmocom/trau/osmo_ortp.h \ - osmocom/abis/unixsocket_proto.h + osmocom/abis/unixsocket_proto.h \ + osmocom/trau/trau_frame.h diff --git a/include/osmocom/trau/trau_frame.h b/include/osmocom/trau/trau_frame.h new file mode 100644 index 0000000..6784d1f --- /dev/null +++ b/include/osmocom/trau/trau_frame.h @@ -0,0 +1,146 @@ +#pragma once +/* TRAU frame handling according to GSM TS 48.060 / 48.061 */ + +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +/*! \defgroup trau_frame TRAU frame handling + * @{ + * + * \file trau_frame.h + */ + +/*! \brief Maximum number of C-bits in a TRAU frame: + * 21 for FR/EFR, 25 for AMR, 15 for OM, 15 for data, 13 for E-data, 21 idle */ +#define MAX_C_BITS 25 +/*! \brief Maximum number of D-bits in a TRAU frame: + * 260 for FR/EFR, 256 for AMR, 264 for OM, 288 for E-data */ +#define MAX_D_BITS 288 +/*! \brief Maximum number of T-bits in a TRAU frame for all speech frames */ +#define MAX_T_BITS 4 +/*! \brief Maximum number of S-bits in a TRAU frame for OM */ +#define MAX_S_BITS 6 +/*! \brief Maximum number of M-bits in a TRAU frame for E-data */ +#define MAX_M_BITS 2 +/*! \brief Maximum number of XC-bits in a TRAU frame for 8k */ +#define MAX_XC_BITS 6 + +/*! 16k sub-slot types: Bits C1..C5 */ +#define TRAU_FT_FR_UP 0x02 /* 0 0 0 1 0 - 3.5.1.1.1 */ +#define TRAU_FT_HR_UP 0x03 /* 0 0 0 1 1 - TS 08.61 5.1.4.1.1 */ +#define TRAU_FT_FR_DOWN 0x1c /* 1 1 1 0 0 - 3.5.1.1.1 */ +#define TRAU_FT_HR_DOWN 0x1d /* 1 1 1 0 1 - TS 08.61 5.1.4.1.1 */ +#define TRAU_FT_EFR 0x1a /* 1 1 0 1 0 - 3.5.1.1.1 */ +#define TRAU_FT_AMR 0x06 /* 0 0 1 1 0 - 3.5.1.2 */ +#define TRAU_FT_OM_UP 0x05 /* 0 0 1 0 1 - 3.5.2 */ +#define TRAU_FT_OM_DOWN 0x1b /* 1 1 0 1 1 - 3.5.2 */ +#define TRAU_FT_DATA_UP 0x08 /* 0 1 0 0 0 - 3.5.3 */ +#define TRAU_FT_DATA_UP_HR 0x09 /* 0 1 0 0 1 - TS 08.61 5.1.4.2 */ +#define TRAU_FT_DATA_DOWN 0x16 /* 1 0 1 1 0 - 3.5.3 */ +#define TRAU_FT_DATA_DOWN_HR 0x17 /* 1 0 1 1 1 - TS 08.61 5.1.4.2 */ +#define TRAU_FT_D145_SYNC 0x14 /* 1 0 1 0 0 - 3.5.3 */ +#define TRAU_FT_EDATA 0x1f /* 1 1 1 1 1 - 3.5.4 */ +#define TRAU_FT_IDLE_UP 0x10 /* 1 0 0 0 0 - 3.5.5 */ +#define TRAU_FT_IDLE_DOWN 0x0e /* 0 1 1 1 0 - 3.5.5 */ + +/* 8k sub-slot types: Bits C1..C5*/ +#define TRAU8_FT_SPEECH_UP 0x02 /* 0 0 0 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_DATA_UP 0x06 /* 0 0 1 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_OM_UP 0x0a /* 0 1 0 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_SPEECH_DOWN 0x00 /* 0 0 0 U P - TS 08.61 5.2.4.1.2 */ +#define TRAU8_FT_DATA_DOWN 0x04 /* 0 0 1 U P - TS 08.61 5.2.4.1.2 */ +#define TRAU8_FT_OM_DOWN 0x08 /* 0 1 0 U P - TS 08.61 5.2.4.1.2 */ + +/********************************************************************************* + * New API + *********************************************************************************/ + +enum osmo_trau_frame_type { + OSMO_TRAU_FT_NONE, + OSMO_TRAU16_FT_FR = 1, + OSMO_TRAU16_FT_HR, + OSMO_TRAU16_FT_EFR, + OSMO_TRAU16_FT_AMR, + OSMO_TRAU16_FT_OAM, + OSMO_TRAU16_FT_DATA, + OSMO_TRAU16_FT_EDATA, + OSMO_TRAU16_FT_D145_SYNC, + OSMO_TRAU16_FT_DATA_HR, + OSMO_TRAU16_FT_IDLE, + + OSMO_TRAU8_SPEECH, + OSMO_TRAU8_DATA, + OSMO_TRAU8_OAM, + OSMO_TRAU8_AMR_LOW, + OSMO_TRAU8_AMR_6k7, + OSMO_TRAU8_AMR_7k4, +}; + +extern const struct value_string osmo_trau_frame_type_names[]; +static inline const char *osmo_trau_frame_type_name(enum osmo_trau_frame_type ft) { + return get_value_string(osmo_trau_frame_type_names, ft); +} + +enum osmo_trau_frame_direction { + OSMO_TRAU_DIR_UL = 0, + OSMO_TRAU_DIR_DL = 1, +}; + +struct osmo_trau_frame { + enum osmo_trau_frame_type type; + enum osmo_trau_frame_direction dir; + + ubit_t c_bits[MAX_C_BITS]; + ubit_t d_bits[MAX_D_BITS]; + ubit_t t_bits[MAX_T_BITS]; + ubit_t s_bits[MAX_S_BITS]; + ubit_t m_bits[MAX_M_BITS]; + ubit_t ufi; /*!< Unreliable Frame Indication (HR) */ + ubit_t crc_bits[3]; /*!< CRC0..CRC2 (HR) */ + ubit_t xc_bits[MAX_XC_BITS]; /*!< XC1..XC6 (8k) */ +}; + +/*! decode an 8k TRAU frame + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked input bits + * \param[in] dir direction + * \return 0 on success; negative in case of error */ +int osmo_trau_frame_decode_8k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir); + +/*! decode an 16k TRAU frame + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked input bits + * \param[in] dir direction + * \return 0 on success; negative in case of error */ +int osmo_trau_frame_decode_16k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir); + +/*! encode a TRAU frame + * \param[out] bits caller-allocated memory for unpacked output bits + * \param[out] fr input data structure describing TRAU frame + * \return number of bits encoded */ +int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr); + + +/* }@ */ diff --git a/src/Makefile.am b/src/Makefile.am index 3838a5a..d1743af 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,4 +35,5 @@ libosmotrau_la_CFLAGS = $(AM_CFLAGS) $(ORTP_CFLAGS) libosmotrau_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(TRAU_LIBVERSION) libosmotrau_la_LIBADD = $(COMMONLIBS) $(ORTP_LIBS) -libosmotrau_la_SOURCES = trau/osmo_ortp.c +libosmotrau_la_SOURCES = trau/osmo_ortp.c \ + trau/trau_frame.c diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c new file mode 100644 index 0000000..a57d642 --- /dev/null +++ b/src/trau/trau_frame.c @@ -0,0 +1,1364 @@ +/* New (2020) TRAU frame handling according to GSM TS 48.060 + 48.061 */ + +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * SPDX-License-Identifier: AGPL-3.0+ + * + * 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 "internal.h" + +#include +#include +#include +#include +#include + +#include +#include + +/*! \addtogroup trau_frame + * @{ + * + * \file trau_frame.c + */ + +static uint32_t get_bits(const ubit_t *bitbuf, int offset, int num) +{ + int i; + uint32_t ret = 0; + + for (i = offset; i < offset + num; i++) { + ret = ret << 1; + if (bitbuf[i]) + ret |= 1; + } + return ret; +} + +const struct value_string osmo_trau_frame_type_names[] = { + { OSMO_TRAU_FT_NONE, "NONE" }, + { OSMO_TRAU16_FT_FR, "FR" }, + { OSMO_TRAU16_FT_HR, "HR" }, + { OSMO_TRAU16_FT_EFR, "EFR" }, + { OSMO_TRAU16_FT_AMR, "AMR" }, + { OSMO_TRAU16_FT_OAM, "OAM" }, + { OSMO_TRAU16_FT_DATA, "DATA" }, + { OSMO_TRAU16_FT_EDATA, "EDATA" }, + { OSMO_TRAU16_FT_D145_SYNC, "D145_SYNC" }, + { OSMO_TRAU16_FT_DATA_HR, "DATA_HR" }, + { OSMO_TRAU16_FT_IDLE, "IDLE" }, + { OSMO_TRAU8_SPEECH, "8SPEECH" }, + { OSMO_TRAU8_DATA, "8DATA" }, + { OSMO_TRAU8_OAM, "8OAM" }, + { OSMO_TRAU8_AMR_LOW, "8AMR_LOW" }, + { OSMO_TRAU8_AMR_6k7, "8AMR_6k7" }, + { OSMO_TRAU8_AMR_7k4, "8AMR_7k4" }, + { 0, NULL } +}; + +/********************************************************************************* + * New API; introduced in 2020 for use by osmo-mgw + *********************************************************************************/ + +/* 16k sub-slots */ +static const ubit_t ft_fr_up_bits[5] = { 0, 0, 0, 1, 0 }; +static const ubit_t ft_fr_down_bits[5] = { 1, 1, 1, 0, 0 }; +static const ubit_t ft_data_up_bits[5] = { 0, 1, 0, 0, 0 }; +static const ubit_t ft_data_down_bits[5] = { 1, 0, 1, 1, 0 }; +static const ubit_t ft_idle_up_bits[5] = { 1, 0, 0, 0, 0 }; +static const ubit_t ft_idle_down_bits[5] = { 0, 1, 1, 1, 0 }; +static const ubit_t ft_efr_bits[5] = { 1, 1, 0, 1, 0 }; +static const ubit_t ft_amr_bits[5] = { 0, 0, 1, 1, 0 }; +static const ubit_t ft_oam_up_bits[5] = { 0, 0, 1, 0, 1 }; +static const ubit_t ft_oam_down_bits[5] = { 1, 1, 0, 1, 1 }; +static const ubit_t ft_d145s_bits[5] = { 1, 0, 1, 0, 0 }; +static const ubit_t ft_edata_bits[5] = { 1, 1, 1, 1, 1 }; + +/* 8k sub-slots */ +static const ubit_t ft_hr_up_bits[5] = { 0, 0, 0, 1, 1 }; +static const ubit_t ft_hr_down_bits[5] = { 1, 1, 1, 0, 1 }; +static const ubit_t ft_data_hr_up_bits[5] = { 0, 1, 0, 0, 1 }; +static const ubit_t ft_data_hr_down_bits[5] = { 1, 0, 1, 1, 1 }; + + +/* generate the sync pattern described in TS 08.60 4.8.1 */ +static void encode_sync16(ubit_t *trau_bits) +{ + int i; + + /* 16 '0' bits in header */ + memset(trau_bits, 0, 16); + /* '1'-bit in regular intervals */ + for (i = 16; i < 40*8; i += 16) + trau_bits[i] = 1; +} + +#define T16_500us 8 /* 500 us = 8 bits */ +#define T16_250us 4 /* 250 us = 4 bits */ + +/* How many 16k bits to delay / advance (TS 48.060 Section 5.5.1.1.1) */ +static int fr_efr_alignment_bitcount(uint8_t c6_11) +{ + if (c6_11 <= 0x27) + return c6_11 * T16_500us; /* delay frame N x 500us */ + else if (c6_11 == 0x3e) + return T16_250us; /* delay frame 250us */ + else if (c6_11 == 0x3f) + return -T16_250us; /* advance frame 250us */ + else + return 0; +} + +/* TS 08.60 Section 3.1.1 */ +static int encode16_fr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i; + int d_idx = 0; + + switch (fr->type) { + case OSMO_TRAU16_FT_IDLE: + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_idle_up_bits; + else + cbits5 = ft_idle_down_bits; + break; + case OSMO_TRAU16_FT_FR: + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_fr_up_bits; + else + cbits5 = ft_fr_down_bits; + break; + case OSMO_TRAU16_FT_EFR: + cbits5 = ft_efr_bits; + break; + default: + return -EINVAL; + } + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5 + 0, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + /* D1 .. D255 */ + for (i = 32; i < 304; i += 16) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + d_idx += 15; + } + /* D256 .. D260 */ + trau_bits[304] = 1; + memcpy(trau_bits + 305, fr->d_bits + d_idx, 5); + /* C16 .. C21 */ + memcpy(trau_bits + 310, fr->c_bits + 15, 6); + + /* T1 .. T4 */ + memcpy(trau_bits + 316, fr->t_bits+0, 4); + + /* handle timing adjustment */ + if (fr->dir == OSMO_TRAU_DIR_DL) { + uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); + int ta_bits = fr_efr_alignment_bitcount(cbits6_11); + if (ta_bits > 0) { + memset(trau_bits+320, 1, ta_bits); + return 320 + ta_bits; + } else if (ta_bits < 0) + return 320 - ta_bits; + } + return 40 * 8; +} + +/* TS 08.60 Section 3.1.1 */ +static int decode16_fr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i; + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C21 */ + memcpy(fr->c_bits + 15, trau_bits + 310, 6); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 316, 4); + /* D1 .. D255 */ + for (i = 32; i < 304; i+= 16) { + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + d_idx += 15; + } + /* D256 .. D260 */ + memcpy(fr->d_bits + d_idx, trau_bits + 305, 5); + + return 0; +} + +/* TS 08.60 Section 3.1.2 */ +static int encode16_amr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5 = ft_amr_bits; + int i, d_idx; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5 + 0, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + trau_bits[32] = 1; + /* C16 .. C25 */ + memcpy(trau_bits + 33, fr->c_bits + 15, 10); + /* D1 .. D5 */ + memcpy(trau_bits + 43, fr->d_bits + 0, 5); + + /* D6 .. D256 */ + for (i = 48, d_idx = 5; i <= 315; i += 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + } + + /* T1 .. T4 */ + memcpy(trau_bits + 316, fr->t_bits + 0, 4); + + /* handle timing adjustment */ + if (fr->dir == OSMO_TRAU_DIR_DL) { + uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); + int ta_bits = fr_efr_alignment_bitcount(cbits6_11); + if (ta_bits > 0) { + memset(trau_bits+320, 1, ta_bits); + return 320 + ta_bits; + } else if (ta_bits < 0) + return 320 - ta_bits; + } + /* FIXME: handle TAE (Timing Alignment Extension) */ + return 40 * 8; +} + +/* TS 08.60 Section 3.1.2 */ +static int decode16_amr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i; + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C25 */ + memcpy(fr->c_bits + 15, trau_bits + 33, 10); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 316, 4); + /* D1 .. D5 */ + memcpy(fr->d_bits, trau_bits + 43, 5); + d_idx += 5; + /* D6 .. D245 */ + for (i = 48; i < 304; i += 16) { + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + d_idx += 15; + } + /* D246 .. D256 */ + memcpy(fr->d_bits + d_idx, trau_bits + 305, 11); + + return 0; +} + +/* TS 08.60 Section 3.2 */ +static int encode16_oam(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_oam_up_bits; + else + cbits5 = ft_oam_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits, 15 - 5); + + /* D1 .. D255 */ + for (i = 32, d_idx = 0; i < 304; i += 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + } + /* D256 .. D264 */ + memcpy(trau_bits + 305, fr->d_bits + 256, 9); + + /* S1 .. S6 */ + memcpy(trau_bits + 314, fr->s_bits, 6); + + return 40 * 8; +} + +/* TS 08.60 Section 3.2 */ +static int decode16_oam(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + + /* D1 .. D255 */ + for (i = 33, d_idx = 0; i < 312; i+= 16, d_idx += 15) + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + /* D256 .. D264 */ + memcpy(fr->d_bits+d_idx, trau_bits + 305, 9); + + /* S1 .. S6 */ + memcpy(fr->s_bits, trau_bits + 314, 6); + + return 0; +} + +/* TS 08.61 Section 5.1.1.1 */ +static int encode16_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int d_idx = 0; + const ubit_t *cbits5; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_hr_up_bits; + else + cbits5 = ft_hr_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 10); + + /* UFI */ + trau_bits[33] = fr->ufi; + + /* D1 .. D14 */ + memcpy(trau_bits + 4 * 8 + 2, fr->d_bits+d_idx, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(trau_bits + 6 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(trau_bits + 8 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* CRC */ + memcpy(trau_bits + 10 * 8 + 1, fr->crc_bits, 3); + /* D45 .. D56 */ + memcpy(trau_bits + 10 * 8 + 4, fr->d_bits+d_idx, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(trau_bits + 12 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(trau_bits + 14 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(trau_bits + 16 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(trau_bits + 18 * 8 + 1, fr->d_bits+d_idx, 11); d_idx += 11; + + memset(trau_bits + 19 * 8 + 4, 0x01, 4 + 18 * 8 + 6); + /* C16 .. C21 */ + memcpy(trau_bits + 38 * 8 + 6, fr->c_bits + 15, 6); + + /* T1 .. T4 */ + memcpy(trau_bits + 39 * 8 + 4, fr->t_bits, 4); + + /* handle timing adjustment */ + if (fr->dir == OSMO_TRAU_DIR_DL) { + uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); + int ta_bits = fr_efr_alignment_bitcount(cbits6_11); + if (ta_bits > 0) { + memset(trau_bits+320, 1, ta_bits); + return 320 + ta_bits; + } else if (ta_bits < 0) + return 320 - ta_bits; + } + return 40 * 8; +} + +/* TS 08.61 Section 5.1.1.1 */ +static int decode16_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C21 */ + memcpy(fr->c_bits + 15, trau_bits + 38 * 8 + 6, 6); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 39 * 8 + 4, 4); + + /* UFI */ + fr->ufi = trau_bits[33]; + /* D1 .. D14 */ + memcpy(fr->d_bits + d_idx, trau_bits + 4 * 8 + 2, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(fr->d_bits + d_idx, trau_bits + 6 * 8 + 1, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(fr->d_bits + d_idx, trau_bits + 8 * 8 + 1, 15); d_idx += 15; + /* CRC0..2 */ + memcpy(fr->crc_bits, trau_bits + 10 * 8 + 1, 3); + /* D45 .. D56 */ + memcpy(fr->d_bits + d_idx, trau_bits + 10 * 8 + 4, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(fr->d_bits + d_idx, trau_bits + 12 * 8 + 1, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(fr->d_bits + d_idx, trau_bits + 14 * 8 + 1, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(fr->d_bits + d_idx, trau_bits + 16 * 8 + 1, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(fr->d_bits + d_idx, trau_bits + 18 * 8 + 1, 11); d_idx += 11; + + return 0; +} + +static struct osmo_trau_frame fr_idle_frame = { + .type = OSMO_TRAU16_FT_IDLE, + .dir = OSMO_TRAU_DIR_DL, + .t_bits = { 1, 1, 1, 1 }, +}; +#define TRAU_FRAME_BITS (40*8) +static ubit_t encoded_idle_frame[TRAU_FRAME_BITS]; +static int dbits_initted = 0; + +/*! \brief return pointer to global buffer containing a TRAU idle frame */ +static ubit_t *trau_idle_frame(void) +{ + /* only initialize during the first call */ + if (!dbits_initted) { + /* set all D-bits to 1 */ + memset(&fr_idle_frame.d_bits, 0x01, 260); + + memset(&fr_idle_frame.c_bits, 0x01, 25); /* spare are set to 1 */ + /* set Downlink Idle Speech Frame pattern */ + fr_idle_frame.c_bits[0] = 0; /* C1 */ + fr_idle_frame.c_bits[1] = 1; /* C2 */ + fr_idle_frame.c_bits[2] = 1; /* C3 */ + fr_idle_frame.c_bits[3] = 1; /* C4 */ + fr_idle_frame.c_bits[4] = 0; /* C5 */ + /* set no Time Alignment pattern */ + fr_idle_frame.c_bits[5] = 0; /* C6 */ + fr_idle_frame.c_bits[6] = 0; /* C7 */ + fr_idle_frame.c_bits[7] = 0; /* C8 */ + fr_idle_frame.c_bits[8] = 0; /* C9 */ + fr_idle_frame.c_bits[9] = 0; /* C10 */ + fr_idle_frame.c_bits[10] = 0; /* C11 */ + /* already set to 1, but maybe we need to modify it in the future */ + fr_idle_frame.c_bits[11] = 1; /* C12 (UFE), good frame */ + fr_idle_frame.c_bits[15] = 1; /* C16 (SP), no DTX */ + + encode16_fr(encoded_idle_frame, &fr_idle_frame); + dbits_initted = 1; /* set it to 1 to not call it again */ + } + return encoded_idle_frame; +} + +/* TS 08.60 Section 3.4 */ +static int encode16_idle(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + memcpy(trau_bits, trau_idle_frame(), 40*8); + return 40 * 8; +} + +/* TS 08.60 Section 3.3.1 */ +static int decode16_data(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (4 + i) * 8 + 1, 7); + d_idx += 7; + } + /* D64 .. D126 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (13 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D127 .. D189 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (22 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D190 .. D252 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (31 + i) * 8 + 1, 7); + d_idx += 7; + } + + return 0; +} + +/* TS 08.60 Section 3.3.1 */ +static int encode16_data(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx = 0; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_data_up_bits; + else + cbits5 = ft_data_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (4 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D64 .. D126 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (13 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D127 .. D189 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (22 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D190 .. D252 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (31 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + return 40 * 8; +} + +/* TS 08.60 3.3.2 */ +static int decode16_edata(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + /* C1 .. C13 */ + memcpy(fr->c_bits, trau_bits + 17, 13); + + /* M1 .. M2 */ + memcpy(fr->m_bits, trau_bits + 30, 2); + + /* D1 .. D288 */ + memcpy(fr->d_bits, trau_bits + 4 * 8, 288); + + return 0; +} + +/* TS 08.60 Section 3.3.2 */ +static int encode16_edata(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + + if (fr->type == OSMO_TRAU16_FT_D145_SYNC) + cbits5 = ft_d145s_bits; + else + cbits5 = ft_edata_bits; + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + + /* C6 .. C13 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 8); + + /* M1 .. M2 */ + memcpy(trau_bits + 30, fr->m_bits, 2); + + /* D1 .. D288 */ + memcpy(trau_bits + 4 * 8, fr->d_bits, 288); + + return 40 * 8; +} + +/* TS 08.61 Section 5.1.2 */ +static int decode16_data_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits+0, trau_bits + 17, 15); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (4 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D'1 .. D'63 (mapped to D64..D127) */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (22 + i) * 8 + 1, 7); + d_idx += 7; + } + + return 0; +} + +/* TS 08.61 Section 5.1.2 */ +static int encode16_data_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx = 0; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_data_hr_up_bits; + else + cbits5 = ft_data_hr_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + /* D1 .. D63 */ + for (i = 4; i < 4 + 9; i++) { + unsigned int offset = i * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + memset(trau_bits + 13*8, 1, 9*8); + + /* D'1 .. D'63 (mapped to D64..D127) */ + for (i = 22; i < 22 + 9; i++) { + unsigned int offset = i * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + memset(trau_bits + 31*8, 1, 9*8); + + return 40 * 8; +} + +/* TS 08.61 Section 5.2.1.1 */ +static int decode8_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 9, 5); + /* XC1 .. XC2 */ + memcpy(fr->xc_bits, trau_bits + 8 + 6, 2); + /* XC3 .. XC6 */ + memcpy(fr->xc_bits + 2, trau_bits + 2 * 8 + 2, 4); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + + /* D1 .. D44 */ + for (i = 3; i < 3 + 6; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + + /* CRC0 .. CRC2 */ + fr->crc_bits[2] = trau_bits[82]; + fr->crc_bits[1] = trau_bits[83]; + fr->crc_bits[0] = trau_bits[84]; + + /* D45 .. D48 */ + memcpy(fr->d_bits + d_idx, trau_bits + 85, 4); + + /* D49 .. D111 */ + for (i = 10; i < 10 + 10; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + /* D112 */ + fr->d_bits[d_idx++] = trau_bits[19 * 8 + 1]; + + /* C6 .. C9 */ + memcpy(fr->c_bits + 5, trau_bits + 19 * 8 + 2, 4); + + /* T1 .. T2 */ + fr->t_bits[0] = trau_bits[19 * 8 + 6]; + fr->t_bits[1] = trau_bits[19 * 8 + 7]; + + return 0; +} + +/* compute the odd parity bit of the given input bit sequence */ +static ubit_t compute_odd_parity(const ubit_t *in, unsigned int num_bits) +{ + int i; + unsigned int sum = 0; + + for (i = 0; i < num_bits; i++) { + if (in[i]) + sum++; + } + + if (sum % 1) + return 0; + else + return 1; +} + +/* TS 08.61 Section 5.2.1.1 */ +static int encode8_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[8] = 1; + trau_bits[16] = 0; + trau_bits[17] = 1; + for (i = 3; i < 20; i++) + trau_bits[i * 8] = 1; + + /* C1 .. C5 */ + ubit_t *cbits_out = trau_bits + 1 * 8 + 1; + if (fr->dir == OSMO_TRAU_DIR_UL) { + cbits_out[0] = 0; + cbits_out[1] = 0; + cbits_out[2] = 0; + cbits_out[3] = 1; + cbits_out[4] = 1; + } else { + cbits_out[0] = 0; + cbits_out[1] = 0; + cbits_out[2] = 0; + cbits_out[3] = fr->c_bits[3]; + cbits_out[4] = compute_odd_parity(cbits_out, 4); + } + + /* XC1 .. XC2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->xc_bits, 2); + /* XC3 .. XC6 */ + memcpy(trau_bits + 2 * 8 + 2, fr->xc_bits, 4); + /* D1 .. D2 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits, 2); + d_idx += 2; + + /* D1 .. D44 */ + for (i = 3; i < 3 + 6; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + }; + + /* CRC0 .. CRC2 */ + trau_bits[82] = fr->crc_bits[2]; + trau_bits[83] = fr->crc_bits[1]; + trau_bits[84] = fr->crc_bits[0]; + + /* D49 .. D111 */ + for (i = 10; i < 10 + 10; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D112 */ + trau_bits[19 * 8 + 1] = fr->d_bits[d_idx++]; + + /* C6 .. C9 */ + memcpy(trau_bits + 19 * 8 + 2, fr->c_bits + 5, 4); + + /* FIXME: handle timing adjustment */ + /* T1 .. T2 */ + trau_bits[19 * 8 + 6] = fr->t_bits[0]; + trau_bits[19 * 8 + 7] = fr->t_bits[1]; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.1.2.1 */ +static int decode8_amr_low(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* D1 .. D7 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 5); + /* D8 .. D9 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + /* D10 .. D15 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3 * 8 + 2, 6); + d_idx += 6; + /* D16 .. D120 */ + for (i = 4; i < 19; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + /* D121 .. D126 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 6; + + /* T1 */ + fr->t_bits[0] = trau_bits[19 * 8 + 7]; + + return 0; +} + +/* TS 08.61 Section 5.2.1.2.1 */ +static int encode8_amr_low(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[8] = 1; + trau_bits[16] = 1; + trau_bits[24] = 0; + trau_bits[25] = 1; + for (i = 4; i < 20; i++) + trau_bits[i * 8] = 1; + + /* D1 .. D7 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1 .. C5 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 5); + /* D8 .. D9 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D10 .. D15 */ + memcpy(trau_bits + 3 * 8 + 2, fr->d_bits + d_idx, 6); + d_idx += 6; + /* D16 .. D120 */ + for (i = 4; i < 19; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D121 .. D126 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 6; + + /* T1 */ + trau_bits[19 * 8 + 7] = fr->t_bits[0]; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.1.2.2 */ +static int decode8_amr_67(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* D1 .. D7 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1 .. C3 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 3); + /* D8 .. D11 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 4, 4); + d_idx += 4; + /* D12 .. D39 */ + for (i = 3; i < 7; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 2, 7); + d_idx += 7; + } + + /* D40 .. D137 */ + for (i = 7; i < 20; i+= 2) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 15); + d_idx += 15; + } + + return 0; +} + +/* TS 08.61 Section 5.1.2.2 */ +static int encode8_amr_67(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8] = 1; + trau_bits[2 * 8] = 1; + trau_bits[3 * 8] = 1; + trau_bits[4 * 8] = 1; + trau_bits[5 * 8] = 0; + for (i = 5; i < 20; i += 2) + trau_bits[i * 8] = 1; + + /* D1 .. D7 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1 .. C3 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 3); + /* D8 .. D11 */ + memcpy(trau_bits + 2 * 8 + 4, fr->d_bits + d_idx, 4); + d_idx += 4; + /* D12 .. D39 */ + for (i = 3; i < 7; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 2, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D40 .. D137 */ + for (i = 7; i < 20; i+= 2) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 15); + d_idx += 15; + } + + return 20 * 8; +} + +/* TS 08.61 Section 5.1.2.3 */ +static int decode8_amr_74(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int d_idx = 0; + + /* D1 .. D5 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3, 5); + d_idx += 5; + /* D6 .. D12 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1.. C3 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 3); + /* D13 .. D16 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 4, 4); + d_idx += 4; + /* D17 .. D23 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3 * 8 + 1, 7); + d_idx += 7; + /* D24 .. D151 */ + memcpy(fr->d_bits + d_idx, trau_bits + 4 * 8, 16 * 8); + + return 0; +} + +/* TS 08.61 Section 5.1.2.3 */ +static int encode8_amr_74(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int d_idx = 0; + + /* sync pattern */ + trau_bits[0] = 0; + trau_bits[1] = 0; + trau_bits[2] = 1; + trau_bits[1*8] = 0; + trau_bits[2*8] = 1; + trau_bits[3*8] = 0; + + /* D1 .. D5 */ + memcpy(trau_bits + 3, fr->d_bits + d_idx, 5); + d_idx += 5; + /* D6 .. D12 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1.. C3 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 3); + /* D13 .. D16 */ + memcpy(trau_bits + 2 * 8 + 4, fr->d_bits + d_idx, 4); + d_idx += 4; + /* D17 .. D23 */ + memcpy(trau_bits + 3 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* D24 .. D151 */ + memcpy(trau_bits + 4 * 8, fr->d_bits + d_idx, 16 * 8); + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.2 */ +static int decode8_data(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 1 * 8 + 1, 5); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 6, 2); + d_idx += 2; + /* D3 .. D8 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 2, 6); + /* D9 .. D57 + D'1 .. D'57 */ + for (i = 3; i < 20; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + i * 8 + 1, 7); + d_idx += 7; + } + /* D'58 .. D'62 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 6; + + return 0; +} + +/* TS 08.61 Section 5.2.2 */ +static int encode8_data(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8] = 1; + trau_bits[2 * 8] = 0; + trau_bits[2 * 8 + 1] = 1; + for (i = 3; i < 19; i++) + trau_bits[i * 8] = 1; + trau_bits[19 * 8 + 7] = 1; + + /* C1 .. C5 */ + memcpy(trau_bits + 1 * 8 + 1, fr->c_bits, 5); + /* D1 .. D2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D3 .. D8 */ + memcpy(trau_bits + 2 * 8 + 2, fr->d_bits + d_idx, 6); + /* D9 .. D57 + D'1 .. D'57 */ + for (i = 3; i < 20; i++) { + memcpy(trau_bits + i * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D'58 .. D'62 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 6; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.3 */ +static int decode8_oam(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 1 * 8 + 1, 5); + /* XC1 .. XC2 */ + memcpy(fr->xc_bits, trau_bits + 1 * 8 + 6, 2); + /* XC3 .. XC6 */ + memcpy(fr->xc_bits + 2, trau_bits + 2 * 8 + 2, 4); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + /* D3 .. D114 */ + for (i = 3; i < 19; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + i * 8 + 1, 7); + d_idx += 7; + } + /* D115 .. D120 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 7; + + return 0; +} + +/* TS 08.61 Section 5.2.3 */ +static int encode8_oam(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8 + 0] = 1; + trau_bits[2 * 8 + 0] = 0; + trau_bits[2 * 8 + 1] = 1; + for (i = 3; i < 20; i++) + trau_bits[i * 8] = 1; + + /* C1 .. C5 */ + memcpy(trau_bits + 1 * 8 + 1, fr->c_bits, 5); + /* XC1 .. XC2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->xc_bits, 2); + /* XC3 .. XC6 */ + memcpy(trau_bits + 2 * 8 + 2, fr->xc_bits + 2, 4); + /* D1 .. D2 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D3 .. D114 */ + for (i = 3; i < 19; i++) { + memcpy(trau_bits + i * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D115 .. D120 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 7; + + return 20 * 8; +} + + +/*! Encode a TRAU frame from its decoded representation to a sequence of unpacked bits. + * \param[out] bits caller-allocated buffer for unpacked outpud bits + * \param[in] n_bits size of 'bits' oputput buffer in number of unpacked bits + * \param[in] fr decoded representation of TRAU frame to be encoded + * \return 0 number of unpacked output bits generated; negative in case of error */ +int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr) +{ + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + return encode16_fr(bits, fr); + case OSMO_TRAU16_FT_HR: + return encode16_hr(bits, fr); + case OSMO_TRAU16_FT_AMR: + return encode16_amr(bits, fr); + case OSMO_TRAU16_FT_OAM: + return encode16_oam(bits, fr); + case OSMO_TRAU16_FT_IDLE: + return encode16_idle(bits, fr); + case OSMO_TRAU16_FT_DATA_HR: + return encode16_data_hr(bits, fr); + case OSMO_TRAU16_FT_DATA: + return encode16_data(bits, fr); + case OSMO_TRAU16_FT_D145_SYNC: + case OSMO_TRAU16_FT_EDATA: + return encode16_edata(bits, fr); + case OSMO_TRAU8_SPEECH: + return encode8_hr(bits, fr); + case OSMO_TRAU8_DATA: + return encode8_data(bits, fr); + case OSMO_TRAU8_OAM: + return encode8_oam(bits, fr); + case OSMO_TRAU8_AMR_LOW: + return encode8_amr_low(bits, fr); + case OSMO_TRAU8_AMR_6k7: + return encode8_amr_67(bits, fr); + case OSMO_TRAU8_AMR_7k4: + return encode8_amr_74(bits, fr); + case OSMO_TRAU_FT_NONE: + default: + return -EINVAL; + } +} + +/*! Decode/parse a 16k TRAU frame from unpacked bits to decoded format. + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked bits containing raw TRAU frame; must be aligned + * \param[in] dir direction (uplink/downlink) + * \returns 0 in case of success; negative on error */ +int osmo_trau_frame_decode_16k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir) +{ + uint8_t cbits5 = get_bits(bits, 17, 5); + + fr->type = OSMO_TRAU_FT_NONE; + fr->dir = dir; + + switch (cbits5) { + case TRAU_FT_FR_UP: + case TRAU_FT_FR_DOWN: + fr->type = OSMO_TRAU16_FT_FR; + return decode16_fr(fr, bits, dir); + case TRAU_FT_IDLE_UP: + case TRAU_FT_IDLE_DOWN: + fr->type = OSMO_TRAU16_FT_IDLE; + return decode16_fr(fr, bits, dir); + case TRAU_FT_EFR: + fr->type = OSMO_TRAU16_FT_EFR; + return decode16_fr(fr, bits, dir); + case TRAU_FT_AMR: + fr->type = OSMO_TRAU16_FT_AMR; + return decode16_amr(fr, bits, dir); + case TRAU_FT_OM_UP: + case TRAU_FT_OM_DOWN: + fr->type = OSMO_TRAU16_FT_OAM; + return decode16_oam(fr, bits, dir); + case TRAU_FT_DATA_UP: + case TRAU_FT_DATA_DOWN: + fr->type = OSMO_TRAU16_FT_DATA; + return decode16_data(fr, bits, dir); + case TRAU_FT_HR_UP: + case TRAU_FT_HR_DOWN: + fr->type = OSMO_TRAU16_FT_HR; + return decode16_hr(fr, bits, dir); + case TRAU_FT_DATA_UP_HR: + case TRAU_FT_DATA_DOWN_HR: + fr->type = OSMO_TRAU16_FT_DATA_HR; + return decode16_data_hr(fr, bits, dir); + case TRAU_FT_EDATA: + fr->type = OSMO_TRAU16_FT_EDATA; + return decode16_edata(fr, bits, dir); + case TRAU_FT_D145_SYNC: + fr->type = OSMO_TRAU16_FT_D145_SYNC; + return decode16_edata(fr, bits, dir); + + default: + return -EINVAL; + } +} + +#define TRAU8_FT_AMR_NO_SPEECH_CMI 0x10 /* 1, 0, 0, 0, 0 */ +#define TRAU8_FT_AMR_NO_SPEECH_CMR 0x14 /* 1, 0, 1, 0, 0 */ +#define TRAU8_FT_AMR_475_515_590 0..7 + +const uint8_t bit8_0[16] = { 0, }; + +/*!< check sync pattern for hr/data/oam */ +static bool is_hr(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.1 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 0 || bits[17] != 1) + return false; + for (i = 24; i < 20 * 8; i += 16) { + if (bits[i] != 1) + return false; + } + return true; +} + + +/*!< check sync pattern for AMR No_Speech + low bit rate */ +static bool is_amr_low(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.2 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 0 || bits[25] != 1) + return false; + for (i = 32; i < 20 * 8; i += 16) { + if (bits[i] != 1) + return false; + } + return true; +} + +/*!< check sync pattern for AMR 6.7kBit/s */ +static bool is_amr_67(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.3 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 1) + return false; + if (bits[32] != 1) + return false; + if (bits[40] != 0) + return false; + for (i = 48; i < 20 * 8; i+= 16) + if (bits[i] != 1) + return false; + + return true; +} + +/*!< check sync pattern for AMR 7.4kBit/s */ +static bool is_amr_74(const ubit_t *bits) +{ + if (bits[0] != 0 || bits[1] != 0 || bits[2] != 0) + return false; + if (bits[8] != 0) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 0) + return false; + + return true; +} + +/*! Decode/parse a 8k TRAU frame from unpacked bits to decoded format. + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked bits containing raw TRAU frame; must be aligned + * \param[in] dir direction (uplink/downlink) + * \returns 0 in case of success; negative on error */ +int osmo_trau_frame_decode_8k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir) +{ + fr->type = OSMO_TRAU_FT_NONE; + fr->dir = dir; + + if (is_hr(bits)) { + /* normal sync pattern */ + uint8_t cbits5 = get_bits(bits, 9, 5); + if (dir == OSMO_TRAU_DIR_UL) { + switch (cbits5) { /* Section 5.2.4.1.1 */ + case 0x02: + return decode8_hr(fr, bits, dir); + case 0x07: + return decode8_data(fr, bits, dir); + case 0x13: + return decode8_oam(fr, bits, dir); + } + } else { + /* Downlink */ + switch (cbits5 >> 2) { /* Section 5.2.4.1.2 */ + case 0: + return decode8_hr(fr, bits, dir); + case 1: + return decode8_data(fr, bits, dir); + case 2: + return decode8_oam(fr, bits, dir); + } + } + } else if (is_amr_low(bits)) { + return decode8_amr_low(fr, bits, dir); + } else if (is_amr_67(bits)) { + return decode8_amr_67(fr, bits, dir); + } else if (is_amr_74(bits)) { + return decode8_amr_74(fr, bits, dir); + } + + return -EINVAL; +} + +/* }@ */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 11 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 Aug 3 01:11:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:35 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Introduce support for Downlink Time Alignment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19504 ) Change subject: trau_frame: Introduce support for Downlink Time Alignment ...................................................................... trau_frame: Introduce support for Downlink Time Alignment In the uplink direction, we provide osmo_trau_frame_dl_ta_us() to determine the time alignment as requested by the CCU in the BTS. In the downlink direction, the TRAU frame encoder will perform time alignment as requested by the user in osmo_trau_frame.dl_ta_usec. Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e --- M include/osmocom/trau/trau_frame.h M src/trau/trau_frame.c 2 files changed, 134 insertions(+), 40 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/trau/trau_frame.h b/include/osmocom/trau/trau_frame.h index 6784d1f..5f1d708 100644 --- a/include/osmocom/trau/trau_frame.h +++ b/include/osmocom/trau/trau_frame.h @@ -110,6 +110,9 @@ enum osmo_trau_frame_type type; enum osmo_trau_frame_direction dir; + /* timing alignment: 0 = no change; negative: less bits; positive: more bits */ + int dl_ta_usec; + ubit_t c_bits[MAX_C_BITS]; ubit_t d_bits[MAX_D_BITS]; ubit_t t_bits[MAX_T_BITS]; @@ -142,5 +145,7 @@ * \return number of bits encoded */ int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr); +/*! Determine the time alignment in us requested by CCU in a UL frame */ +int osmo_trau_frame_dl_ta_us(const struct osmo_trau_frame *fr); /* }@ */ diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index a57d642..ea63938 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -74,6 +74,14 @@ * New API; introduced in 2020 for use by osmo-mgw *********************************************************************************/ +/* Bits C21..C22 (16k) or C4..C5 (8k) */ +enum ts48060_amr_frame_classification { + TS48060_AMR_FC_SPEECH_GOOD = 0x3, + TS48060_AMR_FC_SPEECH_DEGRADED = 0x2, + TS48060_AMR_FC_SPEECH_BAD = 0x1, + TS48060_AMR_FC_NO_SPEECH = 0x0, +}; + /* 16k sub-slots */ static const ubit_t ft_fr_up_bits[5] = { 0, 0, 0, 1, 0 }; static const ubit_t ft_fr_down_bits[5] = { 1, 1, 1, 0, 0 }; @@ -110,19 +118,125 @@ #define T16_500us 8 /* 500 us = 8 bits */ #define T16_250us 4 /* 250 us = 4 bits */ +#define T8_250us 2 /* 250 us = 2 bits */ +#define T8_125us 1 /* 125 us = 1 bits */ + /* How many 16k bits to delay / advance (TS 48.060 Section 5.5.1.1.1) */ -static int fr_efr_alignment_bitcount(uint8_t c6_11) +static int trau_frame_16_ta_us(uint8_t c6_11) { if (c6_11 <= 0x27) - return c6_11 * T16_500us; /* delay frame N x 500us */ + return c6_11 * 500; /* delay frame N x 500us */ else if (c6_11 == 0x3e) - return T16_250us; /* delay frame 250us */ + return 250; /* delay frame 250us */ else if (c6_11 == 0x3f) - return -T16_250us; /* advance frame 250us */ + return -250; /* advance frame 250us */ else return 0; } +/* How many 8k bits to delay / advance (TS 48.061 Table 6.1) */ +static int trau_frame_8_ta_us(uint8_t c6_8) +{ + /* TA2..TA1..TA0 == C6..C7..C8 */ + switch (c6_8) { + case 0x7: + return 0; + case 0x6: + return -250; + case 0x5: + return 250; + case 0x3: + return 500; + case 0x4: + return 1000; + case 0x2: + return 2000; + case 0x1: + return 6000; + case 0: + return 9000; + default: + return 0; + } +} + +/*! Determine the time alignment in us requested by CCU in a UL frame */ +int osmo_trau_frame_dl_ta_us(const struct osmo_trau_frame *fr) +{ + uint8_t c6_11, c6_8, fc; + + /* timing alignment is only communicated from CCU to TRAU in UL */ + if (fr->dir == OSMO_TRAU_DIR_DL) + return 0; + + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + case OSMO_TRAU16_FT_HR: + case OSMO_TRAU16_FT_AMR: + c6_11 = (fr->c_bits[5] << 5) | (fr->c_bits[6] << 4) | (fr->c_bits[7] << 3) | + (fr->c_bits[8] << 2) | (fr->c_bits[9] << 1) | (fr->c_bits[10] << 0); + return trau_frame_16_ta_us(c6_11); + break; + + case OSMO_TRAU8_SPEECH: + c6_8 = (fr->c_bits[5] << 2) | (fr->c_bits[6] << 1) | (fr->c_bits[7] << 0); + return trau_frame_8_ta_us(c6_8); + break; + + case OSMO_TRAU8_AMR_LOW: + fc = (fr->c_bits[3] << 1) | (fr->c_bits[4] << 0); + if (fc == TS48060_AMR_FC_NO_SPEECH) { + c6_11 = (fr->c_bits[5] << 5) | (fr->c_bits[6] << 4) | (fr->c_bits[7] << 3) | + (fr->c_bits[8] << 2) | (fr->c_bits[9] << 1) | (fr->c_bits[10] << 0); + /* For AMR speech on 8 kBit/s submultiplexing the same procedures as for AMR + * speech on 16 kBit/s submultiplexing shall be applied, see 3GPP TS 48.060 */ + return trau_frame_16_ta_us(c6_11); + } else + return 0; + break; + + default: + return 0; + } +} + +static int encode16_handle_ta(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + if (fr->dir == OSMO_TRAU_DIR_DL) { + int num_bits = fr->dl_ta_usec * T16_250us / 250; + if (num_bits > 0) { + if (num_bits > 39 * 8) + num_bits = 39; + memset(trau_bits + 40 * 8, 1, num_bits); + return 40 * 8 + num_bits; + } else if (num_bits < 0) { + if (num_bits < -1 * T16_250us) + num_bits = -1 * T16_250us; + return 40 * 8 + num_bits; + } + } + return 40 * 8; +} + +static int encode8_handle_ta(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + if (fr->dir == OSMO_TRAU_DIR_DL) { + int num_bits = fr->dl_ta_usec * T8_250us / 250; + if (num_bits > 0) { + if (num_bits > 20 * 8 - 2) + num_bits = 20 * 8 - 2; + memset(trau_bits + 20 * 8, 1, num_bits); + return 20 * 8 + num_bits; + } else if (num_bits < 0) { + if (num_bits < -1 * T8_250us) + num_bits = -2; + return 20 * 8 + num_bits; + } + } + return 20 * 8; +} + /* TS 08.60 Section 3.1.1 */ static int encode16_fr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) { @@ -172,16 +286,7 @@ memcpy(trau_bits + 316, fr->t_bits+0, 4); /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } - return 40 * 8; + return encode16_handle_ta(trau_bits, fr); } /* TS 08.60 Section 3.1.1 */ @@ -236,18 +341,9 @@ /* T1 .. T4 */ memcpy(trau_bits + 316, fr->t_bits + 0, 4); - /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } + return encode16_handle_ta(trau_bits, fr); + /* FIXME: handle TAE (Timing Alignment Extension) */ - return 40 * 8; } /* TS 08.60 Section 3.1.2 */ @@ -378,16 +474,7 @@ memcpy(trau_bits + 39 * 8 + 4, fr->t_bits, 4); /* handle timing adjustment */ - if (fr->dir == OSMO_TRAU_DIR_DL) { - uint8_t cbits6_11 = get_bits(fr->c_bits, 5, 6); - int ta_bits = fr_efr_alignment_bitcount(cbits6_11); - if (ta_bits > 0) { - memset(trau_bits+320, 1, ta_bits); - return 320 + ta_bits; - } else if (ta_bits < 0) - return 320 - ta_bits; - } - return 40 * 8; + return encode16_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.1.1.1 */ @@ -797,12 +884,12 @@ /* C6 .. C9 */ memcpy(trau_bits + 19 * 8 + 2, fr->c_bits + 5, 4); - /* FIXME: handle timing adjustment */ /* T1 .. T2 */ trau_bits[19 * 8 + 6] = fr->t_bits[0]; trau_bits[19 * 8 + 7] = fr->t_bits[1]; - return 20 * 8; + /* handle timing adjustment */ + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.1.2.1 */ @@ -876,7 +963,7 @@ /* T1 */ trau_bits[19 * 8 + 7] = fr->t_bits[0]; - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.1.2.2 */ @@ -947,7 +1034,7 @@ d_idx += 15; } - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.1.2.3 */ @@ -1006,7 +1093,7 @@ /* D24 .. D151 */ memcpy(trau_bits + 4 * 8, fr->d_bits + d_idx, 16 * 8); - return 20 * 8; + return encode8_handle_ta(trau_bits, fr); } /* TS 08.61 Section 5.2.2 */ @@ -1185,6 +1272,7 @@ fr->type = OSMO_TRAU_FT_NONE; fr->dir = dir; + fr->dl_ta_usec = 0; switch (cbits5) { case TRAU_FT_FR_UP: @@ -1326,6 +1414,7 @@ { fr->type = OSMO_TRAU_FT_NONE; fr->dir = dir; + fr->dl_ta_usec = 0; if (is_hr(bits)) { /* normal sync pattern */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3981becafc56c9a50119b9ba6bf67aa0391cc76e Gerrit-Change-Number: 19504 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 Mon Aug 3 01:11:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:36 +0000 Subject: Change in libosmo-abis[master]: osmo_trau_frame_encode(): Check for sufficiently sized output buffer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19505 ) Change subject: osmo_trau_frame_encode(): Check for sufficiently sized output buffer ...................................................................... osmo_trau_frame_encode(): Check for sufficiently sized output buffer Change-Id: Ie14399b2271aba9ff81f62d593a0ddd9d3e83d98 --- M src/trau/trau_frame.c 1 file changed, 37 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index ea63938..0a8faf9 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -1223,6 +1223,43 @@ * \return 0 number of unpacked output bits generated; negative in case of error */ int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr) { + /* check for sufficient space provided by caller in output buffer */ + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + case OSMO_TRAU16_FT_HR: + case OSMO_TRAU16_FT_AMR: + /* timing alignment may happen: increased space requirement */ + if (n_bits < 2 * 40 * 8 - 1) + return -ENOSPC; + break; + case OSMO_TRAU16_FT_OAM: + case OSMO_TRAU16_FT_IDLE: + case OSMO_TRAU16_FT_DATA_HR: + case OSMO_TRAU16_FT_DATA: + case OSMO_TRAU16_FT_D145_SYNC: + case OSMO_TRAU16_FT_EDATA: + if (n_bits < 1 * 40 * 8) + return -ENOSPC; + break; + case OSMO_TRAU8_SPEECH: + case OSMO_TRAU8_AMR_LOW: + case OSMO_TRAU8_AMR_6k7: + case OSMO_TRAU8_AMR_7k4: + /* timing alignment may happen: increased space requirement */ + if (n_bits < 2 * 20 * 8 - 1) + return -ENOSPC; + case OSMO_TRAU8_DATA: + case OSMO_TRAU8_OAM: + if (n_bits < 1 * 20 * 8) + return -ENOSPC; + break; + case OSMO_TRAU_FT_NONE: + break; + default: + return -EINVAL; + } + switch (fr->type) { case OSMO_TRAU16_FT_FR: case OSMO_TRAU16_FT_EFR: -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie14399b2271aba9ff81f62d593a0ddd9d3e83d98 Gerrit-Change-Number: 19505 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 Mon Aug 3 01:11:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:36 +0000 Subject: Change in libosmo-abis[master]: Add new TRAU frame sync code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18250 ) Change subject: Add new TRAU frame sync code ...................................................................... Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 712 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index aa735c5..2a99211 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -5,4 +5,5 @@ osmocom/abis/subchan_demux.h osmocom/abis/e1_input.h \ osmocom/abis/lapd.h osmocom/abis/lapd_pcap.h osmocom/trau/osmo_ortp.h \ osmocom/abis/unixsocket_proto.h \ - osmocom/trau/trau_frame.h + osmocom/trau/trau_frame.h \ + osmocom/trau/trau_sync.h diff --git a/include/osmocom/trau/trau_sync.h b/include/osmocom/trau/trau_sync.h new file mode 100644 index 0000000..46595be --- /dev/null +++ b/include/osmocom/trau/trau_sync.h @@ -0,0 +1,19 @@ +#pragma once +#include +#include + +enum osmo_tray_sync_pat_id { + OSMO_TRAU_SYNCP_16_FR_EFR, + OSMO_TRAU_SYNCP_8_HR, + OSMO_TRAU_SYNCP_8_AMR_LOW, + OSMO_TRAU_SYNCP_8_AMR_6K7, + OSMO_TRAU_SYNCP_8_AMR_7K4, +}; + +typedef void (*frame_out_cb_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); + +struct osmo_fsm_inst * +osmo_trau_sync_alloc(void *ctx, const char *name, frame_out_cb_t frame_out_cb, + enum osmo_tray_sync_pat_id pat_id, void *user_data); + +void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits); diff --git a/src/Makefile.am b/src/Makefile.am index d1743af..0134b00 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,4 +36,7 @@ libosmotrau_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(TRAU_LIBVERSION) libosmotrau_la_LIBADD = $(COMMONLIBS) $(ORTP_LIBS) libosmotrau_la_SOURCES = trau/osmo_ortp.c \ - trau/trau_frame.c + trau/trau_frame.c \ + trau/trau_sync.c + +noinst_HEADERS = trau/ubit_buf.h diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c new file mode 100644 index 0000000..c4baad6 --- /dev/null +++ b/src/trau/trau_sync.c @@ -0,0 +1,522 @@ +/* GSM A-bis TRAU frame synchronization as per TS 48.060 / 48.061 */ + +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include + +#include "ubit_buf.h" +#include + +#define S(x) (1 << (x)) + +#define MAX_TRAU_BYTES 40 + +#define T_SYNC 1 + +struct sync_pattern { + /* provided by user */ + const char *name; /*!< human-readable name */ + const uint8_t byte_pattern[MAX_TRAU_BYTES]; /*!< bytes to match against */ + const uint8_t byte_mask[MAX_TRAU_BYTES]; /*!< mask applied before matching */ + uint8_t byte_len; /*!< length of mask in bytes */ + + /* generated by code */ + ubit_t ubit_pattern[MAX_TRAU_BYTES*8]; /*!< bits to match against */ + ubit_t ubit_mask[MAX_TRAU_BYTES*8]; /*!< mask applied before matching */ + uint8_t bitcount; /*!< number of high bits in mask */ +}; + +static struct sync_pattern sync_patterns[] = { + [OSMO_TRAU_SYNCP_16_FR_EFR] = { + /* TS 08.60 Section 4.8.1 */ + .name = "FR/EFR", + .byte_pattern = { + 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + }, + .byte_len = 40, + }, + [OSMO_TRAU_SYNCP_8_HR] = { + /* TS 08.61 Section 6.8.2.1.1 */ + .name = "HR8", + .byte_pattern = { + 0x00, 0x80, 0x40, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_mask = { + 0xff, 0x80, 0xC0, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_len = 20, + }, + [OSMO_TRAU_SYNCP_8_AMR_LOW] = { + /* TS 08.61 Section 6.8.2.1.2 */ + /* The frame synchronisation for No_Speech frames and the speech frames of the three lower codec modes */ + .name = "AMR8_LOW", + .byte_pattern = { + 0x00, 0x80, 0x80, 0x40, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_mask = { + 0xff, 0x80, 0x80, 0xC0, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_len = 20, + }, + [OSMO_TRAU_SYNCP_8_AMR_6K7] = { + /* The frame synchronisation for the speech frames for codec mode 6,70 kBit/s */ + .name = "AMR8_67", + .byte_pattern = { + 0x00, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + }, + .byte_mask = { + 0xff, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + }, + .byte_len = 20 + }, + [OSMO_TRAU_SYNCP_8_AMR_7K4] = { + /* The frame synchronisation for the speech frames for codec mode 7,40 kBit/s */ + .name = "AMR8_74", + .byte_pattern = { + 0x20, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + }, + .byte_mask = { + 0xe0, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + }, + .byte_len = 20, + }, +}; + +#if 0 +static struct sync_pattern rbs_ccu_sync_ind_16_pattern = { + .name ="RBS_CCU_SYNC_IND_16", + .byte_pattern = { + 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + }, +}; + +static struct sync_pattern rbs_ccu_data_ind_16_pattern = { + .name ="RBS_CCU_DATA_IND_16", + .byte_pattern = { + 0x00, 0x00, 0x01, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x01, 0x00, + }, +}; +#endif + + +static void expand_sync_pattern(struct sync_pattern *pat) +{ + osmo_pbit2ubit(pat->ubit_pattern, pat->byte_pattern, pat->byte_len*8); + osmo_pbit2ubit(pat->ubit_mask, pat->byte_mask, pat->byte_len*8); +} + +static unsigned int count_one_bits(const ubit_t *in, unsigned int in_bits) +{ + unsigned int i, count = 0; + + for (i = 0; i < in_bits; i++) { + if (in[i]) + count++; + } + return count; +} + +static void sync_pattern_register(struct sync_pattern *p) +{ + expand_sync_pattern(p); + p->bitcount = count_one_bits(p->ubit_mask, p->byte_len*8); +} + +#if 0 +/*! correlate pattern with unpacked bits from buffer. + * \param[in] pattern sync_pattern against which we shall compare + * \param[in] bits unpacked bits to compare against pattern + * \param[in] num_bits number of unpacked bits + * \returns number of bits not matching pattern; -1 if insufficient bits available. */ +static int correlate_pattern_ubits(const struct sync_pattern *pattern, + const ubit_t *bits, size_t num_bits) +{ + int i, num_wrong = 0; + + if (num_bits < pattern->byte_len*8) + return -1; /* insufficient data */ + + for (i = 0; i < pattern->byte_len *8; i++) { + /* if mask doesn't contain '1', we can skip this octet */ + if (!pattern->ubit_mask) + continue; + if (bits[i] != pattern->ubit_pattern[i]) + num_wrong++; + } + + return num_wrong; +} +#endif + +struct trau_rx_sync_state { + /*! call-back to be called for every TRAU frame (called with + * bits=NULL in case of frame sync loss */ + frame_out_cb_t out_cb; + /*! opaque user data; passed to out_cb */ + void *user_data; + + /*! history of received bits */ + ubit_t history[MAX_TRAU_BYTES*8+1]; /* +1 not required, but helps to expose bugs */ + /*! index of next-to-be-written ubit in history */ + unsigned int history_idx; + /*! the pattern we are trying to sync to */ + const struct sync_pattern *pattern; + /*! number of consecutive frames without sync */ + unsigned int num_consecutive_errors; +}; + +/* correlate the history (up to the last received bit) against the pattern */ +static int correlate_history_against_pattern(struct trau_rx_sync_state *tss) +{ + const struct sync_pattern *pattern = tss->pattern; + int i, start, num_wrong = 0; + + /* compute index of first bit in history array */ + start = (ARRAY_SIZE(tss->history) + tss->history_idx - pattern->byte_len*8) + % ARRAY_SIZE(tss->history); + + OSMO_ASSERT(ARRAY_SIZE(tss->history) >= pattern->byte_len*8); + + for (i = 0; i < pattern->byte_len*8; i++) { + unsigned int pos = (start + i) % ARRAY_SIZE(tss->history); + + /* if mask doesn't contain '1', we can skip this octet */ + if (!pattern->ubit_mask[i]) + continue; + if (tss->history[pos] != pattern->ubit_pattern[i]) + num_wrong++; + } + + return num_wrong; +} + +/* add (append) one ubit to the history; wrap as needed */ +static void rx_history_add_bit(struct trau_rx_sync_state *tss, ubit_t bit) +{ + tss->history[tss->history_idx] = bit; + /* simply wrap around at the end */ + tss->history_idx = (tss->history_idx + 1) % ARRAY_SIZE(tss->history); +} + +/* append bits to history. We assume that this does NOT wrap */ +static void rx_history_add_bits(struct trau_rx_sync_state *tss, const ubit_t *bits, size_t n_bits) +{ + unsigned int frame_bits_remaining = tss->pattern->byte_len*8 - tss->history_idx; + OSMO_ASSERT(frame_bits_remaining >= n_bits); + memcpy(&tss->history[tss->history_idx], bits, n_bits); + tss->history_idx = tss->history_idx + n_bits; +} + +/* align the history, i.e. next received bit is start of frame */ +static void rx_history_align(struct trau_rx_sync_state *tss) +{ + ubit_t tmp[sizeof(tss->history)]; + size_t history_size = sizeof(tss->history); + size_t pattern_bits = tss->pattern->byte_len*8; + size_t first_bit = (history_size + tss->history_idx - pattern_bits) % history_size; + int i; + + /* we need to shift the last received frame to the start of the history buffer; + * do this in two steps: First copy to a local buffer on the stack, using modulo-arithmetic + * as index into the history. Second, copy it back to history */ + + for (i = 0; i < pattern_bits; i++) + tmp[i] = tss->history[(first_bit + i) % history_size]; + + memcpy(tss->history, tmp, history_size); + tss->history_idx = 0; +} + +enum trau_sync_state { + WAIT_FRAME_ALIGN, + FRAME_ALIGNED, + /* if at least 3 consecutive frames with each at least one framing error have been received */ + FRAME_ALIGNMENT_LOST, +}; + +enum trau_sync_event { + TRAUSYNC_E_RESET, + /*! a buffer of bits was received (msgb with ubits) */ + TRAUSYNC_E_RX_BITS, +}; + +static const struct value_string trau_sync_event_names[] = { + { TRAUSYNC_E_RESET, "RESET" }, + { TRAUSYNC_E_RX_BITS, "RX_BITS" }, + { 0, NULL } +}; + + +static void trau_sync_wait_align(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + struct ubit_buf *ubb; + + switch (event) { + case TRAUSYNC_E_RX_BITS: + ubb = data; + /* append every bit individually + check if we have sync */ + while (ubb_length(ubb) > 0) { + ubit_t bit = ubb_pull_ubit(ubb); + int rc; + + rx_history_add_bit(tss, bit); + rc = correlate_history_against_pattern(tss); + if (!rc) { + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNED, 0, 0); + /* treat remainder of input bits in correct state */ + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, ubb); + return; + } + } + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_aligned_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + /* dispatch aligned frame to user */ + rx_history_align(tss); + tss->out_cb(tss->user_data, tss->history, tss->pattern->byte_len*8); +} + +static void trau_sync_aligned(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + struct ubit_buf *ubb; + int rc; + + switch (event) { + case TRAUSYNC_E_RX_BITS: + ubb = data; + while (ubb_length(ubb)) { + unsigned int frame_bits_remaining = tss->pattern->byte_len*8 - tss->history_idx; + if (ubb_length(ubb) < frame_bits_remaining) { + /* frame not filled by this message; just add data */ + rx_history_add_bits(tss, ubb_data(ubb), ubb_length(ubb)); + ubb_pull(ubb, ubb_length(ubb)); + } else { + /* append as many bits as are missing in the current frame */ + rx_history_add_bits(tss, ubb_data(ubb), frame_bits_remaining); + ubb_pull(ubb, frame_bits_remaining); + + /* check if we still have frame sync */ + rc = correlate_history_against_pattern(tss); + if (rc > 0) { + tss->num_consecutive_errors++; + if (tss->num_consecutive_errors >= 3) { + tss->history_idx = 0; + /* send NULL frame to user */ + tss->out_cb(tss->user_data, NULL, 0); + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNMENT_LOST, 1, T_SYNC); + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, ubb); + return; + } + } else + tss->num_consecutive_errors = 0; + + /* dispatch aligned frame to user */ + tss->out_cb(tss->user_data, tss->history, tss->history_idx); + tss->history_idx = 0; + } + } + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_alignment_lost(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + /* we try to restore sync for some amount of time before generating an error */ + + switch (event) { + case TRAUSYNC_E_RX_BITS: + trau_sync_wait_align(fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TRAUSYNC_E_RESET: + osmo_fsm_inst_state_chg(fi, WAIT_FRAME_ALIGN, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static int trau_sync_timeout(struct osmo_fsm_inst *fi) +{ + switch (fi->T) { + case T_SYNC: + /* if Tsync expires before frame synchronization is + * again obtained the TRAU initiates sending of the + * urgent alarm pattern described in clause 4.10.2. */ + osmo_fsm_inst_state_chg(fi, WAIT_FRAME_ALIGN, 0, 0); + break; + default: + OSMO_ASSERT(0); + } + return 0; +} + +static const struct osmo_fsm_state trau_sync_states[] = { + [WAIT_FRAME_ALIGN] = { + .name = "WAIT_FRAME_ALIGN", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(FRAME_ALIGNED), + .action = trau_sync_wait_align, + }, + [FRAME_ALIGNED] = { + .name = "FRAME_ALIGNED", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(FRAME_ALIGNMENT_LOST) | S(WAIT_FRAME_ALIGN), + .action = trau_sync_aligned, + .onenter = trau_sync_aligned_onenter, + }, + [FRAME_ALIGNMENT_LOST] = { + .name = "FRAME_ALIGNMENT_LOST", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(WAIT_FRAME_ALIGN) | S(FRAME_ALIGNED), + .action = trau_sync_alignment_lost, + }, +}; + +static struct osmo_fsm trau_sync_fsm = { + .name = "trau_sync", + .states = trau_sync_states, + .num_states = ARRAY_SIZE(trau_sync_states), + .allstate_event_mask = S(TRAUSYNC_E_RESET), + .allstate_action = trau_sync_allstate, + .timer_cb = trau_sync_timeout, + .log_subsys = DLGLOBAL, + .event_names = trau_sync_event_names, +}; + + +struct osmo_fsm_inst * +osmo_trau_sync_alloc(void *ctx, const char *name, frame_out_cb_t frame_out_cb, + enum osmo_tray_sync_pat_id pat_id, void *user_data) +{ + struct trau_rx_sync_state *tss; + struct osmo_fsm_inst *fi; + + if (pat_id >= ARRAY_SIZE(sync_patterns)) + return NULL; + + fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_NOTICE, name); + if (!fi) + return NULL; + tss = talloc_zero(fi, struct trau_rx_sync_state); + if (!tss) { + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; + } + fi->priv = tss; + + tss->out_cb = frame_out_cb; + tss->user_data = user_data; + /* FIXME: this must be configurable */ + tss->pattern = &sync_patterns[pat_id]; + + return fi; +} + +void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits) +{ + struct ubit_buf ubb; + ubb_init(&ubb, bits, n_bits); + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, &ubb); +} + +static void __attribute__((constructor)) on_dso_load_sync(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(sync_patterns); i++) + sync_pattern_register(&sync_patterns[i]); + osmo_fsm_register(&trau_sync_fsm); +} diff --git a/src/trau/ubit_buf.h b/src/trau/ubit_buf.h new file mode 100644 index 0000000..224b44b --- /dev/null +++ b/src/trau/ubit_buf.h @@ -0,0 +1,42 @@ +#pragma once +#include + +/* Small helper inspired by msgb */ + +struct ubit_buf { + const ubit_t *buf; /*!< start of underlying buffer */ + const ubit_t *data; /*!< next to be consumed bit */ + size_t n_bits; /*!< number of total bits iin buffer */ +}; + +/*! length of [remainig, to be processed] data in ubit_buf */ +static inline size_t ubb_length(struct ubit_buf *ubb) +{ + return ubb->n_bits - (ubb->data - ubb->buf); +} + +/*! retrieve + remove a single ubit_t from start of ubit_buf */ +static inline ubit_t ubb_pull_ubit(struct ubit_buf *ubb) +{ + OSMO_ASSERT(ubb->data < ubb->buf + ubb->n_bits); + return *ubb->data++; +} + +static inline void ubb_pull(struct ubit_buf *ubb, size_t count) +{ + OSMO_ASSERT(ubb_length(ubb) >= count); + ubb->data += count; +} + +/*! get pointer to next to be consumed bit */ +static inline const ubit_t *ubb_data(struct ubit_buf *ubb) +{ + return ubb->data; +} + +static inline void ubb_init(struct ubit_buf *ubb, const ubit_t *bits, size_t n_bits) +{ + ubb->buf = bits; + ubb->data = ubb->buf; + ubb->n_bits = n_bits; +} diff --git a/tests/Makefile.am b/tests/Makefile.am index bd95cf5..dcd9a4f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -7,7 +7,8 @@ ipa_proxy_test \ subchan_demux/subchan_demux_test \ ipa_recv/ipa_recv_test \ - rtp_test/rtp_test + rtp_test/rtp_test \ + trau_sync/trau_sync_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -36,6 +37,10 @@ rtp_test_rtp_test_LDADD = $(top_builddir)/src/libosmotrau.la \ $(LIBOSMOCORE_LIBS) +trau_sync_trau_sync_test_SOURCES = trau_sync/trau_sync_test.c +trau_sync_trau_sync_test_LDADD = $(top_builddir)/src/libosmotrau.la \ + $(LIBOSMOCORE_LIBS) + # boilerplate for the tests # The `:;' works around a Bash 3.2 bug when the output is not writeable. @@ -59,7 +64,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ ipa_recv/ipa_recv_test.ok \ - rtp_test/rtp_test.ok + rtp_test/rtp_test.ok \ + trau_sync/trau_sync_test.ok trau_sync/trau_sync_test.err TESTSUITE = $(srcdir)/testsuite diff --git a/tests/testsuite.at b/tests/testsuite.at index 5e87248..4faf429 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,3 +29,9 @@ AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) AT_CLEANUP +AT_SETUP([trau_sync]) +AT_KEYWORDS([trau_sync]) +cat $abs_srcdir/trau_sync/trau_sync_test.ok > expout +cat $abs_srcdir/trau_sync/trau_sync_test.err > experr +AT_CHECK([$abs_top_builddir/tests/trau_sync/trau_sync_test], [0], [expout], [experr]) +AT_CLEANUP diff --git a/tests/trau_sync/trau_sync_test.c b/tests/trau_sync/trau_sync_test.c new file mode 100644 index 0000000..392a236 --- /dev/null +++ b/tests/trau_sync/trau_sync_test.c @@ -0,0 +1,85 @@ + +#include +#include +#include + +#include + +static void frame_out_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +{ + char *str = user_data; + printf("demux_bits_cb '%s': %s\n", str, osmo_ubit_dump(bits, num_bits)); +} + +static const uint8_t sync_pattern[] = { + 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, +}; + +#define ASSERT_STATE(fi, x) OSMO_ASSERT(!strcmp(osmo_fsm_inst_state_name(fi), x)) + +static void test_body(void) +{ + struct osmo_fsm_inst *fi = osmo_trau_sync_alloc(NULL, "test", frame_out_cb, OSMO_TRAU_SYNCP_16_FR_EFR, "test"); + OSMO_ASSERT(fi); + + printf("\n==> %s\n", __func__); + + ubit_t bits[40*8]; + + /* send some invalid data */ + memset(bits, 0, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, 23); + + /* first valid frame */ + osmo_pbit2ubit(bits, sync_pattern, sizeof(sync_pattern)*8); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* second valid frame */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* send wrong frame */ + memset(bits, 1, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* intersperse a valid frame */ + osmo_pbit2ubit(bits, sync_pattern, sizeof(sync_pattern)*8); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + + /* second wrong frame - but not consecutive */ + memset(bits, 1, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* third wrong frame - second consecutive */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* only from third consecutive invalid frame onwards we should loose alignment */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNMENT_LOST"); +} + + +static const struct log_info_cat default_categories[] = { +}; + +const struct log_info log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +int main(int argc, char **argv) +{ + osmo_init_logging2(NULL, NULL); + osmo_fsm_log_addr(false); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + test_body(); +} diff --git a/tests/trau_sync/trau_sync_test.err b/tests/trau_sync/trau_sync_test.err new file mode 100644 index 0000000..f3eac3c --- /dev/null +++ b/tests/trau_sync/trau_sync_test.err @@ -0,0 +1,15 @@ +<0000> trau_sync(test){WAIT_FRAME_ALIGN}: Allocated +<0000> trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau_sync(test){WAIT_FRAME_ALIGN}: state_chg to FRAME_ALIGNED +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau_sync(test){FRAME_ALIGNED}: state_chg to FRAME_ALIGNMENT_LOST +<0000> trau_sync(test){FRAME_ALIGNMENT_LOST}: Received Event RX_BITS + \ No newline at end of file diff --git a/tests/trau_sync/trau_sync_test.ok b/tests/trau_sync/trau_sync_test.ok new file mode 100644 index 0000000..2555913 --- /dev/null +++ b/tests/trau_sync/trau_sync_test.ok @@ -0,0 +1,9 @@ + +==> test_body +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 12 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 Aug 3 01:11:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:36 +0000 Subject: Change in libosmo-abis[master]: trau_sync: prevent false positive synchronization on startup In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19515 ) Change subject: trau_sync: prevent false positive synchronization on startup ...................................................................... trau_sync: prevent false positive synchronization on startup The history buffer is filled with zeros on startup. Together with incoming bits those may appear as a valid signal. (each trau frame begins with 16 zeros). In order to prevent this lets set the history buffer to all ones, so that it looks like the data in the history buffer is from an unused timeslot. Change-Id: Ie5cc7b9a1ab3d8940ef9d2147f5999e8d09ee40e Related: OS#2547 --- M src/trau/trau_sync.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index c4baad6..dfd7ce4 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -502,6 +502,12 @@ /* FIXME: this must be configurable */ tss->pattern = &sync_patterns[pat_id]; + /* An unusued E1 timeslot normally would send an idle signal that + * has all bits set to one. In order to prevent false-positive + * synchronization on startup we set all history bits to 1, to make + * it look like a signal from an unused timeslot. */ + memset(tss->history, 1, sizeof(tss->history)); + return fi; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie5cc7b9a1ab3d8940ef9d2147f5999e8d09ee40e Gerrit-Change-Number: 19515 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 Aug 3 01:11:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:36 +0000 Subject: Change in libosmo-abis[master]: TRAU frame RTP conversion In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18382 ) Change subject: TRAU frame RTP conversion ...................................................................... TRAU frame RTP conversion This adds code that converts codec frames between (decoded) TRAU format and RTP payload format. The FR + EFR functions have been lifted from OsmoNITB and exended slightly. The HR functions have been written from scratch. There is also incomplete code for AMR that needs to be completed + tested. Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 --- M include/Makefile.am A include/osmocom/trau/trau_rtp.h M src/Makefile.am A src/trau/trau_rtp_conv.c 4 files changed, 694 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index 2a99211..70f1cd6 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -6,4 +6,5 @@ osmocom/abis/lapd.h osmocom/abis/lapd_pcap.h osmocom/trau/osmo_ortp.h \ osmocom/abis/unixsocket_proto.h \ osmocom/trau/trau_frame.h \ - osmocom/trau/trau_sync.h + osmocom/trau/trau_sync.h \ + osmocom/trau/trau_rtp.h diff --git a/include/osmocom/trau/trau_rtp.h b/include/osmocom/trau/trau_rtp.h new file mode 100644 index 0000000..f02d43e --- /dev/null +++ b/include/osmocom/trau/trau_rtp.h @@ -0,0 +1,34 @@ +/* TRAU frame to RTP conversion */ + +/* (C) 2009,2020 by Harald Welte + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include + +struct osmo_trau2rtp_state { + enum osmo_trau_frame_type type; +}; + + +int osmo_trau2rtp(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf, + struct osmo_trau2rtp_state *st); + +int osmo_rtp2trau(struct osmo_trau_frame *tf, const uint8_t *rtp, size_t rtp_len, + struct osmo_trau2rtp_state *st); diff --git a/src/Makefile.am b/src/Makefile.am index 0134b00..4254428 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -37,6 +37,7 @@ libosmotrau_la_LIBADD = $(COMMONLIBS) $(ORTP_LIBS) libosmotrau_la_SOURCES = trau/osmo_ortp.c \ trau/trau_frame.c \ - trau/trau_sync.c + trau/trau_sync.c \ + trau/trau_rtp_conv.c noinst_HEADERS = trau/ubit_buf.h diff --git a/src/trau/trau_rtp_conv.c b/src/trau/trau_rtp_conv.c new file mode 100644 index 0000000..ebbdbef --- /dev/null +++ b/src/trau/trau_rtp_conv.c @@ -0,0 +1,656 @@ +/* TRAU frame to RTP conversion */ + +/* (C) 2009,2020 by Harald Welte + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include + +#include +#include + +#include +#include + +/* this corresponds to the bit-lengths of the individual codec + * parameters as indicated in Table 1.1 of TS 46.010 */ +static const uint8_t gsm_fr_map[] = { + 6, 6, 5, 5, 4, 4, 3, 3, + 7, 2, 2, 6, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 7, 2, 2, 6, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 7, 2, 2, 6, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 7, 2, 2, 6, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3 +}; + + +/* + * EFR TRAU parity + * + * g(x) = x^3 + x^1 + 1 + */ +static const struct osmo_crc8gen_code gsm0860_efr_crc3 = { + .bits = 3, + .poly = 0x3, + .init = 0x0, + .remainder = 0x7, +}; + +/* re-combine EFR parity bits */ +static inline void efr_parity_bits_1(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 0, 22); + memcpy(check_bits + 22 , d_bits + 24, 3); + check_bits[25] = d_bits[28]; +} + +static inline void efr_parity_bits_2(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 42, 10); + memcpy(check_bits + 10 , d_bits + 90, 2); +} + +static inline void efr_parity_bits_3(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 98, 5); + check_bits[5] = d_bits[104]; + memcpy(check_bits + 6 , d_bits + 143, 2); +} + +static inline void efr_parity_bits_4(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 151, 10); + memcpy(check_bits + 10 , d_bits + 199, 2); +} + +static inline void efr_parity_bits_5(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 207, 5); + check_bits[5] = d_bits[213]; + memcpy(check_bits + 6 , d_bits + 252, 2); +} + +//static const uint8_t c_bits_check_fr[] = { 0, 0, 0, 1, 0 }; +//static const uint8_t c_bits_check_efr[] = { 1, 1, 0, 1, 0 }; + +/*! Generate the 33 bytes RTP payload for GSM-FR from a decoded TRAU frame. + * \param[out] out caller-provided output buffer + * \param[in] out_len length of out buffer in bytes + * \param[in] fr input TRAU frame in decoded form + * \returns number of bytes generated in 'out'; negative on error. */ +static int trau2rtp_fr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf) +{ + int i, j, k, l, o; + + if (tf->type != OSMO_TRAU16_FT_FR) + return -EINVAL; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + if (tf->c_bits[11]) /* BFI */ + return 0; + + if (out_len < GSM_FR_BYTES) + return -ENOSPC; + + out[0] = 0xd << 4; + /* reassemble d-bits */ + i = 0; /* counts bits */ + j = 4; /* counts output bits */ + k = gsm_fr_map[0]-1; /* current number bit in element */ + l = 0; /* counts element bits */ + o = 0; /* offset input bits */ + while (i < 260) { + out[j/8] |= (tf->d_bits[k+o] << (7-(j%8))); + /* to avoid out-of-bounds access in gsm_fr_map[++l] */ + if (i == 259) + break; + if (--k < 0) { + o += gsm_fr_map[l]; + k = gsm_fr_map[++l]-1; + } + i++; + j++; + } + + return GSM_FR_BYTES; +} + +/* See Section 5.2 of RFC5993 */ +enum rtp_hr_ietf_ft { + FT_GOOD_SPEECH = 0, + FT_GOOD_SID = 2, + FT_NO_DATA = 7, +}; + +static const uint8_t rtp_hr_sid[14] = { 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; + +/*! Generate the 14 bytes ETSI TS 101 318 RTP payload for HR from a decoded 16k TRAU frame. + * Note that thsi differs from the IETF RFC5993 format. However, as OsmoBTS implements + * the TS 101 318 format, we also use the same format here. osmo-mgw can convert them. + * \param[out] out caller-provided output buffer + * \param[in] out_len length of out buffer in bytes + * \param[in] tf input TRAU frame in decoded form + * \returns number of bytes generated in 'out'; negative on error. */ +static int trau2rtp_hr16(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf) +{ + unsigned int i; + + if (tf->type != OSMO_TRAU16_FT_HR) + return -EINVAL; + + /* HR Data Bits according to TS 48.061 Section 5.1.4.1.1 */ + + if (tf->dir == OSMO_TRAU_DIR_UL && tf->c_bits[11]) /* C12: BFI */ + goto bad_frame; + + if (out_len < GSM_HR_BYTES) + return -ENOSPC; + + /* TS 101 318 Section 5.2: The order of occurrence of the codec parameters in the buffer is + * the same as order of occurrence over the Abis as defined in annex B of ETS 300 969 + * [which is 3GPP TS 46.020 */ + osmo_ubit2pbit(out, tf->d_bits, 112); + + if (tf->c_bits[12] || tf->c_bits[13]) { + /* Generate SID frame as per TS 101 318 Section 5.2.2 */ + for (i = 0; i < sizeof(rtp_hr_sid); i++) + out[i] = out[i] | rtp_hr_sid[i]; + } + + return GSM_HR_BYTES; + +bad_frame: + return 0; +} + +/*! Generate the 31 bytes RTP payload for GSM-EFR from a decoded TRAU frame. + * \param[out] out caller-provided output buffer + * \param[in] out_len length of out buffer in bytes + * \param[in] fr input TRAU frame in decoded form + * \returns number of bytes generated in 'out'; negative on error. */ +static int trau2rtp_efr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf) +{ + int i, j, rc; + ubit_t check_bits[26]; + + if (tf->type != OSMO_TRAU16_FT_EFR) + return -EINVAL; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + if (tf->c_bits[11]) /* BFI */ + return 0; + + if (out_len < GSM_EFR_BYTES) + return -ENOSPC; + + if (tf->c_bits[11]) /* BFI */ + goto bad_frame; + + out[0] = 0xc << 4; + /* reassemble d-bits */ + for (i = 1, j = 4; i < 39; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_1(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 26, + tf->d_bits + 39); + if (rc) + goto bad_frame; + for (i = 42, j = 42; i < 95; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_2(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 95); + if (rc) + goto bad_frame; + for (i = 98, j = 95; i < 148; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_3(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 148); + if (rc) + goto bad_frame; + for (i = 151, j = 145; i < 204; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_4(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 204); + if (rc) + goto bad_frame; + for (i = 207, j = 198; i < 257; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_5(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 257); + if (rc) + goto bad_frame; + + return GSM_EFR_BYTES; +bad_frame: + return 0; +} + +/* TS 48.060 Section 5.5.1.1.2 */ +static int rtp2trau_fr(struct osmo_trau_frame *tf, const uint8_t *data, size_t data_len) +{ + int i, j, k, l, o; + + /* data_len == 0 for BFI frame */ + if (data_len < GSM_FR_BYTES && data_len != 0) + return -EINVAL; + + if (data_len && data[0] >> 4 != 0xd) + return -EINVAL; + + tf->type = OSMO_TRAU16_FT_FR; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + /* FIXME: Generate SID frames? */ + + /* set c-bits and t-bits */ + if (tf->dir == OSMO_TRAU_DIR_UL) { + /* C1 .. C5 */ + tf->c_bits[0] = 0; + tf->c_bits[1] = 0; + tf->c_bits[2] = 0; + tf->c_bits[3] = 1; + tf->c_bits[4] = 0; + } else { + /* C1 .. C5 */ + tf->c_bits[0] = 1; + tf->c_bits[1] = 1; + tf->c_bits[2] = 1; + tf->c_bits[3] = 0; + tf->c_bits[4] = 0; + } + memset(&tf->c_bits[5], 0, 6); /* C6 .. C11: Time Alignment */ + if (tf->dir == OSMO_TRAU_DIR_UL) { + if (data_len == 0) + tf->c_bits[11] = 1; /* C12: BFI */ + else + tf->c_bits[11] = 0; /* C12: BFI */ + tf->c_bits[12] = 0; /* C13: SID=0 */ + tf->c_bits[13] = 0; /* C14: SID=0 */ + tf->c_bits[14] = 0; /* C15: TAF (SACCH or not) */ + tf->c_bits[15] = 1; /* C16: spare */ + tf->c_bits[16] = 0; /* C17: DTXd not applied */ + } else { + memset(&tf->c_bits[11], 1, 10); /* C12 .. C15: spare */ + tf->c_bits[15] = 1; /* C16: SP=1 */ + } + memset(&tf->c_bits[17], 1, 4); /* C18 .. C12: spare */ + memset(&tf->t_bits[0], 1, 4); + + if (!data_len) + return 0; + + /* reassemble d-bits */ + i = 0; /* counts bits */ + j = 4; /* counts input bits */ + k = gsm_fr_map[0]-1; /* current number bit in element */ + l = 0; /* counts element bits */ + o = 0; /* offset output bits */ + while (i < 260) { + tf->d_bits[k+o] = (data[j/8] >> (7-(j%8))) & 1; + /* to avoid out-of-bounds access in gsm_fr_map[++l] */ + if (i == 259) + break; + if (--k < 0) { + o += gsm_fr_map[l]; + k = gsm_fr_map[++l]-1; + } + i++; + j++; + } + + return 0; +} + +/* does the RTP HR payload resemble a SID frame or not */ +static bool is_rtp_hr_sid(const uint8_t *data, const uint8_t data_len) +{ + int i; + + if (data_len < GSM_HR_BYTES) + return false; + + for (i = 0; i < GSM_HR_BYTES; i++) { + if ((data[i] & rtp_hr_sid[i]) != rtp_hr_sid[i]) + return false; + } + return true; +} + +static int rtp2trau_hr16(struct osmo_trau_frame *tf, const uint8_t *data, size_t data_len) +{ + if (data_len < GSM_HR_BYTES && data_len != 0) + return -EINVAL; + + tf->type = OSMO_TRAU16_FT_HR; + + if (tf->dir == OSMO_TRAU_DIR_UL) { + /* C1 .. C5 */ + tf->c_bits[0] = 0; + tf->c_bits[1] = 0; + tf->c_bits[2] = 0; + tf->c_bits[3] = 1; + tf->c_bits[4] = 1; + } else { + /* C1 .. C5 */ + tf->c_bits[0] = 1; + tf->c_bits[1] = 1; + tf->c_bits[2] = 1; + tf->c_bits[3] = 0; + tf->c_bits[4] = 1; + } + /* C6.. C11: Time Alignment */ + memset(tf->c_bits + 5, 0, 6); + if (tf->dir == OSMO_TRAU_DIR_UL) { + /* BFI */ + if (data_len == 0) + tf->c_bits[11] = 1; + else + tf->c_bits[11] = 0; + if (is_rtp_hr_sid(data, data_len)) { + /* SID=2 is a valid SID frame */ + tf->c_bits[12] = 1; + tf->c_bits[13] = 0; + } else { + tf->c_bits[12] = 0; + tf->c_bits[13] = 0; + } + /* FIXME: C15: TAF */ + tf->c_bits[15] = 0; /* C16: SP */ + tf->c_bits[16] = 0; /* C17: DTXd shall not be applied */ + } else { + tf->c_bits[11] = 0; /* C12: UFE */ + tf->c_bits[12] = 1; /* C13: spare */ + tf->c_bits[13] = 1; /* C14: spare */ + tf->c_bits[14] = 1; /* C15: spare */ + if (is_rtp_hr_sid(data, data_len)) + tf->c_bits[15] = 0; /* C16: SP */ + else + tf->c_bits[15] = 1; /* C16: SP */ + tf->c_bits[16] = 1; /* C17: spare */ + } + memset(tf->c_bits+17, 1, 4); /* C18..C21: spare */ + memset(&tf->t_bits[0], 1, 4); + if (tf->dir == OSMO_TRAU_DIR_UL) + tf->ufi = 0; + else + tf->ufi = 1; + /* CRC is computed by TRAU frame encoder */ + if (data_len) + memcpy(tf->d_bits, data, GSM_HR_BYTES); + + return 0; +} + +/* TS 48.060 Section 5.5.1.1.2 */ +static int rtp2trau_efr(struct osmo_trau_frame *tf, const uint8_t *data, size_t data_len) +{ + int i, j; + ubit_t check_bits[26]; + + /* data_len == 0 for BFI frame */ + if (data_len < GSM_EFR_BYTES && data_len != 0) + return -EINVAL; + + if (data_len && data[0] >> 4 != 0xc) + return -EINVAL; + + tf->type = OSMO_TRAU16_FT_EFR; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + /* set c-bits and t-bits */ + tf->c_bits[0] = 1; + tf->c_bits[1] = 1; + tf->c_bits[2] = 0; + tf->c_bits[3] = 1; + tf->c_bits[4] = 0; + + memset(&tf->c_bits[5], 0, 6); /* C6 .. C11: Time Alignment */ + if (tf->dir == OSMO_TRAU_DIR_UL) { + if (data_len == 0) + tf->c_bits[11] = 1; /* C12: BFI=1 */ + else + tf->c_bits[11] = 0; /* C12: BFI=1 */ + /* FIXME: Generate SID frames? */ + tf->c_bits[12] = 0; /* C13: SID=0 */ + tf->c_bits[13] = 0; /* C14: SID=0 */ + tf->c_bits[14] = 0; /* C15: TAF (SACCH) */ + tf->c_bits[15] = 1; /* C16: spare */ + tf->c_bits[16] = 0; /* C17: DTXd applied */ + } else { + tf->c_bits[11] = 1; /* C12: UFE (good uplink) */ + memset(&tf->c_bits[12], 1, 3); /* C13 .. C15: spare */ + tf->c_bits[15] = 1; /* C16: SP=1 */ + tf->c_bits[16] = 1; /* C17: spare */ + } + memset(&tf->c_bits[17], 1, 4); /* C18 .. C21: spare */ + memset(&tf->t_bits[0], 1, 4); + + if (data_len == 0) + return 0; + + /* reassemble d-bits */ + tf->d_bits[0] = 1; + for (i = 1, j = 4; i < 39; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_1(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 26, + tf->d_bits + 39); + for (i = 42, j = 42; i < 95; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_2(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 95); + for (i = 98, j = 95; i < 148; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_3(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 148); + for (i = 151, j = 145; i < 204; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_4(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 204); + for (i = 207, j = 198; i < 257; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_5(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 257); + + return 0; +} + +#if 0 +static inline memcpy_inc(uint8_t *out, const uint8_t *in, size_t len, unsigned int *idx) +{ + memcpy_inc(out, in, len); + *idx += len; +} + +static int amr_speech_extract_sbits(ubit_t *s_bits, const struct osmo_trau_frame *tf, + enum osmo_amr_mode mode) +{ + unsigned int s_idx = 0; + + switch (mode) { + case AMR_4_75: + memcpy_inc(s_bits + s_idx, tf->d_bits + 44, 67 - 44, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 67, 92 - 67, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 108 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 111, 132 - 111, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 135, 148 - 135, &s_idx); + break; + case AMR_5_15: + memcpy_inc(s_bits + s_idx, tf->d_bits + 46, 96 - 46, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 69, 92 - 69, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 114 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 117, 136 - 117, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 139, 158 - 139, &s_idx); + break; + case AMR_5_90: + memcpy_inc(s_bits + s_idx, tf->d_bits + 41, 67 - 41, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 67, 92 - 67, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 116 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 119, 144 - 119, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 147, 168 - 147, &s_idx); + break; + case AMR_6_70: + memcpy_inc(s_bits + s_idx, tf->d_bits + 37, 63 - 37, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 63, 92 - 63, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 120 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 123, 152 - 123, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 155, 180 - 155, &s_idx); + break; + case AMR_7_40: + memcpy_inc(s_bits + s_idx, tf->d_bits + 34, 60 - 34, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 60, 92 - 60, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 124 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 127, 159 - 127, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 162, 191 - 162, &s_idx); + break; + case AMR_7_95: + memcpy_inc(s_bits + s_idx, tf->d_bits + 31, 58 - 31, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 58, 92 - 58, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 127 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 130, 164 - 130, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 167, 199 - 167, &s_idx); + break; + case AMR_10_2: + memcpy_inc(s_bits + s_idx, tf->d_bits + 20, 46 - 20, &s_idx); /* D21..D46 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 46, 92 - 46, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 138 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 141, 187 - 141, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 190, 233 - 190, &s_idx); + break; + case AMR_12_2: + memcpy_inc(s_bits + s_idx, tf->d_bits + 0, 38 - 0, &s_idx); /* D1..D38 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 38, 91 - 38, &s_idx); /* D39..D91 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 94, 144 - 94, &s_idx); /* D95..D144 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 147, 200 - 147, &s_idx);/* D148..D200 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 203, 253 - 203, &s_idx);/* D204..D253 */ + break; + } + + return s_idx; +} + +/* TS 48.060 Section 5.5.1.2.2 */ +static int trau2rtp_16(uint8_t *out, const struct osmo_trau_frame *tf, enum osmo_amr_mode last_cmi) +{ + enum osmo_amr_mode mode = last_cmi; + uint8_t frame_class = tf->c_bits[21] << 1 | tf->c_bits[20]; + uint8_t cmr_cmi = tf->c_bits[23] << 2 | tf->c_bits[24] << 1 | tf->cb_bits[25]; + uint8_t no_speech_cls; + uint8_t s_bits[242]; + uint8_t d_bits[242]; + unsigned int s_idx = 0; + ubit_t rif = FIXME; + + if (tf->type != OSMO_TRAU16_FT_AMR) + return -EINVAL; + + if (rif == 0) + mode = cmr_cmi; + + switch (frame_class) { + case 0: // no speech + no_speech_cls = tf->d_bits[32] << 2 | tf->d_bits[33] << 1 | tf->d_bits[34]; + cmi_abs = tf->d_bits[35] << 2 | tf->d_bits[36] < 1 || tf->d_bits[37]; + cmr_abs = tf->d_bits[38] << 2 | tf->d_bits[39] < 1 || tf->d_bits[40]; + switch (no_speech_cls) { + case 7: // sid first + break; + case 6: // onset + break; + case 5: // sid_update + break; + case 4: // sid_bad + break; + case 0: // no_data + break; + } + break; + case 1: // speech bad + break; + case 2: + case 3: + /* Extract the s-bits from the TRAU frame */ + amr_speech_extract_sbits(s_bits, tf, mode); + /* Convert the s-bits to d-bits */ + osmo_amr_s_to_d(d_bits, s_bits, mode); + break; + } +} + +int trau2rtp_amr(uint8_t *out, const struct osmo_trau_frame *tf, enum osmo_amr_mode last_cmi)) +{ + switch (tf->type) { + case OSMO_TRAU16_FT_AMR: + return trau2rtp_16(out, tf, last_cmi); + case OSMO_TRAU8_AMR_LOW: + case OSMO_TRAU8_AMR_6k7: + case OSMO_TRAU8_AMR_7k4: + default: + return -EINVAL; + } +} +#endif + +int osmo_trau2rtp(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf, + struct osmo_trau2rtp_state *st) +{ + switch (tf->type) { + case OSMO_TRAU16_FT_FR: + return trau2rtp_fr(out, out_len, tf); + case OSMO_TRAU16_FT_EFR: + return trau2rtp_efr(out, out_len, tf); + case OSMO_TRAU16_FT_HR: + return trau2rtp_hr16(out, out_len, tf); + default: + return -EINVAL; + } +} + +int osmo_rtp2trau(struct osmo_trau_frame *tf, const uint8_t *rtp, size_t rtp_len, + struct osmo_trau2rtp_state *st) +{ + switch (st->type) { + case OSMO_TRAU16_FT_FR: + return rtp2trau_fr(tf, rtp, rtp_len); + case OSMO_TRAU16_FT_EFR: + return rtp2trau_efr(tf, rtp, rtp_len); + case OSMO_TRAU16_FT_HR: + return rtp2trau_hr16(tf, rtp, rtp_len); + default: + return -EINVAL; + } +} -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 Gerrit-Change-Number: 18382 Gerrit-PatchSet: 9 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 Aug 3 01:11:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:37 +0000 Subject: Change in libosmo-abis[master]: Add 'trau2rtp' demo program illustrating the use of new TRAU code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18931 ) Change subject: Add 'trau2rtp' demo program illustrating the use of new TRAU code ...................................................................... Add 'trau2rtp' demo program illustrating the use of new TRAU code This is just for development and hence in 'contrib', and not built by default. For details, see the included README Change-Id: I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b --- A contrib/trau2rtp/Makefile A contrib/trau2rtp/README A contrib/trau2rtp/e1_ts2_efr.bin A contrib/trau2rtp/e1_ts2_efr.log.bz2 A contrib/trau2rtp/e1_ts2_fr.bin A contrib/trau2rtp/e1_ts2_fr.log.bz2 A contrib/trau2rtp/strace-write-parse.py A contrib/trau2rtp/trau2rtp.c 8 files changed, 442 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b Gerrit-Change-Number: 18931 Gerrit-PatchSet: 4 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 Aug 3 01:11:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:11:55 +0000 Subject: Change in libosmocore[master]: i460: Fix bit- and subslots ordering of I.460 mux + demux In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19514 ) Change subject: i460: Fix bit- and subslots ordering of I.460 mux + demux ...................................................................... i460: Fix bit- and subslots ordering of I.460 mux + demux When I wrote the new I.460 mux + demux code, I failed to realize that * bit numbers in relevant ITU specs start with 1 as MSB ... 8 as LSB * sub-slot 0 is bits 1+2, i.e. the two MSBs of a byte * bit-ordering within each sub-slot is also MSB first As a result, the code and test data was broken. Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0 --- M src/gsm/i460_mux.c M tests/i460_mux/i460_mux_test.c M tests/i460_mux/i460_mux_test.ok 3 files changed, 103 insertions(+), 98 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c index 320e781..91ab2a1 100644 --- a/src/gsm/i460_mux.c +++ b/src/gsm/i460_mux.c @@ -89,32 +89,34 @@ for (i = 0; i < data_len; i++) { uint8_t inbyte = data[i]; - uint8_t inbits = inbyte >> schan->bit_offset; + /* I.460 defines sub-channel 0 is using bit positions 1+2 (the two + * most significant bits, hence we extract msb-first */ + uint8_t inbits = inbyte << schan->bit_offset; /* extract the bits relevant to the given schan */ switch (schan->rate) { case OSMO_I460_RATE_8k: - demux_subchan_append_bit(schan, inbits & 0x01); + demux_subchan_append_bit(schan, inbits & 0x80); break; case OSMO_I460_RATE_16k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); break; case OSMO_I460_RATE_32k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); - demux_subchan_append_bit(schan, inbits & 0x04); - demux_subchan_append_bit(schan, inbits & 0x08); + demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); + demux_subchan_append_bit(schan, inbits & 0x20); + demux_subchan_append_bit(schan, inbits & 0x10); break; case OSMO_I460_RATE_64k: - demux_subchan_append_bit(schan, inbits & 0x01); - demux_subchan_append_bit(schan, inbits & 0x02); - demux_subchan_append_bit(schan, inbits & 0x04); - demux_subchan_append_bit(schan, inbits & 0x08); - demux_subchan_append_bit(schan, inbits & 0x10); - demux_subchan_append_bit(schan, inbits & 0x20); - demux_subchan_append_bit(schan, inbits & 0x40); demux_subchan_append_bit(schan, inbits & 0x80); + demux_subchan_append_bit(schan, inbits & 0x40); + demux_subchan_append_bit(schan, inbits & 0x20); + demux_subchan_append_bit(schan, inbits & 0x10); + demux_subchan_append_bit(schan, inbits & 0x08); + demux_subchan_append_bit(schan, inbits & 0x04); + demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x01); break; default: OSMO_ASSERT(0); @@ -205,22 +207,25 @@ uint8_t outbits = 0; uint8_t outmask; + /* I.460 defines sub-channel 0 is using bit positions 1+2 (the two + * most significant bits, hence we provide msb-first */ + switch (schan->rate) { case OSMO_I460_RATE_8k: - outbits = mux_schan_provide_bit(schan); - outmask = 0x01; + outbits = mux_schan_provide_bit(schan) << 7; + outmask = 0x80; break; case OSMO_I460_RATE_16k: - outbits |= mux_schan_provide_bit(schan) << 1; - outbits |= mux_schan_provide_bit(schan) << 0; - outmask = 0x03; + outbits |= mux_schan_provide_bit(schan) << 7; + outbits |= mux_schan_provide_bit(schan) << 6; + outmask = 0xC0; break; case OSMO_I460_RATE_32k: - outbits |= mux_schan_provide_bit(schan) << 3; - outbits |= mux_schan_provide_bit(schan) << 2; - outbits |= mux_schan_provide_bit(schan) << 1; - outbits |= mux_schan_provide_bit(schan) << 0; - outmask = 0x0F; + outbits |= mux_schan_provide_bit(schan) << 7; + outbits |= mux_schan_provide_bit(schan) << 6; + outbits |= mux_schan_provide_bit(schan) << 5; + outbits |= mux_schan_provide_bit(schan) << 4; + outmask = 0xF0; break; case OSMO_I460_RATE_64k: outbits |= mux_schan_provide_bit(schan) << 7; @@ -236,8 +241,8 @@ default: OSMO_ASSERT(0); } - *mask = outmask << schan->bit_offset; - return outbits << schan->bit_offset; + *mask = outmask >> schan->bit_offset; + return outbits >> schan->bit_offset; } /* provide one byte of multiplexed I.460 bits */ diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c index d63b2ae..9d5fcf7 100644 --- a/tests/i460_mux/i460_mux_test.c +++ b/tests/i460_mux/i460_mux_test.c @@ -234,8 +234,8 @@ int i; for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; - sequence[0] = 0x0f; sequence[1] = 0xf0; + sequence[0] = 0x0f; sequence[2] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); @@ -278,10 +278,10 @@ int i; for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; - sequence[0] = 0x03; - sequence[1] = 0x0c; - sequence[2] = 0x30; - sequence[3] = 0xc0; + sequence[0] = 0xC0; + sequence[1] = 0x30; + sequence[2] = 0x0c; + sequence[3] = 0x03; sequence[4] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); @@ -328,16 +328,16 @@ for (i = 0; i < sizeof(sequence); i++) sequence[i] = 0; i = 0; - sequence[i++] = 0x01; - sequence[i++] = 0x02; - sequence[i++] = 0x04; - sequence[i++] = 0x08; - sequence[i++] = 0x0f; - sequence[i++] = 0x10; - sequence[i++] = 0x20; - sequence[i++] = 0x40; sequence[i++] = 0x80; + sequence[i++] = 0x40; + sequence[i++] = 0x20; + sequence[i++] = 0x10; sequence[i++] = 0xf0; + sequence[i++] = 0x08; + sequence[i++] = 0x04; + sequence[i++] = 0x02; + sequence[i++] = 0x01; + sequence[i++] = 0x0f; sequence[i++] = 0xff; osmo_i460_demux_in(ts, sequence, sizeof(sequence)); diff --git a/tests/i460_mux/i460_mux_test.ok b/tests/i460_mux/i460_mux_test.ok index b94fb7b..79c55ed 100644 --- a/tests/i460_mux/i460_mux_test.ok +++ b/tests/i460_mux/i460_mux_test.ok @@ -7,15 +7,15 @@ mux_out: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 ==> test_32k_subchan -demux_bits_cb '32k_0': 1111000011110000000000000000000000000000 -demux_bits_cb '32k_4': 0000111111110000000000000000000000000000 +demux_bits_cb '32k_0': 0000111111110000000000000000000000000000 +demux_bits_cb '32k_4': 1111000011110000000000000000000000000000 test_32k_subchan-single-0 -mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 -mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_32k_subchan-single-1 -mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f -mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_16k_subchan @@ -24,28 +24,28 @@ demux_bits_cb '16k_4': 0000110011000000000000000000000000000000 demux_bits_cb '16k_6': 0000001111000000000000000000000000000000 test_16k_subchan-single-0 -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd -mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-1 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 -mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-2 -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df -mux_out: df df df df df df df df df df df df df df df df +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_16k_subchan-single-3 -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f -mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_8k_subchan @@ -58,58 +58,58 @@ demux_bits_cb '8k_6': 0000000101100000000000000000000000000000 demux_bits_cb '8k_7': 0000000011100000000000000000000000000000 test_8k_subchan-single-0 -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff -mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-1 -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff -mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-2 -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff -mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-3 -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff -mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-4 -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff -mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-5 -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff -mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-6 -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff -mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff test_8k_subchan-single-7 -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff -mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==> test_unused_subchan test_unused_subchan-single -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc -mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f +mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0 Gerrit-Change-Number: 19514 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 Aug 3 01:12:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:12:37 +0000 Subject: Change in osmo-ci[master]: ansible/docker: set overlayfs2 and ipv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19495 ) Change subject: ansible/docker: set overlayfs2 and ipv6 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e Gerrit-Change-Number: 19495 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 03 Aug 2020 01:12: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 Aug 3 01:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:12:43 +0000 Subject: Change in osmo-ci[master]: ansible/docker: set overlayfs2 and ipv6 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19495 ) Change subject: ansible/docker: set overlayfs2 and ipv6 ...................................................................... ansible/docker: set overlayfs2 and ipv6 overlayfs2 should be the default anyway. Enable it on all hosts, since it was enabled on older hosts. Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e --- A ansible/roles/docker/files/daemon.json A ansible/roles/docker/handlers/main.yml M ansible/roles/docker/tasks/main.yml 3 files changed, 17 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved lynxis lazus: Verified diff --git a/ansible/roles/docker/files/daemon.json b/ansible/roles/docker/files/daemon.json new file mode 100644 index 0000000..e08a463 --- /dev/null +++ b/ansible/roles/docker/files/daemon.json @@ -0,0 +1,5 @@ +{ + "ipv6": true, + "storage-driver": "overlay2", + "fixed-cidr-v6": "fd02:db8:1::/64" +} diff --git a/ansible/roles/docker/handlers/main.yml b/ansible/roles/docker/handlers/main.yml new file mode 100644 index 0000000..06f7c61 --- /dev/null +++ b/ansible/roles/docker/handlers/main.yml @@ -0,0 +1,6 @@ +--- + +- name: restart docker + service: + name: docker + state: restarted diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index 813b5ac..6ffe1af 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -38,3 +38,9 @@ hour: '*/3' user: "{{ jenkins_user }}" job: "test -x /home/{{ jenkins_user }}/osmo-ci/scripts/docker-cleanup.sh && /home/{{ jenkins_user }}/osmo-ci/scripts/docker-cleanup.sh >/dev/null" + +- name: copy daemon.json to support ipv6 + copy: + src: daemon.json + dest: /etc/docker/daemon.json + notify: restart docker -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e Gerrit-Change-Number: 19495 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 3 01:33:47 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:33:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f276985b4d96_67502ac3bb5765f81005929@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 43s] CC trau/libosmotrau_la-trau_frame.lo [ 43s] CC trau/libosmotrau_la-trau_sync.lo [ 43s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 43s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 43s] | ^~~~~~~ [ 43s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 43s] CCLD libosmoabis.la [ 43s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 43s] 28 | #include [ 43s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 43s] compilation terminated. [ 43s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 43s] make[2]: *** Waiting for unfinished jobs.... [ 45s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 45s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 45s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 45s] make: *** [Makefile:386: all] Error 2 [ 45s] error: Bad exit status from /var/tmp/rpm-tmp.ntl9l5 (%build) [ 45s] [ 45s] [ 45s] RPM build errors: [ 45s] Bad exit status from /var/tmp/rpm-tmp.ntl9l5 (%build) [ 45s] ### VM INTERACTION START ### [ 48s] [ 42.214812] sysrq: Power Off [ 48s] [ 42.216050] reboot: Power down [ 48s] ### VM INTERACTION END ### [ 48s] [ 48s] build84 failed "build libosmo-abis.spec" at Mon Aug 3 01:33:34 UTC 2020. [ 48s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:35:13 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:35:13 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f2769df61f09_67502ac3bb5765f810061e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 72s] CC trau/libosmotrau_la-osmo_ortp.lo [ 72s] CC trau/libosmotrau_la-trau_frame.lo [ 72s] CC trau/libosmotrau_la-trau_sync.lo [ 72s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 72s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 72s] #include [ 72s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 72s] compilation terminated. [ 72s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 72s] make[2]: *** Waiting for unfinished jobs.... [ 72s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 72s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 72s] ^~~~~~~ [ 73s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 73s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 73s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 73s] make: *** [Makefile:386: all] Error 2 [ 73s] error: Bad exit status from /var/tmp/rpm-tmp.cI3S5l (%build) [ 73s] [ 73s] [ 73s] RPM build errors: [ 73s] Bad exit status from /var/tmp/rpm-tmp.cI3S5l (%build) [ 73s] ### VM INTERACTION START ### [ 76s] [ 65.786042] sysrq: SysRq : Power Off [ 76s] [ 65.787406] reboot: Power down [ 76s] ### VM INTERACTION END ### [ 76s] [ 76s] obs-arm-9 failed "build libosmo-abis.spec" at Mon Aug 3 01:35:02 UTC 2020. [ 76s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:35:30 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:35:30 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f2769ff71b32_67502ac3bb5765f810062fb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 80s] CC trau/libosmotrau_la-trau_frame.lo [ 80s] CC trau/libosmotrau_la-trau_sync.lo [ 80s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 80s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 80s] | ^~~~~~~ [ 81s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 81s] CCLD libosmoabis.la [ 81s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 81s] 28 | #include [ 81s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 81s] compilation terminated. [ 81s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 81s] make[2]: *** Waiting for unfinished jobs.... [ 85s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 85s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 85s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 85s] make: *** [Makefile:386: all] Error 2 [ 85s] error: Bad exit status from /var/tmp/rpm-tmp.rjg3hE (%build) [ 85s] [ 85s] [ 85s] RPM build errors: [ 85s] Bad exit status from /var/tmp/rpm-tmp.rjg3hE (%build) [ 85s] ### VM INTERACTION START ### [ 88s] [ 69.870323] sysrq: Power Off [ 88s] [ 69.872194] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] obs-arm-8 failed "build libosmo-abis.spec" at Mon Aug 3 01:35:24 UTC 2020. [ 88s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:36:04 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:36:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f276a1b64026_67502ac3bb5765f810065c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 54s] CC trau/libosmotrau_la-trau_frame.lo [ 54s] CC trau/libosmotrau_la-trau_sync.lo [ 54s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 54s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 54s] | ^~~~~~~ [ 54s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 54s] CCLD libosmoabis.la [ 54s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 54s] 28 | #include [ 54s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 54s] compilation terminated. [ 54s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 54s] make[2]: *** Waiting for unfinished jobs.... [ 56s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 56s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 56s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 56s] make: *** [Makefile:386: all] Error 2 [ 56s] error: Bad exit status from /var/tmp/rpm-tmp.WRAIrD (%build) [ 56s] [ 56s] [ 56s] RPM build errors: [ 56s] Bad exit status from /var/tmp/rpm-tmp.WRAIrD (%build) [ 56s] ### VM INTERACTION START ### [ 59s] [ 51.683989] sysrq: Power Off [ 59s] [ 51.686764] reboot: Power down [ 59s] ### VM INTERACTION END ### [ 59s] [ 59s] old-atreju2 failed "build libosmo-abis.spec" at Mon Aug 3 01:35:48 UTC 2020. [ 59s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:36:21 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:36:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f276a1c390ec_67502ac3bb5765f8100667c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 43s] CC trau/libosmotrau_la-osmo_ortp.lo [ 43s] CC trau/libosmotrau_la-trau_frame.lo [ 43s] CC trau/libosmotrau_la-trau_sync.lo [ 43s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 43s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 43s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 43s] ^~~~~~~ [ 43s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 43s] #include [ 43s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 43s] compilation terminated. [ 43s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 43s] make[2]: *** Waiting for unfinished jobs.... [ 44s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 44s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 44s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 44s] make: *** [Makefile:386: all] Error 2 [ 44s] error: Bad exit status from /var/tmp/rpm-tmp.ta0cJ3 (%build) [ 44s] [ 44s] [ 44s] RPM build errors: [ 44s] Bad exit status from /var/tmp/rpm-tmp.ta0cJ3 (%build) [ 44s] ### VM INTERACTION START ### [ 47s] [ 41.460676] sysrq: Power Off [ 47s] [ 41.465425] reboot: Power down [ 47s] ### VM INTERACTION END ### [ 47s] [ 47s] sheep87 failed "build libosmo-abis.spec" at Mon Aug 3 01:36:16 UTC 2020. [ 47s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:36:38 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:36:38 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f276a3ae1a9d_67502ac3bb5765f810067f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 53s] CC trau/libosmotrau_la-osmo_ortp.lo [ 53s] CC trau/libosmotrau_la-trau_frame.lo [ 53s] CC trau/libosmotrau_la-trau_sync.lo [ 53s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 53s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 53s] ^~~~~~~ [ 53s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 53s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 53s] #include [ 53s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 53s] compilation terminated. [ 53s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 53s] make[2]: *** Waiting for unfinished jobs.... [ 53s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 53s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 53s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 53s] make: *** [Makefile:386: all] Error 2 [ 53s] error: Bad exit status from /var/tmp/rpm-tmp.PQSR9u (%build) [ 53s] [ 53s] [ 53s] RPM build errors: [ 53s] Bad exit status from /var/tmp/rpm-tmp.PQSR9u (%build) [ 53s] ### VM INTERACTION START ### [ 56s] [ 49.329253] sysrq: SysRq : Power Off [ 56s] [ 49.334818] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] lamb58 failed "build libosmo-abis.spec" at Mon Aug 3 01:36:26 UTC 2020. [ 57s] -- 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 Aug 3 01:37:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:37:14 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 01:37: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 Mon Aug 3 01:38:21 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:38:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <5f276a94c9a5_67502ac3bb5765f8100695@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 146s] CCLD libosmoabis.la [ 147s] CC trau/libosmotrau_la-osmo_ortp.lo [ 147s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 147s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 147s] ^~~~~~~ [ 148s] CC trau/libosmotrau_la-trau_frame.lo [ 150s] CC trau/libosmotrau_la-trau_sync.lo [ 151s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 152s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 152s] #include [ 152s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 152s] compilation terminated. [ 152s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 152s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 152s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 152s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 152s] make: *** [Makefile:386: all] Error 2 [ 152s] error: Bad exit status from /var/tmp/rpm-tmp.zBzikk (%build) [ 152s] [ 152s] [ 152s] RPM build errors: [ 152s] Bad exit status from /var/tmp/rpm-tmp.zBzikk (%build) [ 152s] ### VM INTERACTION START ### [ 155s] [ 127.047515] sysrq: SysRq : Power Off [ 155s] [ 127.049742] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] armbuild14 failed "build libosmo-abis.spec" at Mon Aug 3 01:38:06 UTC 2020. [ 155s] -- 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 Aug 3 01:38:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:38:43 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Aug 2020 01:38: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 Mon Aug 3 01:38:38 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:38:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f276ab3420a3_67502ac3bb5765f81007084@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: [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 152s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 152s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 152s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 152s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 152s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 152s] collect2: error: ld returned 1 exit status [ 152s] % [ 152s] make[2]: *** [Makefile:234: flash] Error 1 [ 152s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 152s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 152s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 152s] dh_auto_build: error: make -j1 returned exit code 2 [ 152s] make: *** [debian/rules:16: build] Error 25 [ 152s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 152s] ### VM INTERACTION START ### [ 155s] [ 145.355675] sysrq: SysRq : Power Off [ 155s] [ 145.368512] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] lamb69 failed "build simtrace2_0.7.0.60.859f.dsc" at Mon Aug 3 01:38:33 UTC 2020. [ 155s] -- 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 Aug 3 01:39:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:39:08 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 01:39:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 3 01:39:13 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:39:13 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f276ad2d8428_67502ac3bb5765f81007136@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 96s] from trau/osmo_ortp.c:38: [ 96s] /usr/include/ortp/rtpsession.h:429:111: note: expected 'void *' but argument is of type 'long unsigned int' [ 96s] ORTP_PUBLIC int rtp_session_signal_connect(RtpSession *session,const char *signal_name, RtpCallback cb, void *user_data); [ 96s] ~~~~~~^~~~~~~~~ [ 96s] CC trau/libosmotrau_la-trau_sync.lo [ 96s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 96s] CCLD libosmoabis.la [ 96s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 96s] #include [ 96s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 96s] compilation terminated. [ 96s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 96s] make[2]: *** Waiting for unfinished jobs.... [ 97s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 97s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 97s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 97s] make: *** [Makefile:386: all] Error 2 [ 97s] error: Bad exit status from /var/tmp/rpm-tmp.RWLcC1 (%build) [ 97s] [ 97s] [ 97s] RPM build errors: [ 97s] Bad exit status from /var/tmp/rpm-tmp.RWLcC1 (%build) [ 97s] ### VM INTERACTION START ### [ 98s] Powering off. [ 98s] [ 80.480434] reboot: Power down [ 98s] ### VM INTERACTION END ### [ 98s] [ 98s] cloud128 failed "build libosmo-abis.spec" at Mon Aug 3 01:38:57 UTC 2020. [ 98s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 01:40:04 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 01:40:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f276b0c2922b_67502ac3bb5765f81007286@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 325s] from trau/osmo_ortp.c:38: [ 325s] /usr/include/ortp/rtpsession.h:429:111: note: expected 'void *' but argument is of type 'long unsigned int' [ 325s] ORTP_PUBLIC int rtp_session_signal_connect(RtpSession *session,const char *signal_name, RtpCallback cb, void *user_data); [ 325s] ~~~~~~^~~~~~~~~ [ 325s] CC trau/libosmotrau_la-trau_sync.lo [ 325s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 325s] CCLD libosmoabis.la [ 325s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 325s] #include [ 325s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 325s] compilation terminated. [ 325s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 325s] make[2]: *** Waiting for unfinished jobs.... [ 327s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 327s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 327s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 327s] make: *** [Makefile:386: all] Error 2 [ 327s] error: Bad exit status from /var/tmp/rpm-tmp.yQp4Bw (%build) [ 327s] [ 327s] [ 327s] RPM build errors: [ 327s] Bad exit status from /var/tmp/rpm-tmp.yQp4Bw (%build) [ 327s] ### VM INTERACTION START ### [ 328s] Powering off. [ 328s] [ 291.788202] reboot: Power down [ 328s] ### VM INTERACTION END ### [ 329s] [ 329s] obs-arm-3 failed "build libosmo-abis.spec" at Mon Aug 3 01:40:03 UTC 2020. [ 329s] -- 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 Aug 3 01:42:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:42:11 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 11: > Patch Set 9: > > doest it make sense to keep a completely separate implementation for osmo_sock_init2_ofd, rather than "redirecting" the old code to the new? ping? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 01:42: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 Mon Aug 3 01:42:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:42:31 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 01:42: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 Aug 3 01:43:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 3 Aug 2020 01:43:57 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19416 ) Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... Patch Set 9: (1 comment) also, see my earlier comment. https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c at 1567 PS9, Line 1567: remote_ip remote should be 'const' if it's an input argument. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 03 Aug 2020 01:43:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 3 03:05:47 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 03:05:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f277f18c35d1_67502ac3bb5765f810204bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 452s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 452s] e1_input.c:228:2: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] [ 452s] 228 | write(pcap_fd, msg->l2h, msgb_l2len(msg)); [ 452s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 453s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 453s] 28 | #include [ 453s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 453s] compilation terminated. [ 453s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 453s] make[2]: *** Waiting for unfinished jobs.... [ 453s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 453s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 453s] | ^~~~~~~ [ 456s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 456s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 456s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 456s] make: *** [Makefile:386: all] Error 2 [ 456s] error: Bad exit status from /var/tmp/rpm-tmp.j6EyMs (%build) [ 456s] [ 456s] [ 456s] RPM build errors: [ 456s] Bad exit status from /var/tmp/rpm-tmp.j6EyMs (%build) [ 456s] ### VM INTERACTION START ### [ 459s] [ 432.703062] sysrq: Power Off [ 459s] [ 432.730586] reboot: Power down [ 461s] ### VM INTERACTION END ### [ 461s] [ 461s] obs-arm-5 failed "build libosmo-abis.spec" at Mon Aug 3 03:05:38 UTC 2020. [ 461s] -- 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 Aug 3 06:48:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 06:48:49 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 06:48: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 Aug 3 06:50:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 06:50:03 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19146/7/src/gsm/abis_nm.c File src/gsm/abis_nm.c: https://gerrit.osmocom.org/c/libosmocore/+/19146/7/src/gsm/abis_nm.c at 592 PS7, Line 592: TLV_TYPE_TL16V Hmm, wouldn't TLV_TYPE_TV be enough BTW? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Aug 2020 06:50: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 Mon Aug 3 06:55:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 06:55:38 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 06:55: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 Aug 3 06:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 06:58:52 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: The unit test should probably be disabled for systems without IPv6 support. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Aug 2020 06:58: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 Aug 3 09:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 ) Change subject: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs ...................................................................... library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd --- M library/PCUIF_Types.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/19516/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 1c5b0af..dbb1436 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -710,6 +710,12 @@ hsn := 0, maio := 0, ma := f_pad_bit(''B, 64, '0'B) }; +template PCUIF_InfoTrxTs tr_PCUIF_InfoTrxTsH0(template uint3_t tsc := ?) := { + tsc := tsc, + hopping := 0, + hsn := ?, maio := ?, + ma := ? +}; template (value) PCUIF_InfoTrxTs ts_PCUIF_InfoTrxTsH1(template (value) uint3_t tsc := 7, template (value) uint6_t hsn := 0, @@ -721,6 +727,16 @@ maio := maio, ma := f_pad_bit(valueof(ma), 64, '0'B) }; +template PCUIF_InfoTrxTs tr_PCUIF_InfoTrxTsH1(template uint3_t tsc := ?, + template uint6_t hsn := ?, + template uint6_t maio := ?, + template bitstring ma := ?) := { + tsc := tsc, + hopping := 1, + hsn := hsn, + maio := maio, + ma := ma +}; template (value) PCUIF_InfoV10Trx ts_PCUIF_InfoV10Trx(template (value) uint16_t arfcn := 871, template (value) BIT8 pdch_mask := '00000001'B, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd Gerrit-Change-Number: 19516 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 Aug 3 09:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 ) Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... BTS_Tests: compose the MA bitmask in f_resolve_fh_params() Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Related: SYS#4868, OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19517/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index dfda043..0ca5b7c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -545,13 +545,21 @@ } if (ispresent(pars.maio_hsn)) { - /* Compose the Mobile Allocation */ + /* Prepare the Mobile Allocation bitmask (length & padding) */ + pars.ma_map.len := mp_transceiver_num / 8; + if (mp_transceiver_num mod 8 > 0) + { pars.ma_map.len := pars.ma_map.len + 1; } + pars.ma_map.ma := f_pad_bit('0'B, pars.ma_map.len * 8, '0'B); + + /* Compose the actual Mobile Allocation and the bitmask */ for (j := 0; j < lengthof(g.trx_maio); j := j + 1) { var FreqHopGroupItem gi := g.trx_maio[j]; pars.ma := pars.ma & { l1ctl_ma_def[gi.trx_nr] }; + pars.ma_map.ma[gi.trx_nr] := '1'B; } - log("Freq. hopping parameters: ", pars.maio_hsn, pars.ma); + log("Freq. hopping parameters: maio_hsn=", pars.maio_hsn, + ", ma=", pars.ma, ", ma_map=", pars.ma_map); break; /* We're done */ } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 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 Aug 3 09:01:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:01:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 ) Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... BTS_Tests: verify hopping parameters in the INFO.ind message Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Related: I04782222b499d0488269544910fbd4ed9929c05d Related: SYS#4868, OS#4546, OS#4547 --- M bts/BTS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19518/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0ca5b7c..e150de5 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5442,6 +5442,48 @@ setverdict(pass); } +/* Verify hopping parameters in the INFO.ind message (version >= 10) */ +testcase TC_pcu_info_ind_fh_params() runs on test_CT { + var PCUIF_info_ind info_ind; + var ConnHdlrPars pars; + + f_init(); + + info_ind := g_pcu_last_info.u.info_ind; + + 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) { + /* Skip inactive timeslots */ + continue; + } + + pars := valueof(t_Pars(t_RslChanNr_PDCH(tn), ts_RSL_ChanMode_SIGN)); + if (mp_freq_hop_enabled and mp_transceiver_num > 1) + { f_resolve_fh_params(pars); } + + var template PCUIF_InfoTrxTs tr_ts; + if (ispresent(pars.maio_hsn)) { + tr_ts := tr_PCUIF_InfoTrxTsH1( + hsn := pars.maio_hsn.hsn, + maio := pars.maio_hsn.maio, + ma := f_pad_bit(pars.ma_map.ma, 64, '0'B)); + } else { + tr_ts := tr_PCUIF_InfoTrxTsH0; + } + + var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn]; + log("Checking timeslot #", tn, " of trx#", i, ": ", ts); + if (not match(ts, tr_ts)) { + setverdict(fail, "Hopping parameters do not match: ", + "received ", ts, " vs expected ", tr_ts); + } else { + setverdict(pass); + } + } + } +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -6844,6 +6886,9 @@ 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() ); + } } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 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 Aug 3 09:01:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:01:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 ) Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... BTS_Tests: compose the MA bitmask in f_resolve_fh_params() Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Related: SYS#4868, OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19517/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 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 Mon Aug 3 09:03:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:03:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() 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/+/19517 to look at the new patch set (#3). Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... BTS_Tests: compose the MA bitmask in f_resolve_fh_params() Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Related: SYS#4868, OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19517/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 09:03:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 09:03:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 to look at the new patch set (#3). Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... BTS_Tests: verify hopping parameters in the INFO.ind message Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Related: I04782222b499d0488269544910fbd4ed9929c05d Related: SYS#4868, OS#4546, OS#4547 --- M bts/BTS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19518/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 3 17:37:59 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 17:37:59 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f284b9134f2a_1c642ad36bfd05fc17417@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 127s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 127s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 127s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 127s] | | [ 127s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 127s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 127s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 127s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 127s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 127s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 127s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 128s] cc1: all warnings being treated as errors [ 128s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 128s] make[3]: *** Waiting for unfinished jobs.... [ 128s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 128s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 128s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 128s] make[1]: *** [Makefile:166: all] Error 2 [ 128s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 128s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 128s] make: *** [debian/rules:9: build] Error 25 [ 128s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 128s] ### VM INTERACTION START ### [ 131s] [ 111.353020] sysrq: SysRq : Power Off [ 131s] [ 111.368671] reboot: Power down [ 131s] ### VM INTERACTION END ### [ 131s] [ 131s] cloud118 failed "build ulfius_2.5.2-4.1.dsc" at Mon Aug 3 17:37:48 UTC 2020. [ 131s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 3 17:40:33 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Aug 2020 17:40:33 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f284c26d57d2_1c642ad36bfd05fc175196@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 211s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 211s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 211s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 211s] | | [ 211s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 211s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 211s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 211s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 211s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 211s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 211s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 211s] cc1: all warnings being treated as errors [ 211s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 211s] make[3]: *** Waiting for unfinished jobs.... [ 211s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 211s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 211s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 211s] make[1]: *** [Makefile:166: all] Error 2 [ 211s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 211s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 211s] make: *** [debian/rules:9: build] Error 25 [ 211s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 211s] ### VM INTERACTION START ### [ 214s] [ 198.233961] sysrq: SysRq : Power Off [ 214s] [ 198.238583] reboot: Power down [ 214s] ### VM INTERACTION END ### [ 214s] [ 214s] lamb27 failed "build ulfius_2.5.2-4.1.dsc" at Mon Aug 3 17:40:21 UTC 2020. [ 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 Mon Aug 3 22:20:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 22:20:39 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_radio_attr() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19519 ) Change subject: oml: fix ARFCN range check in oml_rx_set_radio_attr() ...................................................................... oml: fix ARFCN range check in oml_rx_set_radio_attr() Change-Id: I11c8203dfe26175632974e5c6859eeaea962e878 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/19519/1 diff --git a/src/common/oml.c b/src/common/oml.c index 39304f1..34d1a5c 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -775,7 +775,7 @@ memcpy(&_value, value, 2); arfcn = ntohs(_value); value += 2; - if (arfcn > 1024) { + if (arfcn >= 1024) { /* 0 .. 1023 (1024 channels total) */ oml_tx_failure_event_rep(&trx->bts->mo, NM_SEVER_MAJOR, OSMO_EVT_WARN_SW_WARN, "Given ARFCN %u is unsupported", arfcn); LOGPFOH(DOML, LOGL_NOTICE, foh, "Given ARFCN %u is unsupported.\n", arfcn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11c8203dfe26175632974e5c6859eeaea962e878 Gerrit-Change-Number: 19519 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 Aug 3 22:24:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Aug 2020 22:24:39 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_bts_attr() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19520 ) Change subject: oml: fix ARFCN range check in oml_rx_set_bts_attr() ...................................................................... oml: fix ARFCN range check in oml_rx_set_bts_attr() Change-Id: I52c15de3c59cd654207599ae410a4c1fed48ee58 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/20/19520/1 diff --git a/src/common/oml.c b/src/common/oml.c index 34d1a5c..78d9c65 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -552,7 +552,7 @@ /* Test for globally unsupported stuff here */ if (TLVP_PRES_LEN(&tp, NM_ATT_BCCH_ARFCN, 2)) { uint16_t arfcn = ntohs(tlvp_val16_unal(&tp, NM_ATT_BCCH_ARFCN)); - if (arfcn > 1024) { + if (arfcn >= 1024) { /* 0 .. 1023 (1024 channels total) */ oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MAJOR, OSMO_EVT_WARN_SW_WARN, "Given ARFCN %u is not supported", arfcn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52c15de3c59cd654207599ae410a4c1fed48ee58 Gerrit-Change-Number: 19520 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 Aug 3 22:28:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 Aug 2020 22:28:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 ) Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216/3/bsc/BSC_Tests.ttcn at 1463 PS3, Line 1463: ispresent > Ack but I see ispresent() used in various places? why is the other test better than ispresent()? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Aug 2020 22:28:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 22:50:12 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 Aug 2020 22:50:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 ) Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... Patch Set 3: > [...] but I don't like that instead of introducing a separate test case for (RR) Channel Release EARFCNs, you're integrating more checks into the existing tests. I see it as a test that has N EARFCNs configured and checks that these show up where they should: during init and during chan rel If we made these separate tests, we would blow up the number of tests: duplicate the 12 TC_si2quater_N_earfcns(), creating 12 more lines in the test results, 12 more tcpdumps taken, and so on. For what gain? The TC_si2quater_* would configure the EARFCNs and initialize the BTS links; and the 12 new rr_chan_rel tests would literally do the same, and then after that start a DCHAN and release. They simply and logically follow from the si2quater tests. Of course the test names then are slightly inaccurate, I intended to submit a renaming patch and discuss there whether we'd rather keep test names unchanging to not (temporarily) clutter test results summary in jenkins. > I suggest to make f_expect_chan_rel() return the received Channel Release message (instead of overloading it with even more functionality) hmm, the mode and style of that function seems to be to pass things that it should expect during channel release. If I return the CSFB cells instead, then what about the other expect_* arguments, should I return those as well? What about future additions of expected items, return those? Seems to me that passing an expected cell list for CSFB is the best match here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Aug 2020 22:50:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 23:22:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 Aug 2020 23:22:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 to look at the new patch set (#4). Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... bsc: test RR Channel Release EARFCNs Add a DCHAN and release to recently added SI2quater tests (because these tests already configure various amounts of EARFCNs in osmo-bsc). Verify that the RR Channel Release for CSFB contains all configured EARFCNs. In GSM_RR_Types.ttcn, add coding for "Cell selection indicator after release of all TCH and SDCCH IE". In f_expect_chan_rel(), add optional arg csfb_expect_cells, and, if present, decode the RR Channel Release message's L3 part, and in turn the Cell Selection Indicator Value contained. Match against csfb_expect_cells. In f_tc_si2quater_n_earfcns(), also compose a list of EARFCNs as found in the RR Channel Release, and pass to f_expect_chan_rel(). Depends: I59e427e4ebb1c6af99b27a15c40fed82457ac8ab (osmo-bsc) Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 170 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/19216/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 3 23:23:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 3 Aug 2020 23:23:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 to look at the new patch set (#4). Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... bsc: test RR Channel Release cause codes from Clear Command cause codes Invoke Clear Command with various Cause codes and verify that the RR Channel Release reflects them. Depends: I734cc55c501d61bbdadee81a223b26f9df57f959 (osmo-bsc) Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 91 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19217/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 4 01:32:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:32:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f28baca49e29_1c642ad36bfd05fc26087d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 59s] CC trau/libosmotrau_la-trau_frame.lo [ 59s] CC trau/libosmotrau_la-trau_sync.lo [ 59s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 59s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 59s] | ^~~~~~~ [ 59s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 59s] CCLD libosmoabis.la [ 59s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 59s] 28 | #include [ 59s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 59s] compilation terminated. [ 59s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 59s] make[2]: *** Waiting for unfinished jobs.... [ 62s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 62s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 62s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 62s] make: *** [Makefile:386: all] Error 2 [ 62s] error: Bad exit status from /var/tmp/rpm-tmp.kwi0W7 (%build) [ 62s] [ 62s] [ 62s] RPM build errors: [ 62s] Bad exit status from /var/tmp/rpm-tmp.kwi0W7 (%build) [ 62s] ### VM INTERACTION START ### [ 65s] [ 57.695748] sysrq: Power Off [ 65s] [ 57.698056] reboot: Power down [ 65s] ### VM INTERACTION END ### [ 65s] [ 65s] old-atreju1 failed "build libosmo-abis.spec" at Tue Aug 4 01:32:25 UTC 2020. [ 65s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:35:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:35:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f28bb605a713_1c642ad36bfd05fc260989@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 51s] CC trau/libosmotrau_la-osmo_ortp.lo [ 51s] CC trau/libosmotrau_la-trau_frame.lo [ 51s] CC trau/libosmotrau_la-trau_sync.lo [ 51s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 51s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 51s] ^~~~~~~ [ 51s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 51s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 51s] #include [ 51s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 51s] compilation terminated. [ 51s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 51s] make[2]: *** Waiting for unfinished jobs.... [ 51s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 51s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 51s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 51s] make: *** [Makefile:386: all] Error 2 [ 51s] error: Bad exit status from /var/tmp/rpm-tmp.PkLiZO (%build) [ 51s] [ 51s] [ 51s] RPM build errors: [ 51s] Bad exit status from /var/tmp/rpm-tmp.PkLiZO (%build) [ 51s] ### VM INTERACTION START ### [ 55s] [ 48.000676] sysrq: SysRq : Power Off [ 55s] [ 48.007613] reboot: Power down [ 55s] ### VM INTERACTION END ### [ 55s] [ 55s] lamb07 failed "build libosmo-abis.spec" at Tue Aug 4 01:35:06 UTC 2020. [ 55s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:35:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:35:28 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f28bb79da3ed_1c642ad36bfd05fc261055@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 58s] CC trau/libosmotrau_la-trau_frame.lo [ 58s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 58s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 58s] ^~~~~~~ [ 58s] CC trau/libosmotrau_la-trau_sync.lo [ 58s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 58s] CCLD libosmoabis.la [ 58s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 58s] #include [ 58s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 58s] compilation terminated. [ 58s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 58s] make[2]: *** Waiting for unfinished jobs.... [ 58s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 58s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 58s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 58s] make: *** [Makefile:386: all] Error 2 [ 58s] error: Bad exit status from /var/tmp/rpm-tmp.840Qik (%build) [ 58s] [ 58s] [ 58s] RPM build errors: [ 58s] Bad exit status from /var/tmp/rpm-tmp.840Qik (%build) [ 58s] ### VM INTERACTION START ### [ 61s] [ 52.672394] sysrq: Power Off [ 61s] [ 52.679716] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] cloud116 failed "build libosmo-abis.spec" at Tue Aug 4 01:35:10 UTC 2020. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:35:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:35:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f28bb7b7d60_1c642ad36bfd05fc2612c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 56s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 56s] CC trau/libosmotrau_la-trau_sync.lo [ 56s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 56s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 56s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 56s] | ^~~~~~~ [ 56s] CCLD libosmoabis.la [ 56s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 56s] 28 | #include [ 56s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 56s] compilation terminated. [ 56s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 56s] make[2]: *** Waiting for unfinished jobs.... [ 58s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 58s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 58s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 58s] make: *** [Makefile:386: all] Error 2 [ 58s] error: Bad exit status from /var/tmp/rpm-tmp.yJzYDs (%build) [ 58s] [ 58s] [ 58s] RPM build errors: [ 58s] Bad exit status from /var/tmp/rpm-tmp.yJzYDs (%build) [ 58s] ### VM INTERACTION START ### [ 61s] [ 54.008792] sysrq: Power Off [ 61s] [ 54.015925] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] lamb55 failed "build libosmo-abis.spec" at Tue Aug 4 01:35:29 UTC 2020. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:36:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:36:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f28bbb949af_1c642ad36bfd05fc261487@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 92s] CC trau/libosmotrau_la-osmo_ortp.lo [ 92s] CC trau/libosmotrau_la-trau_frame.lo [ 92s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 92s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 92s] ^~~~~~~ [ 92s] CC trau/libosmotrau_la-trau_sync.lo [ 92s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 93s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 93s] #include [ 93s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 93s] compilation terminated. [ 93s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 93s] make[2]: *** Waiting for unfinished jobs.... [ 93s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 93s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 93s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 93s] make: *** [Makefile:386: all] Error 2 [ 93s] error: Bad exit status from /var/tmp/rpm-tmp.k1frby (%build) [ 93s] [ 93s] [ 93s] RPM build errors: [ 93s] Bad exit status from /var/tmp/rpm-tmp.k1frby (%build) [ 93s] ### VM INTERACTION START ### [ 97s] [ 81.592373] sysrq: SysRq : Power Off [ 97s] [ 81.594201] reboot: Power down [ 97s] ### VM INTERACTION END ### [ 97s] [ 97s] obs-arm-8 failed "build libosmo-abis.spec" at Tue Aug 4 01:36:27 UTC 2020. [ 97s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:36:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:36:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f28bbb9aaba2_1c642ad36bfd05fc261520@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 100s] ^~~~~~~~~~~~~~~~~~~ [ 100s] In file included from /usr/include/ortp/ortp.h:68, [ 100s] from trau/osmo_ortp.c:38: [ 100s] /usr/include/ortp/rtpsession.h:429:111: note: expected 'void *' but argument is of type 'long unsigned int' [ 100s] ORTP_PUBLIC int rtp_session_signal_connect(RtpSession *session,const char *signal_name, RtpCallback cb, void *user_data); [ 100s] ~~~~~~^~~~~~~~~ [ 100s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 101s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 101s] #include [ 101s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 101s] compilation terminated. [ 101s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 101s] make[2]: *** Waiting for unfinished jobs.... [ 101s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 101s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 101s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 101s] make: *** [Makefile:386: all] Error 2 [ 101s] error: Bad exit status from /var/tmp/rpm-tmp.OwpmGM (%build) [ 101s] [ 101s] [ 101s] RPM build errors: [ 101s] Bad exit status from /var/tmp/rpm-tmp.OwpmGM (%build) [ 101s] ### VM INTERACTION START ### [ 102s] Powering off. [ 102s] [ 90.853245] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] lamb54 failed "build libosmo-abis.spec" at Tue Aug 4 01:36:38 UTC 2020. [ 102s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:37:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:37:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f28bbd8e18fc_1c642ad36bfd05fc26173b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 104s] CC trau/libosmotrau_la-trau_frame.lo [ 104s] CC trau/libosmotrau_la-trau_sync.lo [ 104s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 104s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 104s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 104s] | ^~~~~~~ [ 104s] CCLD libosmoabis.la [ 104s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 104s] 28 | #include [ 104s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 104s] compilation terminated. [ 104s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 104s] make[2]: *** Waiting for unfinished jobs.... [ 110s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 110s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 110s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 110s] make: *** [Makefile:386: all] Error 2 [ 110s] error: Bad exit status from /var/tmp/rpm-tmp.wz0Z25 (%build) [ 110s] [ 110s] [ 110s] RPM build errors: [ 110s] Bad exit status from /var/tmp/rpm-tmp.wz0Z25 (%build) [ 110s] ### VM INTERACTION START ### [ 113s] [ 98.204069] sysrq: Power Off [ 113s] [ 98.274846] reboot: Power down [ 114s] ### VM INTERACTION END ### [ 114s] [ 114s] obs-arm-8 failed "build libosmo-abis.spec" at Tue Aug 4 01:37:09 UTC 2020. [ 114s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:37:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:37:28 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <5f28bbf264cea_1c642ad36bfd05fc2618f1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 106s] CC trau/libosmotrau_la-trau_frame.lo [ 106s] CC trau/libosmotrau_la-trau_sync.lo [ 106s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 106s] trau/osmo_ortp.c:233:9: note: #pragma message: Using internal ortp API: rtp_session_rtcp_rec [ 106s] #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 106s] ^~~~~~~ [ 107s] CCLD libosmoabis.la [ 107s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 107s] #include [ 107s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 107s] compilation terminated. [ 107s] make[2]: *** [Makefile:585: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 107s] make[2]: *** Waiting for unfinished jobs.... [ 108s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 108s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 108s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 108s] make: *** [Makefile:386: all] Error 2 [ 108s] error: Bad exit status from /var/tmp/rpm-tmp.6rCcaH (%build) [ 108s] [ 108s] [ 108s] RPM build errors: [ 108s] Bad exit status from /var/tmp/rpm-tmp.6rCcaH (%build) [ 108s] ### VM INTERACTION START ### [ 111s] [ 93.570817] sysrq: SysRq : Power Off [ 111s] [ 93.573397] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] obs-arm-6 failed "build libosmo-abis.spec" at Tue Aug 4 01:37:13 UTC 2020. [ 112s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:38:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:38:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f28bc11c4fa4_1c642ad36bfd05fc26197e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 160s] from trau/osmo_ortp.c:38: [ 160s] /usr/include/ortp/rtpsession.h:429:111: note: expected 'void *' but argument is of type 'long unsigned int' [ 160s] ORTP_PUBLIC int rtp_session_signal_connect(RtpSession *session,const char *signal_name, RtpCallback cb, void *user_data); [ 160s] ~~~~~~^~~~~~~~~ [ 160s] CC trau/libosmotrau_la-trau_sync.lo [ 161s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 161s] CCLD libosmoabis.la [ 161s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 161s] #include [ 161s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 161s] compilation terminated. [ 161s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 161s] make[2]: *** Waiting for unfinished jobs.... [ 162s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 162s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 162s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 162s] make: *** [Makefile:386: all] Error 2 [ 162s] error: Bad exit status from /var/tmp/rpm-tmp.6edWq3 (%build) [ 162s] [ 162s] [ 162s] RPM build errors: [ 162s] Bad exit status from /var/tmp/rpm-tmp.6edWq3 (%build) [ 162s] ### VM INTERACTION START ### [ 163s] Powering off. [ 163s] [ 140.663281] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] obs-arm-8 failed "build libosmo-abis.spec" at Tue Aug 4 01:38:09 UTC 2020. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:38:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:38:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f28bc3052fcf_1c642ad36bfd05fc262099@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] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 155s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 155s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 155s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 155s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 155s] collect2: error: ld returned 1 exit status [ 155s] % [ 155s] make[2]: *** [Makefile:234: flash] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 155s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: error: make -j1 returned exit code 2 [ 155s] make: *** [debian/rules:16: build] Error 25 [ 155s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 148.080337] sysrq: SysRq : Power Off [ 158s] [ 148.086468] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] lamb55 failed "build simtrace2_0.7.0.60.859f.dsc" at Tue Aug 4 01:38:29 UTC 2020. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 01:48:02 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 01:48:02 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f28be6a546ae_1c642ad36bfd05fc26295@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 141s] CCLD libosmoabis.la [ 149s] CC trau/libosmotrau_la-osmo_ortp.lo [ 150s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 150s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 150s] | ^~~~~~~ [ 150s] CC trau/libosmotrau_la-trau_frame.lo [ 151s] CC trau/libosmotrau_la-trau_sync.lo [ 151s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 152s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 152s] 28 | #include [ 152s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 152s] compilation terminated. [ 152s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 152s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 152s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 152s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 152s] make: *** [Makefile:386: all] Error 2 [ 152s] error: Bad exit status from /var/tmp/rpm-tmp.SpC9ia (%build) [ 152s] [ 152s] [ 152s] RPM build errors: [ 152s] Bad exit status from /var/tmp/rpm-tmp.SpC9ia (%build) [ 152s] ### VM INTERACTION START ### [ 155s] [ 133.788063] sysrq: Power Off [ 155s] [ 133.789924] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] armbuild15 failed "build libosmo-abis.spec" at Tue Aug 4 01:47:50 UTC 2020. [ 155s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 03:57:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 03:57:28 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f28dcc4c5d82_1c642ad36bfd05fc274851@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 115s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 115s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 115s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 115s] | | [ 115s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 115s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 115s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 115s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 115s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 115s] 2425 | MHD_start_daemon (unsigned int flags, [ 115s] | ^~~~~~~~~~~~~~~~ [ 116s] cc1: all warnings being treated as errors [ 116s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 116s] make[3]: *** Waiting for unfinished jobs.... [ 116s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[1]: *** [Makefile:166: all] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 116s] make: *** [debian/rules:9: build] Error 25 [ 116s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 107.869858] sysrq: SysRq : Power Off [ 119s] [ 107.876800] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] lamb16 failed "build ulfius_2.5.2-4.1.dsc" at Tue Aug 4 03:57:23 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 03:58:02 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 03:58:02 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f28dce3c538d_1c642ad36bfd05fc274914@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 118s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 118s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 118s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 118s] | | [ 118s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 118s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 118s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 118s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 118s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 118s] 2425 | MHD_start_daemon (unsigned int flags, [ 118s] | ^~~~~~~~~~~~~~~~ [ 119s] cc1: all warnings being treated as errors [ 119s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 119s] make[3]: *** Waiting for unfinished jobs.... [ 119s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 119s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] make[1]: *** [Makefile:166: all] Error 2 [ 119s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 119s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 119s] make: *** [debian/rules:9: build] Error 25 [ 119s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 119s] ### VM INTERACTION START ### [ 122s] [ 110.734023] sysrq: SysRq : Power Off [ 122s] [ 110.740870] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] lamb71 failed "build ulfius_2.5.2-4.1.dsc" at Tue Aug 4 03:57:45 UTC 2020. [ 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 Tue Aug 4 07:52:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 07:52:40 +0000 Subject: Change in libosmo-abis[master]: Add missing build dependency to libosmocodec-dev References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19521 ) Change subject: Add missing build dependency to libosmocodec-dev ...................................................................... Add missing build dependency to libosmocodec-dev Since I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b we are using a header file provided by libosmocodec, which means we need to add it to our dependencies (and include path). Linking against the library is not required, as we don't use any symbols at this point. Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d --- M configure.ac M contrib/libosmo-abis.spec.in M src/Makefile.am 3 files changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/21/19521/1 diff --git a/configure.ac b/configure.ac index 04ffca6..d24010e 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.1.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index da0c2d8..abde676 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -30,6 +30,7 @@ BuildRequires: pkgconfig(libosmocore) >= 1.1.0 BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.1.0 BuildRequires: pkgconfig(ortp) >= 0.22 BuildRequires: pkgconfig(talloc) diff --git a/src/Makefile.am b/src/Makefile.am index 4254428..f5dd865 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,9 +5,9 @@ TRAU_LIBVERSION=4:0:2 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) -AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(COVERAGE_CFLAGS) +AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(LIBOSMOCODEC_CFLAGS) $(COVERAGE_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -COMMONLIBS = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS) +COMMONLIBS = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS) # libosmocodec not [yet] needed here lib_LTLIBRARIES = libosmoabis.la libosmotrau.la -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d Gerrit-Change-Number: 19521 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 Aug 4 08:34:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 08:34:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 08:34: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 Aug 4 08:35:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 08:35:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 ) Change subject: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd Gerrit-Change-Number: 19516 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 08:35:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 08:35:15 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Aug 2020 08:35:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor dummy burst scheduling In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19029 ) Change subject: osmo-bts-trx/scheduler: refactor dummy burst scheduling ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Gerrit-Change-Number: 19029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 08:35:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 08:45:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 08:45:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 ) Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 08:45:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 08:46:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 08:46:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 ) Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 08:46: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 Aug 4 08:54:23 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 Aug 2020 08:54:23 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19146/7/src/gsm/abis_nm.c File src/gsm/abis_nm.c: https://gerrit.osmocom.org/c/libosmocore/+/19146/7/src/gsm/abis_nm.c at 592 PS7, Line 592: TLV_TYPE_TL16V > Hmm, wouldn't TLV_TYPE_TV be enough BTW? no, it needs to be a tlv because the length isn't fixed. (the new ns_link_cfg can also support ipv4). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Aug 2020 08:54:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 09:13:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:13:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 ) Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Aug 2020 09: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 Aug 4 09:14:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:14:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 ) Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 09:14: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 Aug 4 09:14:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:14:38 +0000 Subject: Change in libosmo-abis[master]: Add missing build dependency to libosmocodec-dev In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19521 ) Change subject: Add missing build dependency to libosmocodec-dev ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d Gerrit-Change-Number: 19521 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 09: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 Tue Aug 4 09:14:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:14:41 +0000 Subject: Change in libosmo-abis[master]: Add missing build dependency to libosmocodec-dev In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19521 ) Change subject: Add missing build dependency to libosmocodec-dev ...................................................................... Add missing build dependency to libosmocodec-dev Since I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b we are using a header file provided by libosmocodec, which means we need to add it to our dependencies (and include path). Linking against the library is not required, as we don't use any symbols at this point. Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d --- M configure.ac M contrib/libosmo-abis.spec.in M src/Makefile.am 3 files changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 04ffca6..d24010e 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.1.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index da0c2d8..abde676 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -30,6 +30,7 @@ BuildRequires: pkgconfig(libosmocore) >= 1.1.0 BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.1.0 BuildRequires: pkgconfig(ortp) >= 0.22 BuildRequires: pkgconfig(talloc) diff --git a/src/Makefile.am b/src/Makefile.am index 4254428..f5dd865 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,9 +5,9 @@ TRAU_LIBVERSION=4:0:2 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) -AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(COVERAGE_CFLAGS) +AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(LIBOSMOCODEC_CFLAGS) $(COVERAGE_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -COMMONLIBS = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS) +COMMONLIBS = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS) # libosmocodec not [yet] needed here lib_LTLIBRARIES = libosmoabis.la libosmotrau.la -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d Gerrit-Change-Number: 19521 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 Aug 4 09:15:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:15:50 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemented fb_bw8_line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: firmware/fb: Implemented fb_bw8_line ...................................................................... Patch Set 2: Code-Review-1 > unrelated whitespace changes / code formatting :/ still the case :( as the next commit seems to fix those, you could squash them... -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 09: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 Aug 4 09:17:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:17:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: log expected response in f_cbsp_write In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19433 ) Change subject: bsc CBSP: log expected response in f_cbsp_write ...................................................................... Patch Set 1: Code-Review-1 ok, then let's not merge it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I844717b0f665496a842764b3b915ba64249cd617 Gerrit-Change-Number: 19433 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 09:17:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 09:23:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:23:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 ) Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... Patch Set 1: Code-Review-1 The 3GPP specified direction of the CBSP connection is either from CBC to BSC or the other way around. So TCP-wise, both entities can either be Client or Server. However, this still doesn't mean on the CBC level anything changes, i.e. the CBC is still the CBC and the BSC is still the BSC. So no matter whether the TTCN3 test here is a client or a server, it will always be the CBC - and hence expect to receive a RESTART. So I'm not convinced that your comment is correct -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Aug 2020 09:23: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 Aug 4 09:24:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 09:24:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl: fix nr of blocks calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 ) Change subject: bsc CBSP: f_page2rsl: fix nr of blocks calculation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436/2/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436/2/bsc/BSC_Tests_CBSP.ttcn at 307 PS2, Line 307: private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false, integer expect_blocks := -1) > I unconsciously applied C logic, we can do it in template logic too of course (but it's just going t [?] in TTCN3, whenever we expect anything (receive side), we should use templates. More specific, it should be "template (present)" unless it can also be absent/omit. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06cc144bd92e94d461dac3f56a738da8e055b73a Gerrit-Change-Number: 19436 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 09:24:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 10:16:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 10:16:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor dummy burst scheduling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19029 ) Change subject: osmo-bts-trx/scheduler: refactor dummy burst scheduling ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Gerrit-Change-Number: 19029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 10:16: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 Aug 4 10:16:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 10:16:37 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: refactor dummy burst scheduling In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19029 ) Change subject: osmo-bts-trx/scheduler: refactor dummy burst scheduling ...................................................................... osmo-bts-trx/scheduler: refactor dummy burst scheduling This change facilitates the upcoming freq. hopping implementation, in particular scheduling of dummy bursts on C0 with hopping time- slots. One problem is that we cannot know in advance, whether to send a dummy burst on a given timeslot unless all transceivers are processed. For example, trx#3 may want to send a normal burst on ARFCN of trx#0 (C0), while we have already sent a dummy burst... Another important aspect is that we shall not be sending dummy bursts on transceivers other than C0. Scheduling dummy bursts from _sched_dl_burst() in the context of a single hopping timeslot of a single transceiver leaves trx_sched_fn() no way to know whether it's a dummy burst or something else. Let's solve both problems by moving dummy burst scheduling logic from _sched_dl_burst() to trx_sched_fn(). Maintain C0 slot-mask in the inner (per-trx) loop, so that we can fill missing bursts with dummy bursts afterwards. Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Related: SYS#4868, OS#4546 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 29 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index eb8039f..e3326f6 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -35,6 +35,7 @@ }; extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; +extern const ubit_t _sched_dummy_burst[]; extern const ubit_t _sched_tsc[8][26]; extern const ubit_t _sched_egprs_tsc[8][78]; extern const ubit_t _sched_sch_train[64]; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 7375a1a..c5b3830 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -52,8 +52,9 @@ enum trx_chan_type chan); static int rts_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan); + /*! \brief Dummy Burst (TS 05.02 Chapter 5.2.6) */ -static const ubit_t dummy_burst[GSM_BURST_LEN] = { +const ubit_t _sched_dummy_burst[GSM_BURST_LEN] = { 0,0,0, 1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,1,0, 0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,0,0, @@ -1189,7 +1190,7 @@ enum trx_chan_type chan; if (!l1ts->mf_index) - goto no_data; + return; /* get frame from multiframe */ period = l1ts->mf_period; @@ -1204,11 +1205,11 @@ /* check if channel is active */ if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) - goto no_data; + return; /* get burst from function */ if (func(l1t, chan, bid, br) != 0) - goto no_data; + return; /* BS Power reduction (in dB) per logical channel */ if (l1cs->lchan != NULL) @@ -1225,19 +1226,6 @@ br->burst[i + 88] ^= ks[i + 57]; } } - -no_data: - /* in case of C0, we need a dummy burst to maintain RF power */ - if (!br->burst_len && l1t->trx == l1t->trx->bts->c0) { -#if 0 - if (chan != TRXC_IDLE) // hack - LOGP(DL1C, LOGL_DEBUG, "No burst data for %s fn=%u ts=%u " - "burst=%d on C0, so filling with dummy burst\n", - trx_chan_desc[chan].name, fn, tn, bid); -#endif - memcpy(br->burst, dummy_burst, ARRAY_SIZE(dummy_burst)); - br->burst_len = ARRAY_SIZE(dummy_burst); - } } static int trx_sched_calc_frame_loss(struct l1sched_trx *l1t, diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 85f0e92..e617031 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -60,6 +60,7 @@ { struct trx_dl_burst_req br; struct gsm_bts_trx *trx; + uint8_t c0_mask = 0x00; uint32_t sched_fn; uint8_t tn; @@ -99,9 +100,31 @@ continue; } + /* update dummy burst mask for C0 */ + if (trx == bts->c0) + c0_mask |= (1 << tn); + trx_if_send_burst(l1h, &br); } } + + /* send dummy bursts on inactive timeslots of C0 */ + struct phy_instance *pinst = trx_phy_instance(bts->c0); + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + struct phy_link *plink = pinst->phy_link; + + br = (struct trx_dl_burst_req) { + .fn = GSM_TDMA_FN_SUM(fn, plink->u.osmotrx.clock_advance), + .burst_len = GSM_BURST_LEN, + }; + + memcpy(br.burst, _sched_dummy_burst, GSM_BURST_LEN); + + for (br.tn = 0; br.tn < TRX_NR_TS; br.tn++) { + if (c0_mask & (1 << br.tn)) + continue; + trx_if_send_burst(l1h, &br); + } } /*! maximum number of 'missed' frame periods we can tolerate of OS doesn't schedule us*/ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8c3651c27d2991079e83b8abdb7e2c3f95b97a43 Gerrit-Change-Number: 19029 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 10:32:57 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 Aug 2020 10:32:57 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 10:32:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 10:33:02 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 Aug 2020 10:33:02 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Patch Set 5: 1+1 = 2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 10:33: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 Tue Aug 4 10:33:09 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 Aug 2020 10:33:09 +0000 Subject: Change in libosmocore[master]: Gb/BSSGP: replace hardcoded Tx into NS library by a callback In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19414 ) Change subject: Gb/BSSGP: replace hardcoded Tx into NS library by a callback ...................................................................... Gb/BSSGP: replace hardcoded Tx into NS library by a callback Add bssgp_ns_send callback() to set the transmission path into the NS library. This allows to use the Gb implementation with the old NS and the new upcoming NS implementation. Users of the old NS implementation don't have to set the callback as the default is the old NS implementation. Only users of the new NS implementation need to set the callback and the callback data. Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 --- M include/osmocom/gprs/gprs_bssgp.h M src/gb/Makefile.am M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c A src/gb/gprs_bssgp_internal.h M src/gb/gprs_bssgp_util.c M src/gb/libosmogb.map 7 files changed, 54 insertions(+), 23 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index 0f87333..b9d251c 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -12,7 +12,10 @@ #include /* gprs_bssgp_util.c */ +typedef int (*bssgp_bvc_send)(void *ctx, struct msgb *msg); + extern struct gprs_ns_inst *bssgp_nsi; +void bssgp_set_bssgp_callback(bssgp_bvc_send ns_send, void *data); struct msgb *bssgp_msgb_alloc(void); struct msgb *bssgp_msgb_copy(const struct msgb *msg, const char *name); const char *bssgp_cause_str(enum gprs_bssgp_cause cause); diff --git a/src/gb/Makefile.am b/src/gb/Makefile.am index 7248413..125afba 100644 --- a/src/gb/Makefile.am +++ b/src/gb/Makefile.am @@ -7,7 +7,7 @@ AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN} -fno-strict-aliasing $(TALLOC_CFLAGS) # FIXME: this should eventually go into a milenage/Makefile.am -noinst_HEADERS = common_vty.h gb_internal.h +noinst_HEADERS = common_vty.h gb_internal.h gprs_bssgp_internal.h if ENABLE_GB lib_LTLIBRARIES = libosmogb.la diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 38794c2..fa4e187 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -44,6 +44,11 @@ void *bssgp_tall_ctx = NULL; +static int _gprs_ns_sendmsg(void *ctx, struct msgb *msg); + +bssgp_bvc_send bssgp_ns_send = _gprs_ns_sendmsg; +void *bssgp_ns_send_data = NULL; + static const struct rate_ctr_desc bssgp_ctr_description[] = { { "packets:in", "Packets at BSSGP Level ( In)" }, { "packets:out","Packets at BSSGP Level (Out)" }, @@ -67,6 +72,13 @@ static int _bssgp_tx_dl_ud(struct bssgp_flow_control *fc, struct msgb *msg, uint32_t llc_pdu_len, void *priv); + +/* callback to be backward compatible with old users which do not set the bssgp_ns_send function */ +static int _gprs_ns_sendmsg(void *ctx, struct msgb *msg) +{ + return gprs_ns_sendmsg(bssgp_nsi, msg); +} + /* Find a BTS Context based on parsed RA ID and Cell ID */ struct bssgp_bvc_ctx *btsctx_by_raid_cid(const struct gprs_ra_id *raid, uint16_t cid) { @@ -117,6 +129,12 @@ return NULL; } +void bssgp_set_bssgp_callback(bssgp_bvc_send ns_send, void *data) +{ + bssgp_ns_send = ns_send; + bssgp_ns_send_data = data; +} + struct bssgp_bvc_ctx *btsctx_alloc(uint16_t bvci, uint16_t nsei) { struct bssgp_bvc_ctx *ctx; @@ -163,7 +181,7 @@ bgph->pdu_type = BSSGP_PDUT_FLOW_CONTROL_BVC_ACK; msgb_tvlv_put(msg, BSSGP_IE_TAG, 1, &tag); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* 10.3.7 SUSPEND-ACK PDU */ @@ -182,7 +200,7 @@ bssgp_msgb_ra_put(msg, ra_id); msgb_tvlv_put(msg, BSSGP_IE_SUSPEND_REF_NR, 1, &suspend_ref); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* 10.3.8 SUSPEND-NACK PDU */ @@ -204,7 +222,7 @@ if (cause) msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, cause); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* 10.3.10 RESUME-ACK PDU */ @@ -222,7 +240,7 @@ bssgp_msgb_tlli_put(msg, tlli); bssgp_msgb_ra_put(msg, ra_id); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* 10.3.11 RESUME-NACK PDU */ @@ -243,7 +261,7 @@ if (cause) msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, cause); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } uint16_t bssgp_parse_cell_id(struct gprs_ra_id *raid, const uint8_t *buf) @@ -266,7 +284,7 @@ } /* Chapter 8.4 BVC-Reset Procedure */ -static int bssgp_rx_bvc_reset(struct msgb *msg, struct tlv_parsed *tp, +static int bssgp_rx_bvc_reset(struct msgb *msg, struct tlv_parsed *tp, uint16_t ns_bvci) { struct osmo_bssgp_prim nmp; @@ -744,7 +762,7 @@ static int _bssgp_tx_dl_ud(struct bssgp_flow_control *fc, struct msgb *msg, uint32_t llc_pdu_len, void *priv) { - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* input function of the flow control implementation, called first @@ -1286,7 +1304,7 @@ msgb_tvlv_put(msg, BSSGP_IE_TMSI, 4, (uint8_t *) &ptmsi); } - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } void bssgp_set_log_ss(int ss) diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c index 5a1ffb9..94b1812 100644 --- a/src/gb/gprs_bssgp_bss.c +++ b/src/gb/gprs_bssgp_bss.c @@ -34,6 +34,7 @@ #include #include +#include "gprs_bssgp_internal.h" #include "common_vty.h" #define GSM_IMSI_LENGTH 17 @@ -69,7 +70,7 @@ bssgp_msgb_tlli_put(msg, tlli); bssgp_msgb_ra_put(msg, ra_id); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! GMM-RESUME.req (Chapter 10.3.9) */ @@ -91,7 +92,7 @@ msgb_tvlv_put(msg, BSSGP_IE_SUSPEND_REF_NR, 1, &suspend_ref); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit RA-CAPABILITY-UPDATE (10.3.3) */ @@ -113,7 +114,7 @@ msgb_tvlv_put(msg, BSSGP_IE_TAG, 1, &tag); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* first common part of RADIO-STATUS */ @@ -141,7 +142,7 @@ msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, &cause); LOGPC(DBSSGP, LOGL_NOTICE, "CAUSE=%s\n", bssgp_cause_str(cause)); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit RADIO-STATUS for TLLI (10.3.5) */ @@ -220,7 +221,7 @@ msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci_new); msgb_tvlv_put(msg, BSSGP_IE_NUM_OCT_AFF, 3, (uint8_t *) &_oct_aff); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit LLC-DISCARDED (Chapter 10.4.3) */ @@ -246,7 +247,7 @@ msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); msgb_tvlv_put(msg, BSSGP_IE_NUM_OCT_AFF, 3, ((uint8_t *) &_oct_aff) + 1); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit a BVC-BLOCK message (Chapter 10.4.8) */ @@ -267,7 +268,7 @@ msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, &cause); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit a BVC-UNBLOCK message (Chapter 10.4.10) */ @@ -286,7 +287,7 @@ msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit a BVC-RESET message (Chapter 10.4.12) */ @@ -313,7 +314,7 @@ } /* Optional: Feature Bitmap */ - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause) { @@ -389,7 +390,7 @@ sizeof(e_queue_delay), (uint8_t *) &e_queue_delay); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! Transmit a FLOW_CONTROL-MS (Chapter 10.4.6) @@ -432,7 +433,7 @@ msgb_tvlv_put(msg, BSSGP_IE_BUCKET_FULL_RATIO, 1, bucket_full_ratio); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /*! RL-UL-UNITDATA.req (Chapter 10.2.2) @@ -478,7 +479,7 @@ rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_OUT]); rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_OUT], msg->len); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* Parse a single GMM-PAGING.req to a given NSEI/NS-BVCI */ diff --git a/src/gb/gprs_bssgp_internal.h b/src/gb/gprs_bssgp_internal.h new file mode 100644 index 0000000..2ada027 --- /dev/null +++ b/src/gb/gprs_bssgp_internal.h @@ -0,0 +1,7 @@ + +#pragma once + +#include + +extern bssgp_bvc_send bssgp_ns_send; +extern void *bssgp_ns_send_data; diff --git a/src/gb/gprs_bssgp_util.c b/src/gb/gprs_bssgp_util.c index 7708949..917f1f3 100644 --- a/src/gb/gprs_bssgp_util.c +++ b/src/gb/gprs_bssgp_util.c @@ -32,6 +32,7 @@ #include #include +#include "gprs_bssgp_internal.h" #include "common_vty.h" struct gprs_ns_inst *bssgp_nsi; @@ -210,7 +211,7 @@ _bvci = osmo_htons(bvci); msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } /* Chapter 10.4.14: Status */ @@ -248,5 +249,5 @@ msgb_tvlv_put(msg, BSSGP_IE_PDU_IN_ERROR, msgb_bssgp_len(orig_msg), msgb_bssgph(orig_msg)); - return gprs_ns_sendmsg(bssgp_nsi, msg); + return bssgp_ns_send(bssgp_ns_send_data, msg); } diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 7a231db..0c0c5c4 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -13,6 +13,7 @@ bssgp_msgb_tlli_put; bssgp_msgb_ra_put; bssgp_parse_cell_id; +bssgp_set_bssgp_callback; bssgp_tx_bvc_block; bssgp_tx_bvc_reset; bssgp_tx_bvc_reset2; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a498e6a0d68b87fed80c64199b22395796761b4 Gerrit-Change-Number: 19414 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Aug 4 10:37:02 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 4 Aug 2020 10:37:02 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: > Patch Set 8: > > The unit test should probably be disabled for systems without IPv6 support. We don't even have --enable-ipv6 in our configure script. Every system these days have IPv6 enabled by default. The unit tests just need the ::1 (localhost) to be functional. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 10:37: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 Tue Aug 4 10:59:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 10:59:19 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19141 ) Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... Patch Set 8: > While looking into socket.h, if EMBEDDED it doesn't include . But should be socket.h used at all on EMBEDDED? no, there are no sockets on arm-none-eabi bare-iron embedded targets. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 10:59:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 11:02:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Aug 2020 11:02:07 +0000 Subject: Change in libosmocore[master]: utils/gsmtap_logread.py: make it executable References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19522 ) Change subject: utils/gsmtap_logread.py: make it executable ...................................................................... utils/gsmtap_logread.py: make it executable Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a --- M utils/gsmtap_logread.py 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/19522/1 diff --git a/utils/gsmtap_logread.py b/utils/gsmtap_logread.py old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a Gerrit-Change-Number: 19522 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 Aug 4 11:38:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 4 Aug 2020 11:38:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 ) Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... Patch Set 1: > So no matter whether the TTCN3 test here is a client or a server, it will always be the CBC - and hence expect to receive a RESTART. So instead of this patch, we should fix osmo-bsc to send a RESTART when a client connects, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Aug 2020 11: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 Tue Aug 4 11:41:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 4 Aug 2020 11:41:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: allow passing guard_timeout to BSC_Tests.f_init() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19437 ) Change subject: bsc CBSP: allow passing guard_timeout to BSC_Tests.f_init() ...................................................................... bsc CBSP: allow passing guard_timeout to BSC_Tests.f_init() An upcoming patch adds a test series (of various payload lengths) to TC_cbsp_write_bss(), which then needs a bit longer than 30 seconds to run through those. That test will pass a longer guard_timeout. Change-Id: I54e1b3994074f4d0caf5b201588fce0ec41dda89 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index acd0b99..c44e9df 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -93,8 +93,8 @@ } } -private function f_init() runs on cbsp_test_CT { - BSC_Tests.f_init(); +private function f_init(float guard_timeout := 30.0) runs on cbsp_test_CT { + BSC_Tests.f_init(guard_timeout := guard_timeout); activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, tr_RSL_NO_BCCH_INFO, tr_RSL_NO_SACCH_FILL, tr_RSL_MsgTypeD(?)))); @@ -106,11 +106,11 @@ f_cbsp_init_tail(); } -private function f_cbsp_init_server() runs on cbsp_test_CT { +private function f_cbsp_init_server(float guard_timeout := 30.0) runs on cbsp_test_CT { var ASP_Event asp_evt; timer T := 10.0; - f_init(); + f_init(guard_timeout := guard_timeout); CBSP_Adapter.f_bind(mp_cbc_ip, mp_cbc_port); T.start; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e1b3994074f4d0caf5b201588fce0ec41dda89 Gerrit-Change-Number: 19437 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 11:45:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 4 Aug 2020 11:45:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: cosmetic: rename f_cbsp_init_tail() to f_expect_cbsp_restart() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19440 ) Change subject: bsc CBSP: cosmetic: rename f_cbsp_init_tail() to f_expect_cbsp_restart() ...................................................................... Patch Set 3: (just tried to quickly rebase onto master, didn't work, nevermind then. will put the patch back where it was soon.) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieffe70cf43eb79b798d93717bbce294ee809f0e2 Gerrit-Change-Number: 19440 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 04 Aug 2020 11:45:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 14:27:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:27:45 +0000 Subject: Change in libosmocore[master]: utils/gsmtap_logread.py: make it executable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19522 ) Change subject: utils/gsmtap_logread.py: make it executable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a Gerrit-Change-Number: 19522 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 14:27:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 14:27:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:27:46 +0000 Subject: Change in libosmocore[master]: utils/gsmtap_logread.py: make it executable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19522 ) Change subject: utils/gsmtap_logread.py: make it executable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a Gerrit-Change-Number: 19522 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 14:27: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 Aug 4 14:27:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:27:50 +0000 Subject: Change in libosmocore[master]: utils/gsmtap_logread.py: make it executable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19522 ) Change subject: utils/gsmtap_logread.py: make it executable ...................................................................... utils/gsmtap_logread.py: make it executable Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a --- M utils/gsmtap_logread.py 1 file changed, 0 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/gsmtap_logread.py b/utils/gsmtap_logread.py old mode 100644 new mode 100755 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2a3ee31ddc8838ce8e7a58de89a0e606ae918c6a Gerrit-Change-Number: 19522 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 Tue Aug 4 14:28:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:28:27 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_radio_attr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19519 ) Change subject: oml: fix ARFCN range check in oml_rx_set_radio_attr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11c8203dfe26175632974e5c6859eeaea962e878 Gerrit-Change-Number: 19519 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 14:28:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 14:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:28:53 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_bts_attr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19520 ) Change subject: oml: fix ARFCN range check in oml_rx_set_bts_attr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52c15de3c59cd654207599ae410a4c1fed48ee58 Gerrit-Change-Number: 19520 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 14:28: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 Aug 4 14:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:28:56 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_radio_attr() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19519 ) Change subject: oml: fix ARFCN range check in oml_rx_set_radio_attr() ...................................................................... oml: fix ARFCN range check in oml_rx_set_radio_attr() Change-Id: I11c8203dfe26175632974e5c6859eeaea962e878 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index 39304f1..34d1a5c 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -775,7 +775,7 @@ memcpy(&_value, value, 2); arfcn = ntohs(_value); value += 2; - if (arfcn > 1024) { + if (arfcn >= 1024) { /* 0 .. 1023 (1024 channels total) */ oml_tx_failure_event_rep(&trx->bts->mo, NM_SEVER_MAJOR, OSMO_EVT_WARN_SW_WARN, "Given ARFCN %u is unsupported", arfcn); LOGPFOH(DOML, LOGL_NOTICE, foh, "Given ARFCN %u is unsupported.\n", arfcn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11c8203dfe26175632974e5c6859eeaea962e878 Gerrit-Change-Number: 19519 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 Tue Aug 4 14:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:28:56 +0000 Subject: Change in osmo-bts[master]: oml: fix ARFCN range check in oml_rx_set_bts_attr() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19520 ) Change subject: oml: fix ARFCN range check in oml_rx_set_bts_attr() ...................................................................... oml: fix ARFCN range check in oml_rx_set_bts_attr() Change-Id: I52c15de3c59cd654207599ae410a4c1fed48ee58 --- M src/common/oml.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index 34d1a5c..78d9c65 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -552,7 +552,7 @@ /* Test for globally unsupported stuff here */ if (TLVP_PRES_LEN(&tp, NM_ATT_BCCH_ARFCN, 2)) { uint16_t arfcn = ntohs(tlvp_val16_unal(&tp, NM_ATT_BCCH_ARFCN)); - if (arfcn > 1024) { + if (arfcn >= 1024) { /* 0 .. 1023 (1024 channels total) */ oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MAJOR, OSMO_EVT_WARN_SW_WARN, "Given ARFCN %u is not supported", arfcn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52c15de3c59cd654207599ae410a4c1fed48ee58 Gerrit-Change-Number: 19520 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 Tue Aug 4 14:31:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:31:06 +0000 Subject: Change in libosmocore[master]: log stderr: Increase output buffering using setvbuf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19463 ) Change subject: log stderr: Increase output buffering using setvbuf() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19463/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19463/1//COMMIT_MSG at 7 PS1, Line 7: log stderr: Increase output buffering using setvbuf() > The changes you are doing here doesn't seem to correspond to log stderr, but to file targets. [?] thanks, indeed. for stderr I'm not sure setvbuf can be used. It must be used immediately after opening the file descriptor... 128 is just a random number, which I felt was sufficiently large as a buffer. But we could of course make that also user/application configurable -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59beadb8d1d10a942513efc4c0477701f967237a Gerrit-Change-Number: 19463 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 14:31:06 +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 Aug 4 14:31:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 14:31:11 +0000 Subject: Change in libosmocore[master]: log file: Increase output buffering using setvbuf() 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/+/19463 to look at the new patch set (#3). Change subject: log file: Increase output buffering using setvbuf() ...................................................................... log file: Increase output buffering using setvbuf() Change-Id: I59beadb8d1d10a942513efc4c0477701f967237a --- M src/logging.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/19463/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59beadb8d1d10a942513efc4c0477701f967237a Gerrit-Change-Number: 19463 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Tue Aug 4 14:40:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Aug 2020 14:40:09 +0000 Subject: Change in libosmocore[master]: log file: Increase output buffering using setvbuf() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19463 ) Change subject: log file: Increase output buffering using setvbuf() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59beadb8d1d10a942513efc4c0477701f967237a Gerrit-Change-Number: 19463 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Aug 2020 14:40: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 Aug 4 17:08:12 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 Aug 2020 17:08:12 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: remove unused variable References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19523 to review the following change. Change subject: mgcp_protocol: remove unused variable ...................................................................... mgcp_protocol: remove unused variable The function allocate_port() has pointer a variable end, it even does an OSMO_ASSERT on it, but it never uses it. Lets remove it. Change-Id: I369361389c6276e5511c683ebd630093713bdd37 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/19523/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index f2fc20c..bc96462 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -370,13 +370,10 @@ static int allocate_port(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) { int i; - struct mgcp_rtp_end *end; struct mgcp_port_range *range; unsigned int tries; OSMO_ASSERT(conn); - end = &conn->end; - OSMO_ASSERT(end); range = &endp->cfg->net_ports; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I369361389c6276e5511c683ebd630093713bdd37 Gerrit-Change-Number: 19523 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 4 17:08:13 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 Aug 2020 17:08:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19524 ) Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... mgcp_e1: finish E1 support, add E1 support from libosmoabis Currently only the endpoint handling for E1 exists, but there is no actual code behind it that handles the E1 traffic. Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Related: OS#2659 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/debug.h M include/osmocom/mgcp/mgcp_conn.h A include/osmocom/mgcp/mgcp_e1.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_conn.c A src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c M tests/mgcp/Makefile.am M tests/mgcp/mgcp_test.c 22 files changed, 907 insertions(+), 60 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/24/19524/1 diff --git a/configure.ac b/configure.ac index 7c63437..db44893 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,8 @@ PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index fb7654f..549ba87 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -10,4 +10,5 @@ mgcp_trunk.h \ debug.h \ mgcp_ratectr.h \ + mgcp_e1.h \ $(NULL) diff --git a/include/osmocom/mgcp/debug.h b/include/osmocom/mgcp/debug.h index ddeb0dc..7044c1e 100644 --- a/include/osmocom/mgcp/debug.h +++ b/include/osmocom/mgcp/debug.h @@ -29,6 +29,7 @@ /* Debug Areas of the code */ enum { DRTP, + DE1, Debug_LastEntry, }; diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index ff5a779..78d5ea8 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -124,3 +124,4 @@ void mgcp_conn_free_all(struct mgcp_endpoint *endp); char *mgcp_conn_dump(struct mgcp_conn *conn); struct mgcp_conn *mgcp_find_dst_conn(struct mgcp_conn *conn); +struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp); diff --git a/include/osmocom/mgcp/mgcp_e1.h b/include/osmocom/mgcp/mgcp_e1.h new file mode 100644 index 0000000..78056b2 --- /dev/null +++ b/include/osmocom/mgcp/mgcp_e1.h @@ -0,0 +1,27 @@ +#pragma once + +/* A 64k timeslot on an E1 line can be subdevied into the following + * subslot combinations: + * + * subslot: offset: + * [ ][ ][ 16k ][8k_subslot] 0 + * [ ][ 32k ][_subslot__][8k_subslot] 1 + * [ ][ subslot ][ 16k ][8k_subslot] 2 + * [ 64k ][__________][_subslot__][8k_subslot] 3 + * [ timeslot ][ ][ 16k ][8k_subslot] 4 + * [ ][ 32K ][_subslot__][8k_subslot] 5 + * [ ][ subslot ][ 16k ][8k_subslot] 6 + * [ ][ ][ subslot ][8k_subslot] 7 + * + * Since overlapping assignment of subslots is not possible there is a limited + * set of subslot assignments possible. The e1_rates array lists the possible + * assignments as depicted above. Also each subslot assignment comes along with + * a bit offset in the E1 bitstream. The e1_offsets arrays lists the bit + * offsets. */ +static const uint8_t e1_rates[] = { 64, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8 }; +static const uint8_t e1_offsets[] = { 0, 0, 4, 0, 2, 4, 6, 0, 1, 2, 3, 4, 5, 6, 7 }; + +int mgcp_e1_init(struct mgcp_trunk *trunk, uint8_t ts_nr); +int mgcp_e1_endp_equip(struct mgcp_endpoint *endp, uint8_t ts, uint8_t ss, uint8_t offs); +void mgcp_e1_endp_release(struct mgcp_endpoint *endp); +int mgcp_e1_send_rtp(struct mgcp_endpoint *endp, struct mgcp_rtp_codec *codec, struct msgb *msg); diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index c16ea4b..da59af4 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -24,6 +24,7 @@ #pragma once #include +#include struct sockaddr_in; struct mgcp_conn; @@ -116,10 +117,19 @@ /*! MGCP_X_OSMO_IGN_* flags from 'X-Osmo-IGN:' header */ uint32_t x_osmo_ign; + + /* E1 specific */ + struct { + struct osmo_i460_schan_desc scd; + struct osmo_i460_subchan *schan; + struct osmo_fsm_inst *sync_fi; + } e1; + }; struct mgcp_endpoint *mgcp_endp_alloc(struct mgcp_trunk *trunk, unsigned int index); void mgcp_endp_release(struct mgcp_endpoint *endp); +int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid); struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, const struct mgcp_trunk *trunk); struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index 3d7224e..86b2a57 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -71,6 +71,10 @@ /* duration of a packet (FIXME: in which unit?) */ uint32_t packet_duration; + /* Note: These states are not continuously updated, they serve as an + * information source to patch certain values in the RTP header. Do + * not use this state if constantly updated data about the RTP stream + * is needed. (see also mgcp_patch_and_count() */ struct mgcp_rtp_stream_state in_stream; struct mgcp_rtp_stream_state out_stream; @@ -85,6 +89,13 @@ int cycles; } stats; + /* Alternative values for RTP tx, in case no sufficient header + * information is available so the header needs to be generated + * locally (when just forwarding packets, the header of incoming + * data is just re-used) */ + uint16_t alt_rtp_tx_sequence; + uint32_t alt_rtp_tx_ssrc; + bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ }; @@ -296,3 +307,5 @@ struct mgcp_rtp_state *state, struct mgcp_rtp_end *rtp_end, struct sockaddr_in *addr, struct msgb *msg); + +#define RTP_BUF_SIZE 4096 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index d0bc628..87e3434 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -29,6 +29,7 @@ MGCP_CRCX_FAIL_CODEC_NEGOTIATION, MGCP_CRCX_FAIL_BIND_PORT, MGCP_CRCX_FAIL_AVAIL, + MGCP_CRCX_FAIL_CLAIM, }; /* Global MCGP MDCX related rate counters */ diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index aa6dd29..664b7bc 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -1,5 +1,7 @@ #pragma once +#include + enum mgcp_trunk_type { MGCP_TRUNK_VIRTUAL, MGCP_TRUNK_E1, @@ -39,18 +41,32 @@ int rtp_accept_all; unsigned int number_endpoints; - unsigned int vty_number_endpoints; struct mgcp_endpoint **endpoints; /* global rate counters to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + + union { + /* Virtual trunk specific */ + struct { + unsigned int vty_number_endpoints; + } v; + /* E1 specific */ + struct { + unsigned int vty_line_nr; + struct e1inp_line *line; + bool ts_in_use[31]; + struct osmo_i460_timeslot i460_ts[31]; + } e1; + }; }; struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); -int mgcp_trunk_alloc_endpts(struct mgcp_trunk *tcfg); +int mgcp_trunk_equip(struct mgcp_trunk *trunk); struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); struct mgcp_trunk *mgcp_trunk_by_name(const struct mgcp_config *cfg, const char *epname); int e1_trunk_nr_from_epname(const char *epname); +struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num); /* The virtual trunk is always created on trunk id 0 for historical reasons, * use this define constant as ID when allocating a virtual trunk. Other diff --git a/src/libosmo-mgcp/Makefile.am b/src/libosmo-mgcp/Makefile.am index 77d0cdf..91b2bf6 100644 --- a/src/libosmo-mgcp/Makefile.am +++ b/src/libosmo-mgcp/Makefile.am @@ -10,6 +10,8 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -18,6 +20,8 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMONETIF_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(COVERAGE_LDFLAGS) \ $(NULL) @@ -43,4 +47,5 @@ mgcp_trunk.c \ mgcp_ctrl.c \ mgcp_ratectr.c \ + mgcp_e1.c \ $(NULL) diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 6802b91..1e3e721 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -397,3 +397,10 @@ return NULL; } + +/*! get oldest connection in the list. + * \param[in] endp associated endpoint */ +struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp) +{ + return llist_last_entry(&endp->conns, struct mgcp_conn, entry); +} diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c new file mode 100644 index 0000000..4718792 --- /dev/null +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -0,0 +1,606 @@ +/* E1 traffic handling */ + +/* + * (C) 2020 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 + +#include +#include +#include +#include +#include +#include +#include +#include + +#define DEBUG_BITS_MAX 80 +#define DEBUG_BYTES_MAX 40 +#define DEBUG_E1_TS 0 +#define E1_TS_BYTES 160 +#define E1_TRAU_BITS 320 +#define E1_TRAU_BITS_MSGB 2048 + +static struct mgcp_config *cfg; + +static const struct e1inp_line_ops dummy_e1_line_ops = { + .sign_link_up = NULL, + .sign_link_down = NULL, + .sign_link = NULL, +}; + +/* EFR idle frame */ +static ubit_t idle_tf_efr[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* FR idle frame */ +static ubit_t idle_tf_fr[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* Idle speech frame, see also GSM 08.60, chapter 3.4 */ +static ubit_t idle_tf_spch[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* Determine a suitable TRAU frame type for a given codec */ +static enum osmo_trau_frame_type determine_trau_fr_type(char *sdp_subtype_name, enum osmo_i460_rate i460_rate, + uint8_t amr_ft, struct mgcp_endpoint *endp) +{ + if (strcmp(sdp_subtype_name, "GSM") == 0) + return OSMO_TRAU16_FT_FR; + else if (strcmp(sdp_subtype_name, "GSM-EFR") == 0) + return OSMO_TRAU16_FT_EFR; + else if (strcmp(sdp_subtype_name, "GSM-HR-08") == 0) + return OSMO_TRAU16_FT_HR; + else if (strcmp(sdp_subtype_name, "AMR") == 0) { + if (i460_rate == OSMO_I460_RATE_8k) { + switch (amr_ft) { + case AMR_4_75: + case AMR_5_15: + case AMR_5_90: + return OSMO_TRAU8_AMR_LOW; + case AMR_6_70: + return OSMO_TRAU8_AMR_6k7; + case AMR_7_40: + return OSMO_TRAU8_AMR_7k4; + default: + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-i460-TX: unsupported or illegal AMR frame type: %u\n", amr_ft); + return OSMO_TRAU_FT_NONE; + } + } + return OSMO_TRAU16_FT_AMR; + } else { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: unsupported or illegal codec subtype name: %s\n", + sdp_subtype_name); + return OSMO_TRAU_FT_NONE; + } +} + +/* If the RTP transmission has dropouts for some reason the i460 TX-Queue may + * run empty. In order to make sure that the TRAU frame transmission continues + * we generate idle TRAU frames here. */ +static void e1_i460_mux_empty_cb(struct osmo_i460_subchan *schan, void *user_data) +{ + struct mgcp_endpoint *endp = user_data; + struct msgb *msg = msgb_alloc(E1_TRAU_BITS_MSGB, "E1-i460-IDLE-TX-TRAU-frame"); + uint8_t *ptr; + uint8_t *ptr_ft; + enum osmo_trau_frame_type ft; + struct mgcp_conn *conn; + + /* In order to determine the codec, find the oldest connection on + * the endpoint and use its codec information. Normally on an E1 + * endpoint no more than one connection should exist. */ + conn = mgcp_conn_get_oldest(endp); + OSMO_ASSERT(conn); + + /* Choose an appropiate idle frame type */ + ft = determine_trau_fr_type(conn->u.rtp.end.codec->subtype_name, endp->e1.scd.rate, OSMO_TRAU8_AMR_LOW, endp); + switch (ft) { + case OSMO_TRAU16_FT_FR: + ptr_ft = idle_tf_fr; + break; + case OSMO_TRAU16_FT_EFR: + ptr_ft = idle_tf_efr; + break; + default: + ptr_ft = idle_tf_spch; + } + + /* Put the replacement into a message buffer and enqueue it into the + * i460 multiplexer */ + ptr = msgb_put(msg, E1_TRAU_BITS); + memcpy(ptr, ptr_ft, E1_TRAU_BITS); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-IDLE-TX: enquing %u trau frame bits: %s...\n", msg->len, + osmo_ubit_dump(msgb_data(msg), msg->len > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : msg->len)); + osmo_i460_mux_enqueue(endp->e1.schan, msg); +} + +/* called by I.460 de-multeiplexer; feed output of I.460 demux into TRAU frame sync */ +static void e1_i460_demux_bits_cb(struct osmo_i460_subchan *schan, void *user_data, const ubit_t *bits, + unsigned int num_bits) +{ + struct mgcp_endpoint *endp = user_data; + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-RX: receiving %u bits from subslot: %s...\n", num_bits, + osmo_ubit_dump(bits, num_bits > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : num_bits)); + OSMO_ASSERT(endp->e1.sync_fi); + osmo_trau_sync_rx_ubits(endp->e1.sync_fi, bits, num_bits); +} + +/* called for each synchronized TRAU frame received; decode frame + convert to RTP + * (the resulting frame will be prepended with an all-zero (12-byte) rtp header) */ +static void sync_frame_out_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +{ + struct msgb *msg = msgb_alloc(RTP_BUF_SIZE, "RTP-rx-from-E1"); + unsigned int rtp_hdr_len = sizeof(struct rtp_hdr); + struct mgcp_endpoint *endp = user_data; + struct mgcp_conn *conn_dst; + struct osmo_trau_frame fr; + int rc; + + if (!bits) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: frame synchronization error, no bits received\n"); + goto skip; + } + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-RX: receiving %u bits (syncronized) from E1 subslot: %s...\n", + num_bits, osmo_ubit_dump(bits, num_bits > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : num_bits)); + + /* Decode TRAU frame */ + switch (endp->e1.scd.rate) { + case OSMO_I460_RATE_8k: + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: decoding 8k trau frame...\n"); + rc = osmo_trau_frame_decode_8k(&fr, bits, OSMO_TRAU_DIR_UL); + break; + case OSMO_I460_RATE_16k: + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: decoding 16k trau frame...\n"); + rc = osmo_trau_frame_decode_16k(&fr, bits, OSMO_TRAU_DIR_UL); + break; + case OSMO_I460_RATE_32k: + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode 32k trau frame, rate not supported!\n"); + goto skip; + break; + case OSMO_I460_RATE_64k: + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode 64k trau frame, rate not supported!\n"); + goto skip; + break; + default: + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode trau frame, invalid rate set!\n"); + goto skip; + break; + } + if (rc != 0) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: unable to decode trau frame\n"); + goto skip; + } + + /* Check if the payload type is supported and what the expected lenth + * of the RTP payload will be. */ + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-RX: decoded trau frame type: %s\n", + osmo_trau_frame_type_name(fr.type)); + + /* Convert decoded trau frame to RTP frame */ + struct osmo_trau2rtp_state t2rs = { + .type = fr.type, + }; + rc = osmo_trau2rtp(msgb_data(msg) + rtp_hdr_len, msg->data_len - rtp_hdr_len, &fr, &t2rs); + if (rc <= 0) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: unable to convert trau frame to RTP audio\n"); + goto skip; + } + msgb_put(msg, rtp_hdr_len + rc); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-RX: encoded %u bytes of RTP audio: %s\n", rc, + osmo_hexdump(msgb_data(msg) + rtp_hdr_len, msg->len - rtp_hdr_len)); + + /* Forward RTP data to IP */ + conn_dst = llist_first_entry(&endp->conns, struct mgcp_conn, entry); + if (!conn_dst) { + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-i460-RX: unable to forward RTP audio data from E1: no connection to forward an incoming RTP packet to\n"); + goto skip; + } + if (conn_dst->type != MGCP_CONN_TYPE_RTP) { + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-i460-RX: unable to forward RTP audio data from E1: unable to find suitable destination conn\n"); + goto skip; + } + mgcp_send(endp, 1, NULL, msg, &conn_dst->u.rtp, &conn_dst->u.rtp); + +skip: + msgb_free(msg); + return; +} + +/* Function to handle outgoing E1 traffic */ +void e1_send(struct e1inp_ts *ts, struct mgcp_trunk *trunk) +{ + struct msgb *msg = msgb_alloc(E1_TS_BYTES, "E1-TX-timeslot-bytes"); + uint8_t *ptr; + int rc; + + /* Get E1 frame from i460 multiplexer */ + ptr = msgb_put(msg, E1_TS_BYTES); + rc = osmo_i460_mux_out(&trunk->e1.i460_ts[ts->num - 1], ptr, E1_TS_BYTES); + if (rc < 0) { + LOGP(DE1, LOGL_ERROR, "E1-TX: (trunk:%u, ts:%u) no data to transmit!\n", trunk->trunk_nr, ts->num); + goto skip; + } + if (rc != E1_TS_BYTES) { + LOGP(DE1, LOGL_ERROR, + "E1-TX: (trunk:%u, ts:%u) expected to get %u bytes of data, got %u bytes instead!\n", + trunk->trunk_nr, ts->num, E1_TS_BYTES, rc); + goto skip; + } +#if DEBUG_E1_TS == 1 + LOGP(DE1, LOGL_DEBUG, "E1-TX: (trunk:%u, ts:%u) sending %u bytes: %s...\n", trunk->trunk_nr, ts->num, msg->len, + osmo_hexdump_nospc(msg->data, msg->len > DEBUG_BYTES_MAX ? DEBUG_BYTES_MAX : msg->len)); +#endif + /* Hand data over to the E1 stack */ + msgb_enqueue(&ts->raw.tx_queue, msg); + return; +skip: + msgb_free(msg); +} + +/* Callback function to handle incoming E1 traffic */ +void e1_recv_cb(struct e1inp_ts *ts, struct msgb *msg) +{ + struct mgcp_trunk *trunk; + + /* Find associated trunk */ + trunk = mgcp_trunk_by_line_num(cfg, ts->line->num); + if (!trunk) { + LOGP(DE1, LOGL_ERROR, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); + return; + } + + /* Check if the incoming data looks sane */ + if (ts->num <= 0 || ts->num > 31) { + LOGP(DE1, LOGL_ERROR, "E1-RX: (trunk:%u) E1 timeslot number (%u) out of range!\n", trunk->trunk_nr, + ts->num); + return; + } + if (msg->len != E1_TS_BYTES) { + LOGP(DE1, LOGL_ERROR, + "E1-RX: (trunk:%u, ts:%u) receiving bad, expected length is %u, actual length is %u!\n", + trunk->trunk_nr, ts->num, E1_TS_BYTES, msg->len); + return; + } +#if DEBUG_E1_TS == 1 + LOGP(DE1, LOGL_DEBUG, "E1-RX: (trunk:%u, ts:%u) receiving %u bytes: %s...\n", trunk->trunk_nr, ts->num, + msg->len, osmo_hexdump_nospc(msg->data, msg->len > DEBUG_BYTES_MAX ? DEBUG_BYTES_MAX : msg->len)); +#endif + + /* Hand data over to the I640 demultiplexer. */ + osmo_i460_demux_in(&trunk->e1.i460_ts[ts->num - 1], msg->data, msg->len); + + /* Trigger sending of pending E1 traffic */ + e1_send(ts, trunk); +} + +/*! Find an endpoint by its name on a specified trunk. + * \param[in] trunk trunk configuration. + * \param[in] ts_nr E1 timeslot number. + * \returns -EINVAL on failure, 0 on success. */ +int mgcp_e1_init(struct mgcp_trunk *trunk, uint8_t ts_nr) +{ + /*! Each timeslot needs only to be configured once. The Timeslot then + * stays open and permanently receives data. It is then up to the + * I640 demultiplexer to add/remove subchannels as needed. It is + * allowed to call this function multiple times since we check if the + * timeslot is already configured. */ + + struct e1inp_line *e1_line; + int rc; + + OSMO_ASSERT(ts_nr > 0 || ts_nr < 32); + cfg = trunk->cfg; + + if (trunk->e1.ts_in_use[ts_nr - 1]) { + LOGP(DE1, LOGL_DEBUG, "(trunk:%u) E1 timeslot %u already set up, skipping...\n", trunk->trunk_nr, + ts_nr); + return 0; + } + + /* Get E1 line */ + if (!trunk->e1.line) { + e1_line = e1inp_line_find(trunk->e1.vty_line_nr); + if (!e1_line) { + LOGP(DE1, LOGL_DEBUG, "(trunk:%u) no such E1 line %u - check VTY config!\n", trunk->trunk_nr, + trunk->e1.vty_line_nr); + return -EINVAL; + } + e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); + } else + e1_line = trunk->e1.line; + if (!e1_line) + return -EINVAL; + + /* Configure E1 timeslot */ + rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); + if (rc < 0) + return -EINVAL; + e1inp_line_update(e1_line); + if (rc < 0) + return -EINVAL; + + LOGP(DE1, LOGL_DEBUG, "(trunk:%u) E1 timeslot %u set up successfully.\n", trunk->trunk_nr, ts_nr); + trunk->e1.ts_in_use[ts_nr - 1] = true; + + return 0; +} + +/* Equip E1 endpoint with i460 mux resources */ +int mgcp_e1_endp_equip(struct mgcp_endpoint *endp, uint8_t ts, uint8_t ss, uint8_t offs) +{ + int rc; + + OSMO_ASSERT(ts != 0); + OSMO_ASSERT(ts != 0xFF); + OSMO_ASSERT(ss != 0xFF); + OSMO_ASSERT(offs != 0xFF); + + /* Set up E1 line / timeslot */ + rc = mgcp_e1_init(endp->trunk, ts); + if (rc != 0) + return -EINVAL; + + /* Set up i460 mux */ + switch (e1_rates[ss]) { + case 64: + endp->e1.scd.rate = OSMO_I460_RATE_64k; + endp->e1.scd.demux.num_bits = 160 * 8; + break; + case 32: + endp->e1.scd.rate = OSMO_I460_RATE_32k; + endp->e1.scd.demux.num_bits = 80 * 8; + break; + case 16: + endp->e1.scd.rate = OSMO_I460_RATE_16k; + endp->e1.scd.demux.num_bits = 40 * 8; + break; + case 8: + endp->e1.scd.rate = OSMO_I460_RATE_8k; + endp->e1.scd.demux.num_bits = 20 * 8; + break; + } + endp->e1.scd.bit_offset = offs; + endp->e1.scd.demux.out_cb_bits = e1_i460_demux_bits_cb; + endp->e1.scd.demux.out_cb_bytes = NULL; + endp->e1.scd.demux.user_data = endp; + endp->e1.scd.mux.in_cb_queue_empty = e1_i460_mux_empty_cb; + endp->e1.scd.mux.user_data = endp; + + LOGPENDP(endp, DE1, LOGL_DEBUG, "adding i640 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, + offs, e1_rates[ss], endp->e1.scd.demux.num_bits); + endp->e1.sync_fi = osmo_trau_sync_alloc(endp, "trau-sync", sync_frame_out_cb, OSMO_TRAU_SYNCP_16_FR_EFR, endp); + if (!endp->e1.sync_fi) { + LOGPENDP(endp, DE1, LOGL_ERROR, "adding i640 trau frame sync: failed!\n"); + return -EINVAL; + } + endp->e1.schan = osmo_i460_subchan_add(endp, &endp->trunk->e1.i460_ts[ts - 1], &endp->e1.scd); + if (!endp->e1.schan) { + LOGPENDP(endp, DE1, LOGL_ERROR, "adding i640 subchannel: failed!\n"); + return -EINVAL; + } + + return 0; +} + +/* Remove E1 resources from endpoint */ +void mgcp_e1_endp_release(struct mgcp_endpoint *endp) +{ + LOGPENDP(endp, DE1, LOGL_DEBUG, "removing i460 subchannel and sync...\n"); + + if (endp->e1.schan) + osmo_i460_subchan_del(endp->e1.schan); + if (endp->e1.sync_fi) + osmo_fsm_inst_term(endp->e1.sync_fi, OSMO_FSM_TERM_REGULAR, NULL); + + memset(&endp->e1.scd, 0, sizeof(endp->e1.scd)); + endp->e1.schan = NULL; + endp->e1.sync_fi = NULL; +} + +/*! Accept RTP message buffer with RTP data and enqueue voice data for E1 transmit. + * \param[in] endp related endpoint (does not take ownership). + * \param[in] codec configuration. + * \param[in] msg RTP message buffer (including RTP header). + * \returns 0 on success, -1 on ERROR. */ +int mgcp_e1_send_rtp(struct mgcp_endpoint *endp, struct mgcp_rtp_codec *codec, struct msgb *msg) +{ + struct msgb *msg_tf = msgb_alloc(E1_TRAU_BITS_MSGB, "E1-i460-TX-TRAU-frame"); + unsigned int rtp_hdr_len = sizeof(struct rtp_hdr); + struct osmo_trau2rtp_state st; + struct osmo_trau_frame tf; + uint8_t amr_ft; + int rc; + + /* Pick a suitable TRAU frame type */ + amr_ft = (msgb_data(msg)[rtp_hdr_len + 1] >> 3) & 0xf; + st.type = determine_trau_fr_type(codec->subtype_name, endp->e1.scd.rate, amr_ft, endp); + if (st.type == OSMO_TRAU_FT_NONE) + goto skip; + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-TX: using trau frame type: %s\n", osmo_trau_frame_type_name(st.type)); + + /* Convert from RTP to TRAU format */ + if (msg->len <= rtp_hdr_len) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: short rtp payload\n"); + goto skip; + } + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-TX: enqueue %u bytes of RTP audio: %s\n", msg->len, + osmo_hexdump(msgb_data(msg) + rtp_hdr_len, msg->len - rtp_hdr_len)); + memset(&tf, 0, sizeof(tf)); + tf.dir = OSMO_TRAU_DIR_DL; + rc = osmo_rtp2trau(&tf, msgb_data(msg) + rtp_hdr_len, msg->len - rtp_hdr_len, &st); + if (rc < 0) { + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-i460-TX: failed to convert from RTP payload format to TRAU format\n"); + goto skip; + } + rc = osmo_trau_frame_encode(msg_tf->data, msg_tf->data_len, &tf); + if (rc < 0) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: failed to encode TRAU frame\n"); + goto skip; + } + msgb_put(msg_tf, rc); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-TX: enquing %u trau frame bits: %s...\n", msg_tf->len, + osmo_ubit_dump(msgb_data(msg_tf), msg_tf->len > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : msg_tf->len)); + + /* Enqueue data to i460 multiplexer */ + if (!endp->e1.schan) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: subchannel multiplexer missing\n"); + goto skip; + } + if (!endp->e1.sync_fi) { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: subchannel sync missing\n"); + goto skip; + } + osmo_i460_mux_enqueue(endp->e1.schan, msg_tf); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-i460-TX: %u bits of audio enqued for E1 tx\n", msg_tf->len); + + return 0; +skip: + msgb_free(msg_tf); + return -1; +} diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 5d9ec27..43d3e9f 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -25,33 +25,12 @@ #include #include +#include + #define E1_TIMESLOTS 32 #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 -/* A 64k timeslot on an E1 line can be subdevied into the following - * subslot combinations: - * - * subslot: offset: - * [ ][ ][ 16k ][8k_subslot] 0 - * [ ][ 32k ][_subslot__][8k_subslot] 1 - * [ ][ subslot ][ 16k ][8k_subslot] 2 - * [ 64k ][__________][_subslot__][8k_subslot] 3 - * [ timeslot ][ ][ 16k ][8k_subslot] 4 - * [ ][ 32K ][_subslot__][8k_subslot] 5 - * [ ][ subslot ][ 16k ][8k_subslot] 6 - * [ ][ ][ subslot ][8k_subslot] 7 - * - * Since overlapping assignment of subslots is not possible there is a limited - * set of subslot assignments possible. The e1_rates array lists the possible - * assignments as depicted above. Also each subslot assignment comes along with - * a bit offset in the E1 bitstream. The e1_offsets arrays lists the bit - * offsets. */ -static const uint8_t e1_rates[] = - { 64, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8 }; -static const uint8_t e1_offsets[] = - { 0, 0, 4, 0, 2, 4, 6, 0, 1, 2, 3, 4, 5, 6, 7 }; - /* Endpoint typeset definition */ const struct mgcp_endpoint_typeset ep_typeset = { /* Specify endpoint properties for RTP endpoint */ @@ -116,7 +95,7 @@ endp->name = gen_virtual_epname(endp, trunk->cfg->domain, index); break; case MGCP_TRUNK_E1: - endp->type = &ep_typeset.rtp; + endp->type = &ep_typeset.e1; endp->name = gen_e1_epname(endp, trunk->cfg->domain, trunk->trunk_nr, index / MGCP_ENDP_E1_SUBSLOTS, index % MGCP_ENDP_E1_SUBSLOTS); @@ -149,6 +128,10 @@ talloc_free(endp->local_options.codec); endp->local_options.codec = NULL; endp->wildcarded_req = false; + + if (endp->trunk->trunk_type == MGCP_TRUNK_E1) { + mgcp_e1_endp_release(endp); + } } /* Check if the endpoint name contains the prefix (e.g. "rtpbridge/" or @@ -614,3 +597,45 @@ return false; } + + +/*! claim endpoint, sets callid and activates endpoint. + * \param[in] endp endpoint to claim. */ +int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid) +{ + int rc = 0; + uint8_t ts; + uint8_t ss; + uint8_t offs; + + /* TODO: Make this function more intelligent, it should run the + * call id checks we currently have in protocol.c directly here. */ + + /* Set the callid, creation of another connection will only be possible + * when the callid matches up. (Connections are distinguished by their + * connection ids) */ + endp->callid = talloc_strdup(endp, callid); + + /* Allocate resources */ + switch (endp->trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + /* No additional initaliziation required here, virtual + * endpoints will open/close network sockets themselves + * on demand. */ + break; + case MGCP_TRUNK_E1: + ts = e1_ts_nr_from_epname(endp->name); + ss = e1_ss_nr_from_epname(endp->name); + offs = e1_offs_from_epname(endp->name); + OSMO_ASSERT(ts != 0xFF); + OSMO_ASSERT(ts != 0); + OSMO_ASSERT(ss != 0xFF); + OSMO_ASSERT(offs != 0xFF); + rc = mgcp_e1_endp_equip(endp, ts, ss, offs); + break; + default: + OSMO_ASSERT(false); + } + + return rc; +} diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 155ed20..e0aa42e 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -46,12 +46,11 @@ #include #include #include - +#include #define RTP_SEQ_MOD (1 << 16) #define RTP_MAX_DROPOUT 3000 #define RTP_MAX_MISORDER 100 -#define RTP_BUF_SIZE 4096 enum rtp_proto { MGCP_PROTO_RTP, @@ -798,6 +797,23 @@ "Forwarding tapped (debug) voice data failed.\n"); } +/* Generate an RTP header if it is missing */ +static void gen_rtp_header(struct msgb *msg, struct mgcp_rtp_end *rtp_end, + struct mgcp_rtp_state *state) +{ + struct rtp_hdr *hdr = (struct rtp_hdr *)msgb_data(msg); + + if (hdr->version > 0) + return; + + hdr->version = 2; + hdr->payload_type = rtp_end->codec->payload_type; + hdr->timestamp = osmo_htonl(get_current_ts(rtp_end->codec->rate)); + hdr->sequence = osmo_htons(state->alt_rtp_tx_sequence); + hdr->ssrc = state->alt_rtp_tx_ssrc; +} + + /*! Send RTP/RTCP data to a specified destination connection. * \param[in] endp associated endpoint (for configuration, logging). * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. @@ -857,6 +873,11 @@ rtp_state = &conn_src->state; dest_name = conn_dst->conn->name; + /* Ensure we have an alternative SSRC in case we need it, see also + * gen_rtp_header() */ + if (rtp_state->alt_rtp_tx_ssrc == 0) + rtp_state->alt_rtp_tx_ssrc = rand(); + if (!rtp_end->output_enabled) { rtpconn_rate_ctr_inc(conn_dst, endp, RTP_DROPPED_PACKETS_CTR); LOGPENDP(endp, DRTP, LOGL_DEBUG, @@ -870,6 +891,11 @@ int cont; int nbytes = 0; int buflen = msgb_length(msg); + + /* Make sure we have a valid RTP header, in cases where no RTP + * header is present, we will generate one. */ + gen_rtp_header(msg, rtp_end, rtp_state); + do { /* Run transcoder */ cont = endp->cfg->rtp_processing_cb(endp, rtp_end, @@ -938,6 +964,7 @@ rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; nbytes += len; buflen = cont; @@ -956,6 +983,7 @@ rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; return len; } @@ -1236,12 +1264,24 @@ struct osmo_rtp_msg_ctx *mc = OSMO_RTP_MSG_CTX(msg); struct mgcp_conn_rtp *conn_src = mc->conn_src; struct mgcp_conn *conn = conn_src->conn; + struct sockaddr_in *from_addr = mc->from_addr; - /* FIXME: integrate E1 support from libsomoabis, also implement - * handling for RTCP packets, which can not converted to E1. */ - LOGPCONN(conn, DRTP, LOGL_FATAL, - "cannot dispatch! E1 support is not implemented yet!\n"); - return -1; + /* Check if the connection is in loopback mode, if yes, just send the + * incoming data back to the origin */ + if (conn->mode == MGCP_CONN_LOOPBACK) { + /* When we are in loopback mode, we loop back all incoming + * packets back to their origin. We will use the originating + * address data from the UDP packet header to patch the + * outgoing address in connection on the fly */ + if (conn->u.rtp.end.rtp_port == 0) { + conn->u.rtp.end.addr = from_addr->sin_addr; + conn->u.rtp.end.rtp_port = from_addr->sin_port; + } + return mgcp_send_rtp(conn_src, msg); + } + + /* Forward to E1 */ + return mgcp_e1_send_rtp(conn->endp, conn->u.rtp.end.codec, msg); } /*! cleanup an endpoint when a connection on an RTP bridge endpoint is removed. @@ -1267,8 +1307,9 @@ * \param[in] conn Connection that is about to be removed (ignored). */ void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn) { - LOGPCONN(conn, DRTP, LOGL_FATAL, - "cannot dispatch! E1 support is not implemented yet!\n"); + /* Cleanup tasks for E1 are the same as for regular endpoint. The + * shut down of the E1 part is handled separately. */ + mgcp_cleanup_rtp_bridge_cb(endp, conn); } static bool is_dummy_msg(enum rtp_proto proto, struct msgb *msg) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index bc96462..195063a 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -847,13 +847,17 @@ rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_UNKNOWN_CALLID]); return create_err_response(endp, 400, "CRCX", p->trans); } + } else if (!endp->callid) { + /* Claim endpoint resources. This will also set the callid, + * creating additional connections will only be possible if + * the callid matches up (see above). */ + rc = mgcp_endp_claim(endp, callid); + if (rc != 0) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CLAIM]); + return create_err_response(endp, 502, "CRCX", p->trans); + } } - /* Set the callid, creation of another connection will only be possible - * when the callid matches up. (Connections are distinguished by their - * connection ids) */ - endp->callid = talloc_strdup(trunk->endpoints, callid); - snprintf(conn_name, sizeof(conn_name), "%s", callid); _conn = mgcp_conn_alloc(trunk->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); if (!_conn) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 1a89c83..34b27f5 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -64,6 +64,7 @@ [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = { "crcx:codec_nego", "codec negotiation failure." }, [MGCP_CRCX_FAIL_BIND_PORT] = { "crcx:bind_port", "port bind failure." }, [MGCP_CRCX_FAIL_AVAIL] = { "crcx:unavailable", "endpoint unavailable." }, + [MGCP_CRCX_FAIL_CLAIM] = { "crcx:claim", "endpoint can not be claimed." }, }; const static struct rate_ctr_group_desc mgcp_crcx_ctr_group_desc = { diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 0d7b385..36a5586 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -24,6 +24,7 @@ #include #include #include +#include /*! allocate trunk and add it (if required) to the trunk list. * (called once at startup by VTY). @@ -47,7 +48,7 @@ trunk->audio_send_ptime = 1; trunk->audio_send_name = 1; - trunk->vty_number_endpoints = 32; + trunk->v.vty_number_endpoints = 32; trunk->omit_rtcp = 0; mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); @@ -81,7 +82,7 @@ /* Due to historical reasons the endpoints on the virtual * trunk start counting at 1. */ first_endpoint_nr = 1; - number_endpoints = trunk->vty_number_endpoints; + number_endpoints = trunk->v.vty_number_endpoints; break; case MGCP_TRUNK_E1: /* The first timeslot on an E1 line is reserved for framing @@ -122,6 +123,41 @@ return 0; } +/*! Equip trunk with endpoints and resources + * (called once at startup by VTY). + * \param[in] trunk trunk configuration. + * \returns 0 on success, -1 on failure. */ +int mgcp_trunk_equip(struct mgcp_trunk *trunk) +{ + unsigned int i; + + /* Allocate endpoints */ + if(mgcp_trunk_alloc_endpts(trunk) != 0) + return -1; + + /* Allocate resources */ + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + /* No additional initaliziation required here, virtual + * endpoints will open/close network sockets themselves + * on demand. */ + break; + case MGCP_TRUNK_E1: + /* The TS initalization happens once on startup for all + * timeslots. This only affects the i460 multiplexer. Until + * now no E1 resources are claimed yet. This happens on demand + * when the related endpoint is actually used */ + memset(trunk->e1.i460_ts, 0, sizeof(trunk->e1.i460_ts)); + for (i = 0; i < 31; i++) + osmo_i460_ts_init(&trunk->e1.i460_ts[i]); + break; + default: + OSMO_ASSERT(false); + } + + return 0; +} + /*! get trunk configuration by trunk number (index). * \param[in] cfg mgcp configuration. * \param[in] ttype trunk type. @@ -199,3 +235,19 @@ LOGP(DLMGCP, LOGL_ERROR, "unable to find trunk for endpoint name \"%s\"!\n", epname); return NULL; } + +/*! Find a trunk (E1) by its associated E1 line number. + * \param[in] num e1 line number. + * \returns trunk or NULL if trunk was not found. */ +struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num) +{ + /*! When used on trunks other than E1, the result will always be NULL. */ + struct mgcp_trunk *trunk; + + llist_for_each_entry(trunk, &cfg->trunks, entry) { + if (trunk->trunk_type == MGCP_TRUNK_E1 && trunk->e1.vty_line_nr == num) + return trunk; + } + + return NULL; +} diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 35b75fb..f695c73 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -112,7 +112,7 @@ trunk->audio_send_name ? "" : "no ", VTY_NEWLINE); vty_out(vty, " loop %u%s", ! !trunk->audio_loop, VTY_NEWLINE); vty_out(vty, " number endpoints %u%s", - trunk->vty_number_endpoints, VTY_NEWLINE); + trunk->v.vty_number_endpoints, VTY_NEWLINE); vty_out(vty, " %sallow-transcoding%s", trunk->no_audio_transcoding ? "no " : "", VTY_NEWLINE); if (g_cfg->call_agent_addr) @@ -715,7 +715,7 @@ { struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk); - trunk->vty_number_endpoints = atoi(argv[0]); + trunk->v.vty_number_endpoints = atoi(argv[0]); return CMD_SUCCESS; } @@ -894,6 +894,7 @@ continue; vty_out(vty, " trunk %d%s", trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, " line %u%s", trunk->e1.vty_line_nr, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-name%s", @@ -1159,6 +1160,19 @@ return CMD_SUCCESS; } +#define LINE_STR "Configure trunk for given Line\nE1/T1 Line Number\n" + +DEFUN(cfg_trunk_line, + cfg_trunk_line_cmd, + "line <0-255>", + LINE_STR) +{ + struct mgcp_trunk *trunk = vty->index; + int line_nr = atoi(argv[0]); + trunk->e1.vty_line_nr = line_nr; + return CMD_SUCCESS; +} + DEFUN(loop_conn, loop_conn_cmd, "loop-endpoint <0-64> NAME (0|1)", @@ -1549,6 +1563,7 @@ install_element(TRUNK_NODE, &cfg_trunk_no_sdp_payload_send_name_cmd); install_element(TRUNK_NODE, &cfg_trunk_allow_transcoding_cmd); install_element(TRUNK_NODE, &cfg_trunk_no_allow_transcoding_cmd); + install_element(TRUNK_NODE, &cfg_trunk_line_cmd); return 0; } @@ -1577,7 +1592,7 @@ } llist_for_each_entry(trunk, &g_cfg->trunks, entry) { - if (mgcp_trunk_alloc_endpts(trunk) != 0) { + if (mgcp_trunk_equip(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, "Failed to initialize trunk %d (%d endpoints)\n", trunk->trunk_nr, trunk->number_endpoints); diff --git a/src/osmo-mgw/Makefile.am b/src/osmo-mgw/Makefile.am index d38df9f..928390b 100644 --- a/src/osmo-mgw/Makefile.am +++ b/src/osmo-mgw/Makefile.am @@ -11,6 +11,8 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -29,4 +31,6 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ $(LIBOSMONETIF_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(NULL) diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 6ca1800..036e0c0 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include @@ -58,6 +60,7 @@ #include #include #include +#include #include "../../bscconfig.h" @@ -268,7 +271,13 @@ .description = "RTP stream handling", .color = "\033[1;30m", .enabled = 1,.loglevel = LOGL_NOTICE, - }, + }, + [DE1] = { + .name = "DE1", + .description = "E1 line handling", + .color = "\033[1;31m", + .enabled = 1,.loglevel = LOGL_NOTICE, + }, }; const struct log_info log_info = { @@ -288,6 +297,7 @@ osmo_init_ignore_signals(); osmo_init_logging2(tall_bsc_ctx, &log_info); + libosmo_abis_init(tall_bsc_ctx); cfg = mgcp_config_alloc(); if (!cfg) @@ -300,6 +310,7 @@ osmo_stats_vty_add_cmds(); mgcp_vty_init(); ctrl_vty_init(cfg); + e1inp_vty_init(); handle_options(argc, argv); diff --git a/tests/mgcp/Makefile.am b/tests/mgcp/Makefile.am index 95444b5..1224c0a 100644 --- a/tests/mgcp/Makefile.am +++ b/tests/mgcp/Makefile.am @@ -11,6 +11,8 @@ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -35,6 +37,8 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(LIBRARY_DL) \ $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 458f6c9..a050a0b 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -771,8 +771,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -908,8 +908,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -973,8 +973,8 @@ trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); cfg->rqnt_cb = rqnt_cb; - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -1050,7 +1050,7 @@ endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk.vty_number_endpoints = 1; + trunk.v.vty_number_endpoints = 1; trunk.endpoints = endpoints; trunk.endpoints[0] = &endp; endp.trunk = &trunk; @@ -1301,7 +1301,7 @@ endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk.vty_number_endpoints = 1; + trunk.v.vty_number_endpoints = 1; trunk.endpoints = endpoints; trunk.endpoints[0] = &endp; trunk.force_constant_ssrc = patch_ssrc; @@ -1382,8 +1382,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; /* Allocate endpoint 1 at mgw with two codecs */ @@ -1531,8 +1531,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); endp = mgcp_endp_by_name(NULL, "rtpbridge/1 at mgw", cfg); OSMO_ASSERT(endp); @@ -1581,9 +1581,9 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; + trunk->v.vty_number_endpoints = 64; trunk->audio_send_name = 0; - mgcp_trunk_alloc_endpts(trunk); + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 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 Aug 4 17:08:14 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 4 Aug 2020 17:08:14 +0000 Subject: Change in osmo-mgw[master]: resolve mgcp_internal.h References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19525 ) Change subject: resolve mgcp_internal.h ...................................................................... resolve mgcp_internal.h The file mgcp_internal.h still contains mostly definitions and types that are relevant for mgcp_network.c and mgcp_protocol.c. Lets give the network and protocol module its own header files, also move stuff that does not relate to protocol and network to the appropiate places. Change-Id: I837eaad771ed7252304db4a81c37953b70766fff --- M include/Makefile.am M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_conn.h D include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_network.h A include/osmocom/mgcp/mgcp_protocol.h M include/osmocom/mgcp/mgcp_stat.h M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c M src/libosmo-mgcp/mgcp_stat.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 23 files changed, 306 insertions(+), 331 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/25/19525/1 diff --git a/include/Makefile.am b/include/Makefile.am index fbbd08d..457ac3f 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -8,7 +8,6 @@ osmocom/mgcp_client/mgcp_client_fsm.h \ osmocom/mgcp/mgcp.h \ osmocom/mgcp/mgcp_common.h \ - osmocom/mgcp/mgcp_internal.h \ osmocom/mgcp/osmux.h \ $(NULL) diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index 549ba87..b94cdcd 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -11,4 +11,6 @@ debug.h \ mgcp_ratectr.h \ mgcp_e1.h \ + mgcp_network.h \ + mgcp_protocol.h \ $(NULL) diff --git a/include/osmocom/mgcp/mgcp_codec.h b/include/osmocom/mgcp/mgcp_codec.h index caeecb0..97650e4 100644 --- a/include/osmocom/mgcp/mgcp_codec.h +++ b/include/osmocom/mgcp/mgcp_codec.h @@ -1,5 +1,15 @@ #pragma once +#define DEFAULT_RTP_AUDIO_FRAME_DUR_NUM 20 +#define DEFAULT_RTP_AUDIO_FRAME_DUR_DEN 1000 +#define DEFAULT_RTP_AUDIO_PACKET_DURATION_MS 20 +#define DEFAULT_RTP_AUDIO_DEFAULT_RATE 8000 +#define DEFAULT_RTP_AUDIO_DEFAULT_CHANNELS 1 + +#define PTYPE_UNDEFINED (-1) + +struct mgcp_conn_rtp; + void mgcp_codec_summary(struct mgcp_conn_rtp *conn); void mgcp_codec_reset_all(struct mgcp_conn_rtp *conn); int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, const struct mgcp_codec_param *param); diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index 78d5ea8..4f882e9 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -23,7 +23,9 @@ #pragma once -#include +#include +#include +#include #include #include #include @@ -33,12 +35,67 @@ (conn)->id, \ ## args) +#define LOG_CONN(conn, level, fmt, args...) \ + LOGP(DRTP, level, "(%s I:%s) " fmt, \ + (conn)->endp ? (conn)->endp->name : "none", (conn)->id, ## args) + +#define LOG_CONN_RTP(conn_rtp, level, fmt, args...) \ + LOG_CONN((conn_rtp)->conn, level, fmt, ## args) + +/* Specific rtp connection type (see struct mgcp_conn_rtp) */ +enum mgcp_conn_rtp_type { + MGCP_RTP_DEFAULT = 0, + MGCP_OSMUX_BSC, + MGCP_OSMUX_BSC_NAT, +}; + /*! Connection type, specifies which member of the union "u" in mgcp_conn * contains a useful connection description (currently only RTP) */ enum mgcp_conn_type { MGCP_CONN_TYPE_RTP, }; +/* MGCP connection (RTP) */ +struct mgcp_conn_rtp { + + /* Backpointer to conn struct */ + struct mgcp_conn *conn; + + /* Specific connection type */ + enum mgcp_conn_rtp_type type; + + /* Port status */ + struct mgcp_rtp_end end; + + /* Sequence bits */ + struct mgcp_rtp_state state; + + /* taps for the rtp connection; one per direction */ + struct mgcp_rtp_tap tap_in; + struct mgcp_rtp_tap tap_out; + + /* Osmux states (optional) */ + struct { + /* Osmux state: disabled, activating, active */ + enum osmux_state state; + /* Is cid holding valid data? is it allocated from pool? */ + bool cid_allocated; + /* Allocated Osmux circuit ID for this conn */ + uint8_t cid; + /* handle to batch messages */ + struct osmux_in_handle *in; + /* handle to unbatch messages */ + struct osmux_out_handle out; + /* statistics */ + struct { + uint32_t chunks; + uint32_t octets; + } stats; + } osmux; + + struct rate_ctr_group *rate_ctr_group; +}; + /*! MGCP connection (untyped) */ struct mgcp_conn { /*! list head */ @@ -114,6 +171,11 @@ [RTP_NUM_CONNECTIONS] = {"all_rtp:num_closed_conns", "Total number of rtp connections closed."} }; +/* Was conn configured to handle Osmux? */ +static inline bool mgcp_conn_rtp_is_osmux(const struct mgcp_conn_rtp *conn) { + return conn->type == MGCP_OSMUX_BSC || conn->type == MGCP_OSMUX_BSC_NAT; +} + struct mgcp_conn *mgcp_conn_alloc(void *ctx, struct mgcp_endpoint *endp, enum mgcp_conn_type type, char *name); struct mgcp_conn *mgcp_conn_get(struct mgcp_endpoint *endp, const char *id); @@ -125,3 +187,4 @@ char *mgcp_conn_dump(struct mgcp_conn *conn); struct mgcp_conn *mgcp_find_dst_conn(struct mgcp_conn *conn); struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp); +void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h deleted file mode 100644 index 86b2a57..0000000 --- a/include/osmocom/mgcp/mgcp_internal.h +++ /dev/null @@ -1,311 +0,0 @@ -/* MGCP Private Data */ - -/* - * (C) 2009-2012 by Holger Hans Peter Freyther - * (C) 2009-2012 by On-Waves - * 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 . - * - */ - -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#define CI_UNUSED 0 - -/* FIXME: This this is only needed to compile the currently - * broken OSMUX support. Remove when fixed */ -#define CONN_ID_BTS "0" -#define CONN_ID_NET "1" - -#define LOG_CONN(conn, level, fmt, args...) \ - LOGP(DRTP, level, "(%s I:%s) " fmt, \ - (conn)->endp ? (conn)->endp->name : "none", (conn)->id, ## args) - -#define LOG_CONN_RTP(conn_rtp, level, fmt, args...) \ - LOG_CONN((conn_rtp)->conn, level, fmt, ## args) - -struct mgcp_rtp_stream_state { - uint32_t ssrc; - uint16_t last_seq; - uint32_t last_timestamp; - struct rate_ctr *err_ts_ctr; - int32_t last_tsdelta; - uint32_t last_arrival_time; -}; - -struct mgcp_rtp_state { - /* has this state structure been initialized? */ - int initialized; - - struct { - /* are we patching the SSRC value? */ - int patch_ssrc; - /* original SSRC (to which we shall patch any different SSRC) */ - uint32_t orig_ssrc; - /* offset to apply on the sequence number */ - int seq_offset; - /* offset to apply on the timestamp number */ - int32_t timestamp_offset; - } patch; - - /* duration of a packet (FIXME: in which unit?) */ - uint32_t packet_duration; - - /* Note: These states are not continuously updated, they serve as an - * information source to patch certain values in the RTP header. Do - * not use this state if constantly updated data about the RTP stream - * is needed. (see also mgcp_patch_and_count() */ - struct mgcp_rtp_stream_state in_stream; - struct mgcp_rtp_stream_state out_stream; - - /* jitter and packet loss calculation */ - struct { - int initialized; - uint16_t base_seq; - uint16_t max_seq; - uint32_t ssrc; - uint32_t jitter; - int32_t transit; - int cycles; - } stats; - - /* Alternative values for RTP tx, in case no sufficient header - * information is available so the header needs to be generated - * locally (when just forwarding packets, the header of incoming - * data is just re-used) */ - uint16_t alt_rtp_tx_sequence; - uint32_t alt_rtp_tx_ssrc; - - bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ -}; - -struct mgcp_rtp_codec { - uint32_t rate; - int channels; - uint32_t frame_duration_num; - uint32_t frame_duration_den; - - int payload_type; - char *audio_name; - char *subtype_name; - - bool param_present; - struct mgcp_codec_param param; -}; - -/* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ -struct mgcp_rtp_end { - /* local IP address of the RTP socket */ - struct in_addr addr; - - /* in network byte order */ - int rtp_port, rtcp_port; - - /* currently selected audio codec */ - struct mgcp_rtp_codec *codec; - - /* array with assigned audio codecs to choose from (SDP) */ - struct mgcp_rtp_codec codecs[MGCP_MAX_CODECS]; - - /* number of assigned audio codecs (SDP) */ - unsigned int codecs_assigned; - - /* per endpoint data */ - int frames_per_packet; - uint32_t packet_duration_ms; - int maximum_packet_time; /* -1: not set */ - char *fmtp_extra; - /* are we transmitting packets (1) or dropping (0) outbound packets */ - int output_enabled; - /* FIXME: This parameter can be set + printed, but is nowhere used! */ - int force_output_ptime; - - /* RTP patching */ - int force_constant_ssrc; /* -1: always, 0: don't, 1: once */ - /* should we perform align_rtp_timestamp_offset() (1) or not (0) */ - int force_aligned_timing; - bool rfc5993_hr_convert; - - /* Each end has a separate socket for RTP and RTCP */ - struct osmo_fd rtp; - struct osmo_fd rtcp; - - /* local UDP port number of the RTP socket; RTCP is +1 */ - int local_port; -}; - -struct mgcp_rtp_tap { - /* is this tap active (1) or not (0) */ - int enabled; - /* IP/port to which we're forwarding the tapped data */ - struct sockaddr_in forward; -}; - -struct mgcp_lco { - char *string; - char *codec; - int pkt_period_min; /* time in ms */ - int pkt_period_max; /* time in ms */ -}; - -/* Specific rtp connection type (see struct mgcp_conn_rtp) */ -enum mgcp_conn_rtp_type { - MGCP_RTP_DEFAULT = 0, - MGCP_OSMUX_BSC, - MGCP_OSMUX_BSC_NAT, -}; - -#include - -/* MGCP connection (RTP) */ -struct mgcp_conn_rtp { - - /* Backpointer to conn struct */ - struct mgcp_conn *conn; - - /* Specific connection type */ - enum mgcp_conn_rtp_type type; - - /* Port status */ - struct mgcp_rtp_end end; - - /* Sequence bits */ - struct mgcp_rtp_state state; - - /* taps for the rtp connection; one per direction */ - struct mgcp_rtp_tap tap_in; - struct mgcp_rtp_tap tap_out; - - /* Osmux states (optional) */ - struct { - /* Osmux state: disabled, activating, active */ - enum osmux_state state; - /* Is cid holding valid data? is it allocated from pool? */ - bool cid_allocated; - /* Allocated Osmux circuit ID for this conn */ - uint8_t cid; - /* handle to batch messages */ - struct osmux_in_handle *in; - /* handle to unbatch messages */ - struct osmux_out_handle out; - /* statistics */ - struct { - uint32_t chunks; - uint32_t octets; - } stats; - } osmux; - - struct rate_ctr_group *rate_ctr_group; -}; - -#include - -/** - * Internal structure while parsing a request - */ -struct mgcp_parse_data { - struct mgcp_config *cfg; - struct mgcp_endpoint *endp; - char *trans; - char *save; -}; - -int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct sockaddr_in *addr, - struct msgb *msg, struct mgcp_conn_rtp *conn_src, - struct mgcp_conn_rtp *conn_dst); -int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn); -int mgcp_dispatch_rtp_bridge_cb(struct msgb *msg); -void mgcp_cleanup_rtp_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); -int mgcp_dispatch_e1_bridge_cb(struct msgb *msg); -void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); -int mgcp_bind_net_rtp_port(struct mgcp_endpoint *endp, int rtp_port, - struct mgcp_conn_rtp *conn); -void mgcp_free_rtp_port(struct mgcp_rtp_end *end); - -/* For transcoding we need to manage an in and an output that are connected */ -static inline int endp_back_channel(int endpoint) -{ - return endpoint + 60; -} - -char *get_lco_identifier(const char *options); -int check_local_cx_options(void *ctx, const char *options); -void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, - struct mgcp_rtp_end *rtp); -uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, - struct mgcp_rtp_end *rtp); - -/* payload processing default functions */ -int mgcp_rtp_processing_default(struct mgcp_endpoint *endp, struct mgcp_rtp_end *dst_end, - char *data, int *len, int buf_size); - -int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp, - struct mgcp_conn_rtp *conn_dst, - struct mgcp_conn_rtp *conn_src); - -void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - const struct mgcp_rtp_codec **codec, - const char **fmtp_extra, - struct mgcp_conn_rtp *conn); - -/* internal RTP Annex A counting */ -void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, - const uint16_t seq, const int32_t transit, - const uint32_t ssrc); - -int mgcp_set_ip_tos(int fd, int tos); - -/* Was conn configured to handle Osmux? */ -static inline bool mgcp_conn_rtp_is_osmux(const struct mgcp_conn_rtp *conn) { - return conn->type == MGCP_OSMUX_BSC || conn->type == MGCP_OSMUX_BSC_NAT; -} - -enum { - MGCP_DEST_NET = 0, - MGCP_DEST_BTS, -}; - - -#define MGCP_DUMMY_LOAD 0x23 - - -/** - * SDP related information - */ -/* Assume audio frame length of 20ms */ -#define DEFAULT_RTP_AUDIO_FRAME_DUR_NUM 20 -#define DEFAULT_RTP_AUDIO_FRAME_DUR_DEN 1000 -#define DEFAULT_RTP_AUDIO_PACKET_DURATION_MS 20 -#define DEFAULT_RTP_AUDIO_DEFAULT_RATE 8000 -#define DEFAULT_RTP_AUDIO_DEFAULT_CHANNELS 1 - -#define PTYPE_UNDEFINED (-1) - -void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); -void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); -void mgcp_patch_and_count(struct mgcp_endpoint *endp, - struct mgcp_rtp_state *state, - struct mgcp_rtp_end *rtp_end, - struct sockaddr_in *addr, struct msgb *msg); - -#define RTP_BUF_SIZE 4096 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h new file mode 100644 index 0000000..c08d009 --- /dev/null +++ b/include/osmocom/mgcp/mgcp_network.h @@ -0,0 +1,163 @@ +#pragma once + +#include +#include +#include + +#define MGCP_DUMMY_LOAD 0x23 +#define RTP_BUF_SIZE 4096 + +struct mgcp_rtp_stream_state { + uint32_t ssrc; + uint16_t last_seq; + uint32_t last_timestamp; + struct rate_ctr *err_ts_ctr; + int32_t last_tsdelta; + uint32_t last_arrival_time; +}; + +struct mgcp_rtp_state { + /* has this state structure been initialized? */ + int initialized; + + struct { + /* are we patching the SSRC value? */ + int patch_ssrc; + /* original SSRC (to which we shall patch any different SSRC) */ + uint32_t orig_ssrc; + /* offset to apply on the sequence number */ + int seq_offset; + /* offset to apply on the timestamp number */ + int32_t timestamp_offset; + } patch; + + /* duration of a packet (FIXME: in which unit?) */ + uint32_t packet_duration; + + /* Note: These states are not continuously updated, they serve as an + * information source to patch certain values in the RTP header. Do + * not use this state if constantly updated data about the RTP stream + * is needed. (see also mgcp_patch_and_count() */ + struct mgcp_rtp_stream_state in_stream; + struct mgcp_rtp_stream_state out_stream; + + /* jitter and packet loss calculation */ + struct { + int initialized; + uint16_t base_seq; + uint16_t max_seq; + uint32_t ssrc; + uint32_t jitter; + int32_t transit; + int cycles; + } stats; + + /* Alternative values for RTP tx, in case no sufficient header + * information is available so the header needs to be generated + * locally (when just forwarding packets, the header of incoming + * data is just re-used) */ + uint16_t alt_rtp_tx_sequence; + uint32_t alt_rtp_tx_ssrc; + + bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ +}; + +struct mgcp_rtp_codec { + uint32_t rate; + int channels; + uint32_t frame_duration_num; + uint32_t frame_duration_den; + + int payload_type; + char *audio_name; + char *subtype_name; + + bool param_present; + struct mgcp_codec_param param; +}; + +/* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ +struct mgcp_rtp_end { + /* local IP address of the RTP socket */ + struct in_addr addr; + + /* in network byte order */ + int rtp_port, rtcp_port; + + /* currently selected audio codec */ + struct mgcp_rtp_codec *codec; + + /* array with assigned audio codecs to choose from (SDP) */ + struct mgcp_rtp_codec codecs[MGCP_MAX_CODECS]; + + /* number of assigned audio codecs (SDP) */ + unsigned int codecs_assigned; + + /* per endpoint data */ + int frames_per_packet; + uint32_t packet_duration_ms; + int maximum_packet_time; /* -1: not set */ + char *fmtp_extra; + /* are we transmitting packets (1) or dropping (0) outbound packets */ + int output_enabled; + /* FIXME: This parameter can be set + printed, but is nowhere used! */ + int force_output_ptime; + + /* RTP patching */ + int force_constant_ssrc; /* -1: always, 0: don't, 1: once */ + /* should we perform align_rtp_timestamp_offset() (1) or not (0) */ + int force_aligned_timing; + bool rfc5993_hr_convert; + + /* Each end has a separate socket for RTP and RTCP */ + struct osmo_fd rtp; + struct osmo_fd rtcp; + + /* local UDP port number of the RTP socket; RTCP is +1 */ + int local_port; +}; + +struct mgcp_rtp_tap { + /* is this tap active (1) or not (0) */ + int enabled; + /* IP/port to which we're forwarding the tapped data */ + struct sockaddr_in forward; +}; + +struct mgcp_conn; + +int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct sockaddr_in *addr, + struct msgb *msg, struct mgcp_conn_rtp *conn_src, + struct mgcp_conn_rtp *conn_dst); +int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn); +int mgcp_dispatch_rtp_bridge_cb(struct msgb *msg); +void mgcp_cleanup_rtp_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); +int mgcp_dispatch_e1_bridge_cb(struct msgb *msg); +void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); +int mgcp_bind_net_rtp_port(struct mgcp_endpoint *endp, int rtp_port, + struct mgcp_conn_rtp *conn); +void mgcp_free_rtp_port(struct mgcp_rtp_end *end); +void mgcp_patch_and_count(struct mgcp_endpoint *endp, + struct mgcp_rtp_state *state, + struct mgcp_rtp_end *rtp_end, + struct sockaddr_in *addr, struct msgb *msg); +void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); +int mgcp_set_ip_tos(int fd, int tos); + +/* payload processing default functions */ +int mgcp_rtp_processing_default(struct mgcp_endpoint *endp, struct mgcp_rtp_end *dst_end, + char *data, int *len, int buf_size); + +int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp, + struct mgcp_conn_rtp *conn_dst, + struct mgcp_conn_rtp *conn_src); + +void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, + struct mgcp_conn_rtp *conn); + +/* internal RTP Annex A counting */ +void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, + const uint16_t seq, const int32_t transit, + const uint32_t ssrc); diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h new file mode 100644 index 0000000..abd264c --- /dev/null +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -0,0 +1,27 @@ +#pragma once + +/* Internal structure while parsing a request */ +struct mgcp_parse_data { + struct mgcp_config *cfg; + struct mgcp_endpoint *endp; + char *trans; + char *save; +}; + +/* Local connection options */ +struct mgcp_lco { + char *string; + char *codec; + int pkt_period_min; /* time in ms */ + int pkt_period_max; /* time in ms */ +}; + +char *get_lco_identifier(const char *options); +int check_local_cx_options(void *ctx, const char *options); + +struct mgcp_rtp_end; +void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, + struct mgcp_rtp_end *rtp); + +uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, + struct mgcp_rtp_end *rtp); diff --git a/include/osmocom/mgcp/mgcp_stat.h b/include/osmocom/mgcp/mgcp_stat.h index 0bde8cf..a66257b 100644 --- a/include/osmocom/mgcp/mgcp_stat.h +++ b/include/osmocom/mgcp/mgcp_stat.h @@ -24,7 +24,6 @@ #pragma once -#include #include void mgcp_format_stats(char *str, size_t str_len, struct mgcp_conn *conn); diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 58079c6..f237e38 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -17,9 +17,13 @@ * along with this program. If not, see . * */ -#include +#include +#include +#include +#include #include #include +#include #include /* Helper function to dump codec information of a specified codec to a printable diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 1e3e721..91c7ee1 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -22,7 +22,8 @@ */ #include -#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 4718792..10469d0 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -21,7 +21,10 @@ * */ -#include +#include + +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 43d3e9f..242acfa 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -21,7 +21,9 @@ * */ -#include +#include +#include +#include #include #include diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 019466e..2023a68 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -24,7 +24,9 @@ #include -#include +#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e0aa42e..712c706 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -37,7 +37,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -48,6 +49,7 @@ #include #include + #define RTP_SEQ_MOD (1 << 16) #define RTP_MAX_DROPOUT 3000 #define RTP_MAX_MISORDER 100 diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index 85e33e0..93c922d 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 195063a..b9a8bd3 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -35,7 +35,9 @@ #include #include -#include +#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 34b27f5..a3b7c12 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,7 +24,7 @@ #include #include -#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 5fa6bdb..1c3c89a 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -22,12 +22,15 @@ #include #include -#include +#include +#include +#include #include #include #include #include #include +#include #include #include diff --git a/src/libosmo-mgcp/mgcp_stat.c b/src/libosmo-mgcp/mgcp_stat.c index 3685cfe..2e74238 100644 --- a/src/libosmo-mgcp/mgcp_stat.c +++ b/src/libosmo-mgcp/mgcp_stat.c @@ -22,10 +22,12 @@ * */ -#include -#include #include #include +#include +#include +#include +#include /* Helper function for mgcp_format_stats_rtp() to calculate packet loss */ void calc_loss(struct mgcp_conn_rtp *conn, uint32_t *expected, int *loss) diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 36a5586..881d31d 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -21,7 +21,8 @@ * */ -#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index f695c73..21ad781 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -25,7 +25,8 @@ #include #include #include -#include +#include +#include #include #include #include diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 036e0c0..d4bcb3a 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index a050a0b..5ae321f 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -22,14 +22,14 @@ #include #include #include -#include +#include +#include #include #include #include #include #include #include -#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I837eaad771ed7252304db4a81c37953b70766fff Gerrit-Change-Number: 19525 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 Aug 4 18:07:37 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Tue, 4 Aug 2020 18:07:37 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x, uint16_... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 to look at the new patch set (#3). Change subject: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) ...................................................................... firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 --- M src/target/firmware/fb/fb_bw8.c M src/target/firmware/fb/fb_st7558.c M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/fb/framebuffer.h 4 files changed, 60 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/83/19483/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 3 Gerrit-Owner: roox 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 Aug 4 18:07:37 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Tue, 4 Aug 2020 18:07:37 +0000 Subject: Change in osmocom-bb[master]: firmware/app: Initial commit for the game Snake In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 to look at the new patch set (#3). Change subject: firmware/app: Initial commit for the game Snake ...................................................................... firmware/app: Initial commit for the game Snake Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 --- A src/target/firmware/apps/snake_game/main.c 1 file changed, 521 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/90/19490/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 3 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 4 19:28:41 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 19:28:41 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f29b6fb2e025_1c642ad36bfd05fc531265@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 66s] CC trau/libosmotrau_la-trau_frame.lo [ 66s] CC trau/libosmotrau_la-trau_sync.lo [ 66s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 66s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 66s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 66s] | ^~~~~~~ [ 67s] CCLD libosmoabis.la [ 67s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 67s] 28 | #include [ 67s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 67s] compilation terminated. [ 67s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 67s] make[2]: *** Waiting for unfinished jobs.... [ 69s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 70s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 70s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 70s] make: *** [Makefile:386: all] Error 2 [ 70s] error: Bad exit status from /var/tmp/rpm-tmp.ubBoa2 (%build) [ 70s] [ 70s] [ 70s] RPM build errors: [ 70s] Bad exit status from /var/tmp/rpm-tmp.ubBoa2 (%build) [ 70s] ### VM INTERACTION START ### [ 73s] [ 65.305610] sysrq: Power Off [ 73s] [ 65.313413] reboot: Power down [ 73s] ### VM INTERACTION END ### [ 73s] [ 73s] lamb02 failed "build libosmo-abis.spec" at Tue Aug 4 19:28:39 UTC 2020. [ 73s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 4 19:33:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 19:33:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f29b8361c473_1c642ad36bfd05fc5330fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 87s] CC trau/libosmotrau_la-trau_frame.lo [ 87s] CC trau/libosmotrau_la-trau_sync.lo [ 88s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 88s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 88s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 88s] | ^~~~~~~ [ 88s] CCLD libosmoabis.la [ 88s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 88s] 28 | #include [ 88s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 88s] compilation terminated. [ 88s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 88s] make[2]: *** Waiting for unfinished jobs.... [ 93s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 93s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 93s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 93s] make: *** [Makefile:386: all] Error 2 [ 93s] error: Bad exit status from /var/tmp/rpm-tmp.lkdan6 (%build) [ 93s] [ 93s] [ 93s] RPM build errors: [ 93s] Bad exit status from /var/tmp/rpm-tmp.lkdan6 (%build) [ 93s] ### VM INTERACTION START ### [ 96s] [ 80.250457] sysrq: Power Off [ 96s] [ 80.251769] reboot: Power down [ 96s] ### VM INTERACTION END ### [ 96s] [ 96s] obs-arm-9 failed "build libosmo-abis.spec" at Tue Aug 4 19:33:47 UTC 2020. [ 96s] -- 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 Aug 4 21:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 21:02:40 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x, uint16_... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 3 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 21:02: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 Aug 4 21:03:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 21:03:09 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: remove unused variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19523 ) Change subject: mgcp_protocol: remove unused variable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I369361389c6276e5511c683ebd630093713bdd37 Gerrit-Change-Number: 19523 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 21:03: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 Aug 4 21:29:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 4 Aug 2020 21:29:21 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19524 ) Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... Patch Set 1: (29 comments) sorry for the lengthy response :/ https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/include/osmocom/mgcp/mgcp_trunk.h File include/osmocom/mgcp/mgcp_trunk.h: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/include/osmocom/mgcp/mgcp_trunk.h at 58 PS1, Line 58: bool I would have gone for a single uint32_t bit-mask, rather than 31 bool values (32*4=256 bytes). Not critical, we can als do that later. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c File src/libosmo-mgcp/mgcp_e1.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 57 PS1, Line 57: static ubit_t idle_tf_efr[] = { 0, 0, 0, 0, 0, 0, 0, 0, const https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 100 PS1, Line 100: static ubit_t idle_tf_fr[] = { 0, 0, 0, 0, 0, 0, 0, 0, const https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 143 PS1, Line 143: static ubit_t idle_tf_spch[] = { 0, 0, 0, 0, 0, 0, 0, 0, const https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 239 PS1, Line 239: determine_trau_fr_type I don't like that we call this function potentially for every frame (every 20ms) on every timeslot/call. And then it does all those string compares above. Without looking at it in detail, I would presume there is an easier way to do this, such as storing the TRAU frame type in the endpoint, and only updating it when the codec changes? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 283 PS1, Line 283: LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: frame synchronization error, no bits received\n"); this potentially happens 50 times per second, for each call. Your log file will be filling the disk soon. I think we really need some rate limiting, or simply only have a counter here. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 286 PS1, Line 286: %u bits (syncronized) the synchroized bits are a TRAU Frame, so maybe call it that way? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 292 PS1, Line 292: LOG that's not an error. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 296 PS1, Line 296: LOG not an error https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 299 PS1, Line 299: case OSMO_I460_RATE_32k: : LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode 32k trau frame, rate not supported!\n"); : goto skip; : break; : case OSMO_I460_RATE_64k: : LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode 64k trau frame, rate not supported!\n"); : goto skip; : break; : default: : LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: cannot decode trau frame, invalid rate set!\n"); : goto skip; : break; : } I wouldn't go into all that detailed clauses for unrealistic code paths. IF it's not 16k or 8k, ASSERT. TRAU frames by definition only happen in 8k and 16k sub-slots. If the MGW previously adds a TRAU frame synchronizer to a 32k or 64k slot, the bug has happened much earlier. We shouldnt' end up here ,ever. So ASSERT seems appropriate. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 313 PS1, Line 313: LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-RX: unable to decode trau frame\n also, more like a counter event to me. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 328 PS1, Line 328: LOG rate limit or counter? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 344 PS1, Line 344: "E what other 'type' could it be? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 365 PS1, Line 365: LOGP(DE1, LOGL_ERROR, "E1-TX: (trunk:%u, ts:%u) no data to transmit!\n", trunk->trunk_nr, ts->num); : goto skip; : } : if (rc != E1_TS_BYTES) { : LOGP(DE1, LOGL_ERROR, : "E1-TX: (trunk:%u, ts:%u) expected to get %u bytes of data, got %u bytes instead!\n", : trunk->trunk_nr, I think the I460 mux guarantees you always get data (in the worst case 0xff stuffing), so we can remove all those if clauses and replace them with an ASSERT. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 399 PS1, Line 399: LOGP(DE1, LOGL_ERROR, "E1-RX: (trunk:%u) E1 timeslot number (%u) out of range!\n", trunk->trunk_nr, : ts->num); : return; ASSERT. An E1 line can neve have more timeslots, and e1_input should guarantee this. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 403 PS1, Line 403: msg->len != E1_TS_BYTES) { : LOGP(DE1, LOGL_ERROR, : "E1-RX: (trunk:%u, ts:%u) receiving bad, expected length is %u, actual length is %u!\n", : trunk->trunk_nr, ts->num, E1_TS_BYTES, msg->len); not sure if that's really an error. Maybe only notice? In any case, the I460 demux doesn't care in what chunk size you feed data in. Likewise, the I460 mux can generate arbitrary chunk sizes in the ouptut direction. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 449 PS1, Line 449: LOGP(DE1, LOGL_DEBUG, "(trunk:%u) unrelated / separate patch: Shouldn't we have something like LOGPTRUNK(trunk, ...)? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 514 PS1, Line 514: i640 "I.460" is what it's called in the ITU specs. In C symbol names we cannot use the dot, but in log messages we can and should. And 640->460 in any case. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 518 PS1, Line 518: i640 same https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 523 PS1, Line 523: i640 same https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 568 PS1, Line 568: LOG this check is about the header length, so it's about short RTP header, not payloda. Also, I would consider a counter instead of a log message. Assume sombody accidentially or intentionally sends lots of single byte UDP packets... those kind of log messages turn that into a DoS attach as your logging subsystem is eating all of the CPU. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 572 PS1, Line 572: msg->len msgb_length(msg) is preferred style than directly accessing the members. You also use msgb_data(msg) in the same line, and not msg->data. Even better: set msgb->l2h to the RTP payload after the header, then you can use msgb_l2(msg) and msgb_l2len(msg) and don't need the "+rtp header len" here and in the lines below. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 592 PS1, Line 592: LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: subchannel multiplexer missing\n"); can this happen? In which situation? Or would it be a programming error? In he latter case, simply assert. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_e1.c at 596 PS1, Line 596: LOGPENDP(endp, DE1, LOGL_ERROR, "E1-i460-TX: subchannel sync missing\n"); same here. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_endp.c at 132 PS1, Line 132: if no {} needed for single line body. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_endp.c at 617 PS1, Line 617: endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT() that the result exists, or handle NULL checks + reasonable recovery https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_endp.c at 630 PS1, Line 630: OSMO_ASSERT(ts != 0xFF); : OSMO_ASSERT(ts != 0); : OSMO_ASSERT(ss != 0xFF); : OSMO_ASSERT(offs != 0xFF); can the endp->name be specified by the user / caller (BSC/MSC) here? IF yes, then we shouldn't assert. https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_network.c File src/libosmo-mgcp/mgcp_network.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_network.c at 800 PS1, Line 800: * Generate an RTP header if it is missing */ the function seems to unconditionally generate a header, not just if it's missing? https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/1/src/libosmo-mgcp/mgcp_trunk.c at 151 PS1, Line 151: 31 don't we have some #define for that? also, why < 31? shouldn't it be < 32? Or do we map TS1 to array index [0]? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 04 Aug 2020 21:29:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 4 22:49:18 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Aug 2020 22:49:18 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f29e5f89f5ff_1c642ad36bfd05fc60454a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 62s] CC trau/libosmotrau_la-trau_frame.lo [ 62s] CC trau/libosmotrau_la-trau_sync.lo [ 62s] CC trau/libosmotrau_la-trau_rtp_conv.lo [ 62s] trau/osmo_ortp.c:233:9: note: '#pragma message: Using internal ortp API: rtp_session_rtcp_rec' [ 62s] 233 | #pragma message ("Using internal ortp API: rtp_session_rtcp_rec") [ 62s] | ^~~~~~~ [ 62s] CCLD libosmoabis.la [ 62s] trau/trau_rtp_conv.c:28:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 62s] 28 | #include [ 62s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 62s] compilation terminated. [ 62s] make[2]: *** [Makefile:604: trau/libosmotrau_la-trau_rtp_conv.lo] Error 1 [ 62s] make[2]: *** Waiting for unfinished jobs.... [ 64s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe/src' [ 64s] make[1]: *** [Makefile:481: all-recursive] Error 1 [ 64s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-0.8.0.66.04fe' [ 64s] make: *** [Makefile:386: all] Error 2 [ 64s] error: Bad exit status from /var/tmp/rpm-tmp.d0TL84 (%build) [ 64s] [ 64s] [ 64s] RPM build errors: [ 64s] Bad exit status from /var/tmp/rpm-tmp.d0TL84 (%build) [ 64s] ### VM INTERACTION START ### [ 68s] [ 60.375678] sysrq: Power Off [ 68s] [ 60.381221] reboot: Power down [ 68s] ### VM INTERACTION END ### [ 68s] [ 68s] lamb65 failed "build libosmo-abis.spec" at Tue Aug 4 22:49:06 UTC 2020. [ 68s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 5 02:11:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Aug 2020 02:11:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2a156b60d56_1c642ad36bfd05fc678112@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: [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 172s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 172s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 172s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 172s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 172s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 172s] collect2: error: ld returned 1 exit status [ 172s] % [ 172s] make[2]: *** [Makefile:234: flash] Error 1 [ 172s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 172s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 172s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 172s] dh_auto_build: error: make -j1 returned exit code 2 [ 172s] make: *** [debian/rules:16: build] Error 25 [ 172s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 172s] ### VM INTERACTION START ### [ 175s] [ 165.131100] sysrq: SysRq : Power Off [ 175s] [ 165.135341] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] lamb14 failed "build simtrace2_0.7.0.60.859f.dsc" at Wed Aug 5 02:11:16 UTC 2020. [ 175s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 5 03:16:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Aug 2020 03:16:58 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2a24c956bdb_1c642ad36bfd05fc6953af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 87s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 87s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 87s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 87s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 87s] | | [ 87s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 87s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 87s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 87s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 87s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 87s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 87s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 87s] cc1: all warnings being treated as errors [ 87s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 87s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 87s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 87s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 87s] make[1]: *** [Makefile:166: all] Error 2 [ 87s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 87s] dh_auto_build: error: cd build && make -j6 "INSTALL=install --strip-program=true" returned exit code 2 [ 87s] make: *** [debian/rules:9: build] Error 25 [ 87s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 87s] ### VM INTERACTION START ### [ 90s] [ 80.744506] sysrq: SysRq : Power Off [ 90s] [ 80.748571] reboot: Power down [ 91s] ### VM INTERACTION END ### [ 91s] [ 91s] sheep85 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 5 03:16:55 UTC 2020. [ 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 Aug 5 09:48:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 09:48:27 +0000 Subject: Change in osmo-ci[master]: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 i... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19526 ) Change subject: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken" ...................................................................... Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken" This reverts commit e17a4d66d06ad5acb74a728ca378ad0cc9fffdf0, i.e. we are back to building the latest tag, now that v20.07.1 has been released, which actually builds again. However, the package name in debian/changelog has not been updated to reflect that version change, resulting in v20.07.1 being packaged in a package called v20.07.0. Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c --- D obs-patches/limesuite/build-for-debian10.patch M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 1 insertion(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/19526/1 diff --git a/obs-patches/limesuite/build-for-debian10.patch b/obs-patches/limesuite/build-for-debian10.patch deleted file mode 100644 index 2387b08..0000000 --- a/obs-patches/limesuite/build-for-debian10.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/debian/control b/debian/control -index c25b7c97..375ab95b 100644 ---- a/debian/control -+++ b/debian/control -@@ -6,7 +6,7 @@ Build-Depends: - debhelper (>= 9.0.0), - cmake (>= 3.1.3), - libusb-1.0-0-dev, -- libwxgtk3.0-dev, -+ libwxgtk3.0-gtk3-dev, - libsoapysdr-dev, - freeglut3-dev, - libfltk1.3-dev, diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 219ae6d..212bb4c 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -30,11 +30,6 @@ get_last_tag() { project="$1" - if [ "$project" = "limesuite" ]; then - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - echo "v20.01.0" - return - fi if [ "$project" = "limesuite" ] || [ "$project" = "open5gs" ]; then ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" else diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 876c70c..ea0dcd4 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -51,11 +51,6 @@ get_last_tag() { project="$1" if [ "$project" = "limesuite" ]; then - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - echo "v20.01.0" - return - fi - if [ "$project" = "limesuite" ]; then ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" else ver_regexp="^[0-9]*.[0-9]*.[0-9]*$" @@ -184,9 +179,7 @@ checkout_limesuite() { cd "$REPO" git clone https://github.com/myriadrf/LimeSuite limesuite - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - #TAG="$(get_last_tag limesuite)" - TAG="v20.01.0" + TAG="$(get_last_tag limesuite)" cd limesuite git checkout "$TAG" } @@ -248,11 +241,9 @@ cd "$REPO" osmo_obs_checkout_copy debian8 osmo-gsm-manuals osmo_obs_checkout_copy debian8 osmo-trx - osmo_obs_checkout_copy debian10 limesuite build osmocom-$FEED build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" - build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c Gerrit-Change-Number: 19526 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 Aug 5 10:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 10:00:48 +0000 Subject: Change in simtrace2[master]: firmware: fix builds with gcc stack smashing protection enabled References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/19527 ) Change subject: firmware: fix builds with gcc stack smashing protection enabled ...................................................................... firmware: fix builds with gcc stack smashing protection enabled On Ubuntu 20.04 when builiding dpkg packages, even when cross-compiling firmware, gcc stack smashing protection is enabled. Let's provide what is minimally required in order to sucessfully complete builds on such platforms. Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997 Closes: OS#4687 --- M firmware/Makefile A firmware/libcommon/source/stack_check.c 2 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/27/19527/1 diff --git a/firmware/Makefile b/firmware/Makefile index bdca6e5..7be5c30 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -100,7 +100,7 @@ C_LIBUSB_RT = dfu.c dfu_runtime.c C_LIBUSB_DFU = dfu.c dfu_desc.c dfu_driver.c C_LIBCOMMON = string.c stdio.c fputs.c usb_buf.c ringbuffer.c pseudo_talloc.c host_communication.c \ - main_common.c + main_common.c stack_check.c C_BOARD = $(notdir $(wildcard libboard/common/source/*.c)) C_BOARD += $(notdir $(wildcard libboard/$(BOARD)/source/*.c)) diff --git a/firmware/libcommon/source/stack_check.c b/firmware/libcommon/source/stack_check.c new file mode 100644 index 0000000..3130dd8 --- /dev/null +++ b/firmware/libcommon/source/stack_check.c @@ -0,0 +1,14 @@ +#include +#include + +/* This is what's minimally required to fix builds on Ubuntu 20.04, + * where stack smashing protection is enabled by default when using dpkg + * - even when cross-compiling: https://osmocom.org/issues/4687 + */ + +uintptr_t __stack_chk_guard = 0xdeadbeef; + +void __stack_chk_fail(void) +{ + osmo_panic("Stack smashing detected!\r\n"); +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997 Gerrit-Change-Number: 19527 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 Aug 5 10:41:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 10:41:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: remove unused variable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19523 ) Change subject: mgcp_protocol: remove unused variable ...................................................................... mgcp_protocol: remove unused variable The function allocate_port() has pointer a variable end, it even does an OSMO_ASSERT on it, but it never uses it. Lets remove it. Change-Id: I369361389c6276e5511c683ebd630093713bdd37 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index f2fc20c..bc96462 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -370,13 +370,10 @@ static int allocate_port(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) { int i; - struct mgcp_rtp_end *end; struct mgcp_port_range *range; unsigned int tries; OSMO_ASSERT(conn); - end = &conn->end; - OSMO_ASSERT(end); range = &endp->cfg->net_ports; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I369361389c6276e5511c683ebd630093713bdd37 Gerrit-Change-Number: 19523 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 5 10:42:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 10:42:10 +0000 Subject: Change in osmo-mgw[master]: resolve mgcp_internal.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19525 ) Change subject: resolve mgcp_internal.h ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19525/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/19525/1//COMMIT_MSG at 7 PS1, Line 7: resolve dissolve or remove or "get rid of". I think "resolve" doesn't match -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I837eaad771ed7252304db4a81c37953b70766fff Gerrit-Change-Number: 19525 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 10:42:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 5 11:59:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 11:59:45 +0000 Subject: Change in simtrace2[master]: firmware: fix builds with gcc stack smashing protection enabled In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19527 ) Change subject: firmware: fix builds with gcc stack smashing protection enabled ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997 Gerrit-Change-Number: 19527 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 Aug 2020 11:59:45 +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 Aug 5 15:47:32 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Aug 2020 15:47:32 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2ad49dee9f5_7c2a2aebd2b2c5f858325@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 122s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 122s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 122s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 122s] | | [ 122s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 122s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 122s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 122s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 122s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 122s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 122s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 123s] cc1: all warnings being treated as errors [ 123s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 123s] make[3]: *** Waiting for unfinished jobs.... [ 123s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 123s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 123s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 123s] make[1]: *** [Makefile:166: all] Error 2 [ 123s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 123s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 123s] make: *** [debian/rules:9: build] Error 25 [ 123s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 123s] ### VM INTERACTION START ### [ 126s] [ 114.073635] sysrq: SysRq : Power Off [ 126s] [ 114.080581] reboot: Power down [ 126s] ### VM INTERACTION END ### [ 126s] [ 126s] lamb24 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 5 15:47:18 UTC 2020. [ 126s] -- 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 Aug 5 16:25:44 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 5 Aug 2020 16:25:44 +0000 Subject: Change in osmo-bsc[master]: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type When the BTS is is not an ipaccess BTS, the BTS can only be an E1 bts. In that case E1 endpoints must be used and there will be no RTP stream setup towards the BTS. Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Related: OS#2547 --- M include/osmocom/bsc/bsc_subscr_conn_fsm.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 32 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/19528/1 diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h index 1a827d9..7893735 100644 --- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -65,7 +65,7 @@ int gscon_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg); struct osmo_mgcpc_ep *gscon_ensure_mgw_endpoint(struct gsm_subscriber_connection *conn, - uint16_t msc_assigned_cic); + uint16_t msc_assigned_cic, struct gsm_lchan *for_lchan); bool gscon_connect_mgw_to_msc(struct gsm_subscriber_connection *conn, struct gsm_lchan *for_lchan, const char *addr, uint16_t port, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 9b1fb3f..f883e4b 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -471,8 +471,10 @@ * SCCPlite, pass in msc_assigned_cic the CIC received upon BSSMAP Assignment Command or BSSMAP Handover * Request form the MSC (which is only stored in conn->user_plane after success). Ignored for AoIP. */ struct osmo_mgcpc_ep *gscon_ensure_mgw_endpoint(struct gsm_subscriber_connection *conn, - uint16_t msc_assigned_cic) + uint16_t msc_assigned_cic, struct gsm_lchan *for_lchan) { + const char *epname; + if (conn->user_plane.mgw_endpoint) return conn->user_plane.mgw_endpoint; @@ -489,13 +491,19 @@ msc_assigned_cic, osmo_mgcpc_ep_name(conn->user_plane.mgw_endpoint)); } else if (gscon_is_aoip(conn)) { - /* use dynamic RTPBRIDGE endpoint allocation in MGW */ + + if (is_ipaccess_bts(conn->lchan->ts->trx->bts)) + /* use dynamic RTPBRIDGE endpoint allocation in MGW */ + epname = mgcp_client_rtpbridge_wildcard(conn->network->mgw.client); + else + epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, 1, for_lchan->ts->e1_link.e1_ts, 16, for_lchan->ts->e1_link.e1_ts_ss*2); + conn->user_plane.mgw_endpoint = osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, conn->network->mgw.client, conn->network->mgw.tdefs, conn->fi->id, - "%s", mgcp_client_rtpbridge_wildcard(conn->network->mgw.client)); + "%s", epname); } else { LOGPFSML(conn->fi, LOGL_ERROR, "Conn is neither SCCPlite nor AoIP!?\n"); return NULL; @@ -570,7 +578,7 @@ } else verb = MGCP_VERB_CRCX; - gscon_ensure_mgw_endpoint(conn, for_lchan->activate.info.msc_assigned_cic); + gscon_ensure_mgw_endpoint(conn, for_lchan->activate.info.msc_assigned_cic, for_lchan); if (!conn->user_plane.mgw_endpoint) { LOGPFSML(conn->fi, LOGL_ERROR, "Unable to allocate endpoint info\n"); diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 24a7147..1fe5452 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -141,6 +141,12 @@ struct osmo_mgcpc_ep_ci *use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); struct mgcp_conn_peer crcx_info = {}; + if (!is_ipaccess_bts(lchan->ts->trx->bts)) { + LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "Audio link to-BTS via E1, skipping IPACC\n"); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_LCHAN_READY); + return; + } + if (use_mgwep_ci) { LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "MGW endpoint already available: %s\n", osmo_mgcpc_ep_ci_name(use_mgwep_ci)); @@ -148,7 +154,7 @@ return; } - mgwep = gscon_ensure_mgw_endpoint(lchan->conn, lchan->activate.info.msc_assigned_cic); + mgwep = gscon_ensure_mgw_endpoint(lchan->conn, lchan->activate.info.msc_assigned_cic, lchan); if (!mgwep) { lchan_rtp_fail("Internal error: cannot obtain MGW endpoint handle for conn"); return; @@ -248,7 +254,7 @@ if (is_ipaccess_bts(lchan->ts->trx->bts)) lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK); else - lchan_rtp_fsm_switch_rtp(fi); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED); } static void lchan_rtp_fsm_wait_ipacc_crcx_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) @@ -445,6 +451,12 @@ return; } + if (!is_ipaccess_bts(lchan->ts->trx->bts)) { + LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "Audio link to-BTS via E1, skipping IPACC\n"); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_READY); + return; + } + /* At this point, we are taking over an old lchan's MGW endpoint (if any). */ if (!lchan->mgw_endpoint_ci_bts && old_lchan) { /* The old lchan shall forget the endpoint now. We might put it back upon ROLLBACK */ @@ -521,7 +533,11 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REQUEST, 0); return; } - connect_mgw_endpoint_to_lchan(fi, lchan->mgw_endpoint_ci_bts, old_lchan); + + if (is_ipaccess_bts(lchan->ts->trx->bts)) + connect_mgw_endpoint_to_lchan(fi, lchan->mgw_endpoint_ci_bts, old_lchan); + else + osmo_fsm_inst_dispatch(fi, LCHAN_RTP_EV_MGW_ENDPOINT_CONFIGURED, 0); } static void lchan_rtp_fsm_rollback(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 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 Aug 5 19:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 19:06:33 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: make list of kwargs git friendly References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 ) Change subject: ttcn3/lib/testlib.py: make list of kwargs git friendly ...................................................................... ttcn3/lib/testlib.py: make list of kwargs git friendly Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/29/19529/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 394e76e..3548333 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -21,7 +21,10 @@ print('Creating template') mytemplate = Template(filename=bts_tmpl_file) - r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), pcu_available=pcu_available, ttcn3_test_execute=ttcn3_test_execute, ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) + r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), + pcu_available=pcu_available, + ttcn3_test_execute=ttcn3_test_execute, + ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) with open(bts_cfg_file, 'w') as f: f.write(r) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 Gerrit-Change-Number: 19529 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 Aug 5 19:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 19:06:33 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: implement the concept of test case groups References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 ) Change subject: ttcn3/lib/testlib.py: implement the concept of test case groups ...................................................................... ttcn3/lib/testlib.py: implement the concept of test case groups Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 3 files changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/30/19530/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 3548333..c3b3f35 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -4,7 +4,9 @@ from osmo_gsm_tester.testenv import * -def run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): +def run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, + ttcn3_test_groups = [], + ttcn3_test_extra_module_params=""): own_dir = testdir script_file = os.path.join(testdir, 'scripts', 'run_ttcn3_docker.sh') bts_tmpl_file = os.path.join(testdir, 'scripts', 'BTS_Tests.cfg.tmpl') @@ -23,7 +25,7 @@ mytemplate = Template(filename=bts_tmpl_file) r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), pcu_available=pcu_available, - ttcn3_test_execute=ttcn3_test_execute, + ttcn3_test_groups=ttcn3_test_groups, ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) with open(bts_cfg_file, 'w') as f: f.write(r) diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl index 510234e..4756ea1 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl @@ -29,4 +29,6 @@ [MAIN_CONTROLLER] [EXECUTE] -${ttcn3_test_execute} +% for group in ttcn3_test_groups: +${group}.control +% endfor diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index 4382454..7f0b24f 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -6,7 +6,9 @@ tenv.test_import_modules_register_for_cleanup(testlib) from testlib import run_ttcn3 -ttcn3_test_execute="BTS_Tests.control" +ttcn3_test_groups = [ + 'BTS_Tests', +] hlr_dummy = tenv.hlr() mgw_dummy = tenv.mgw() @@ -46,4 +48,4 @@ osmocon.start() testdir = os.path.dirname(os.path.realpath(__file__)) -run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) +run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_groups) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 Gerrit-Change-Number: 19530 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 Aug 5 19:06:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 19:06:34 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB, LAPDm} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 ) Change subject: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} ...................................................................... ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/19531/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index 7f0b24f..c999aaa 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -8,6 +8,8 @@ ttcn3_test_groups = [ 'BTS_Tests', + 'BTS_Tests_SMSCB', + 'BTS_Tests_LAPDm', ] hlr_dummy = tenv.hlr() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 Gerrit-Change-Number: 19531 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 Aug 5 19:06:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 19:06:34 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 ) Change subject: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' ...................................................................... ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/32/19532/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh index 535268a..76df04b 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh @@ -71,6 +71,7 @@ fi docker run --rm \ --network $NET_NAME --ip 172.18.9.10 \ + --ulimit core=-1 \ -p ${BSC_RSL_ADDR}:3003:3003 \ -e "TTCN3_PCAP_PATH=/data" \ --mount type=bind,source=$VOL_BASE_DIR/bts-tester,destination=/data \ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 Gerrit-Change-Number: 19532 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 Aug 5 20:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:10:56 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB, LAPDm} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 ) Change subject: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 Gerrit-Change-Number: 19531 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 20: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 Wed Aug 5 20:11:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:11:11 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 ) Change subject: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 Gerrit-Change-Number: 19532 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 20: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 Wed Aug 5 20:11:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:11:16 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: make list of kwargs git friendly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 ) Change subject: ttcn3/lib/testlib.py: make list of kwargs git friendly ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 Gerrit-Change-Number: 19529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 20:11: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 Aug 5 20:12:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:12:10 +0000 Subject: Change in osmo-bsc[master]: lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19191 ) Change subject: lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I31940aff166ccd7a9612574536674e4e483a3cb9 Gerrit-Change-Number: 19191 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Aug 2020 20:12: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 Aug 5 20:12:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:12:12 +0000 Subject: Change in osmo-bsc[master]: lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19191 ) Change subject: lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static ...................................................................... lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static The functions lchan_rtp_fsm_timer_cb() and lchan_rtp_fsm_cleanup() only used in lchan_rtp_fsm.c, lets make them static. Change-Id: I31940aff166ccd7a9612574536674e4e483a3cb9 --- M src/osmo-bsc/lchan_rtp_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 2def2f5..24a7147 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -730,7 +730,7 @@ {} }; -int lchan_rtp_fsm_timer_cb(struct osmo_fsm_inst *fi) +static int lchan_rtp_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_lchan *lchan = lchan_rtp_fi_lchan(fi); lchan->release.in_error = true; @@ -739,7 +739,7 @@ return 0; } -void lchan_rtp_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +static void lchan_rtp_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct gsm_lchan *lchan = lchan_rtp_fi_lchan(fi); if (lchan->mgw_endpoint_ci_bts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I31940aff166ccd7a9612574536674e4e483a3cb9 Gerrit-Change-Number: 19191 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 5 20:12:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:12:48 +0000 Subject: Change in osmo-bsc[master]: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 20:12: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 Aug 5 20:12:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:12:55 +0000 Subject: Change in osmo-ci[master]: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 i... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19526 ) Change subject: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken" ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c Gerrit-Change-Number: 19526 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 05 Aug 2020 20:12: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 Aug 5 20:12:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 5 Aug 2020 20:12:57 +0000 Subject: Change in osmo-ci[master]: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 i... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19526 ) Change subject: Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken" ...................................................................... Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken" This reverts commit e17a4d66d06ad5acb74a728ca378ad0cc9fffdf0, i.e. we are back to building the latest tag, now that v20.07.1 has been released, which actually builds again. However, the package name in debian/changelog has not been updated to reflect that version change, resulting in v20.07.1 being packaged in a package called v20.07.0. Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c --- D obs-patches/limesuite/build-for-debian10.patch M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 1 insertion(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/obs-patches/limesuite/build-for-debian10.patch b/obs-patches/limesuite/build-for-debian10.patch deleted file mode 100644 index 2387b08..0000000 --- a/obs-patches/limesuite/build-for-debian10.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/debian/control b/debian/control -index c25b7c97..375ab95b 100644 ---- a/debian/control -+++ b/debian/control -@@ -6,7 +6,7 @@ Build-Depends: - debhelper (>= 9.0.0), - cmake (>= 3.1.3), - libusb-1.0-0-dev, -- libwxgtk3.0-dev, -+ libwxgtk3.0-gtk3-dev, - libsoapysdr-dev, - freeglut3-dev, - libfltk1.3-dev, diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 219ae6d..212bb4c 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -30,11 +30,6 @@ get_last_tag() { project="$1" - if [ "$project" = "limesuite" ]; then - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - echo "v20.01.0" - return - fi if [ "$project" = "limesuite" ] || [ "$project" = "open5gs" ]; then ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" else diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 876c70c..ea0dcd4 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -51,11 +51,6 @@ get_last_tag() { project="$1" if [ "$project" = "limesuite" ]; then - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - echo "v20.01.0" - return - fi - if [ "$project" = "limesuite" ]; then ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" else ver_regexp="^[0-9]*.[0-9]*.[0-9]*$" @@ -184,9 +179,7 @@ checkout_limesuite() { cd "$REPO" git clone https://github.com/myriadrf/LimeSuite limesuite - # temp workaround, see https://github.com/myriadrf/LimeSuite/issues/313 - #TAG="$(get_last_tag limesuite)" - TAG="v20.01.0" + TAG="$(get_last_tag limesuite)" cd limesuite git checkout "$TAG" } @@ -248,11 +241,9 @@ cd "$REPO" osmo_obs_checkout_copy debian8 osmo-gsm-manuals osmo_obs_checkout_copy debian8 osmo-trx - osmo_obs_checkout_copy debian10 limesuite build osmocom-$FEED build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" - build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c Gerrit-Change-Number: 19526 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 Aug 5 20:18:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 20:18:33 +0000 Subject: Change in osmo-bsc[master]: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19528/1/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19528/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 495 PS1, Line 495: conn->lchan I see some code paths where conn->lchan can be NULL. Is it possible that we hit NULL-pointer dereference here? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 05 Aug 2020 20:18: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 Wed Aug 5 20:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 20:53:32 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): clarify logging messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19533 ) Change subject: l1sap: radio_link_timeout(): clarify logging messages ...................................................................... l1sap: radio_link_timeout(): clarify logging messages Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 --- M src/common/l1sap.c 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/33/19533/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index e05ec78..dc236aa 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1178,20 +1178,19 @@ /* if link loss criterion already reached */ if (lchan->s == 0) { - DEBUGP(DMEAS, "%s radio link counter S already 0.\n", + DEBUGP(DMEAS, "%s radio link timeout counter S is already 0\n", gsm_lchan_name(lchan)); return; } if (bad_frame) { - /* count down radio link counter S */ - lchan->s--; - DEBUGP(DMEAS, "%s counting down radio link counter S=%d\n", - gsm_lchan_name(lchan), lchan->s); + DEBUGP(DMEAS, "%s decreasing radio link timeout counter S=%d -> %d\n", + gsm_lchan_name(lchan), lchan->s, lchan->s - 1); + lchan->s--; /* count down radio link counter S */ if (lchan->s == 0) { LOGPLCHAN(lchan, DMEAS, LOGL_NOTICE, - "radio link counter timeout S=%d, dropping conn\n", - lchan->s); + "radio link timeout counter S reached zero, " + "dropping connection\n"); rsl_tx_conn_fail(lchan, RSL_ERR_RADIO_LINK_FAIL); } return; @@ -1199,11 +1198,12 @@ if (lchan->s < bts->radio_link_timeout) { /* count up radio link counter S */ - lchan->s += 2; - if (lchan->s > bts->radio_link_timeout) - lchan->s = bts->radio_link_timeout; - DEBUGP(DMEAS, "%s counting up radio link counter S=%d\n", - gsm_lchan_name(lchan), lchan->s); + int s = lchan->s + 2; + if (s > bts->radio_link_timeout) + s = bts->radio_link_timeout; + DEBUGP(DMEAS, "%s increasing radio link timeout counter S=%d -> %d\n", + gsm_lchan_name(lchan), lchan->s, s); + lchan->s = s; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 Gerrit-Change-Number: 19533 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 Aug 5 20:53:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 20:53:33 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): use LOGPLCHAN() macro References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19534 ) Change subject: l1sap: radio_link_timeout(): use LOGPLCHAN() macro ...................................................................... l1sap: radio_link_timeout(): use LOGPLCHAN() macro Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 --- M src/common/l1sap.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/19534/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index dc236aa..ea1219f 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1178,14 +1178,15 @@ /* if link loss criterion already reached */ if (lchan->s == 0) { - DEBUGP(DMEAS, "%s radio link timeout counter S is already 0\n", - gsm_lchan_name(lchan)); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "radio link timeout counter S is already 0\n"); return; } if (bad_frame) { - DEBUGP(DMEAS, "%s decreasing radio link timeout counter S=%d -> %d\n", - gsm_lchan_name(lchan), lchan->s, lchan->s - 1); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "decreasing radio link timeout counter S=%d -> %d\n", + lchan->s, lchan->s - 1); lchan->s--; /* count down radio link counter S */ if (lchan->s == 0) { LOGPLCHAN(lchan, DMEAS, LOGL_NOTICE, @@ -1201,8 +1202,9 @@ int s = lchan->s + 2; if (s > bts->radio_link_timeout) s = bts->radio_link_timeout; - DEBUGP(DMEAS, "%s increasing radio link timeout counter S=%d -> %d\n", - gsm_lchan_name(lchan), lchan->s, s); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "increasing radio link timeout counter S=%d -> %d\n", + lchan->s, s); lchan->s = s; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 Gerrit-Change-Number: 19534 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 Aug 5 20:55:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 20:55:36 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): bad_frame is a boolean References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19535 ) Change subject: l1sap: radio_link_timeout(): bad_frame is a boolean ...................................................................... l1sap: radio_link_timeout(): bad_frame is a boolean Change-Id: Id173f69705948aafe861ec36450b147deda95246 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/19535/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index ea1219f..eac5000 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1168,7 +1168,7 @@ /* process radio link timeout counter S. Follows TS 05.08 Section 5.2 * "MS Procedure" as the "BSS Procedure [...] shall be determined by the * network operator." */ -static void radio_link_timeout(struct gsm_lchan *lchan, int bad_frame) +static void radio_link_timeout(struct gsm_lchan *lchan, bool bad_frame) { struct gsm_bts *bts = lchan->ts->trx->bts; @@ -1332,7 +1332,7 @@ le = &lchan->lapdm_ch.lapdm_acch; rsl_tx_meas_res(lchan, NULL, 0, le); - radio_link_timeout(lchan, 1); + radio_link_timeout(lchan, true); lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi); } return -EINVAL; @@ -1343,7 +1343,7 @@ handover_frame(lchan); if (L1SAP_IS_LINK_SACCH(link_id)) { - radio_link_timeout(lchan, 0); + radio_link_timeout(lchan, false); le = &lchan->lapdm_ch.lapdm_acch; /* save the SACCH L1 header in the lchan struct for RSL MEAS RES */ if (len < 2) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id173f69705948aafe861ec36450b147deda95246 Gerrit-Change-Number: 19535 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 Aug 5 22:31:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 22:31:19 +0000 Subject: Change in osmo-bts[master]: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19536 ) Change subject: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() ...................................................................... rsl: constify the 'lchan' argument of rsl_tx_conn_fail() Change-Id: Icec43d7c1f3b99292fa87462ad65b2c19fdd3b5f --- M include/osmo-bts/rsl.h M src/common/rsl.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/19536/1 diff --git a/include/osmo-bts/rsl.h b/include/osmo-bts/rsl.h index ff6c2a8..5dfd6cf 100644 --- a/include/osmo-bts/rsl.h +++ b/include/osmo-bts/rsl.h @@ -24,7 +24,7 @@ int rsl_tx_est_ind(struct gsm_lchan *lchan, uint8_t link_id, uint8_t *data, int len); int rsl_tx_chan_act_acknack(struct gsm_lchan *lchan, uint8_t cause); -int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause); +int rsl_tx_conn_fail(const struct gsm_lchan *lchan, uint8_t cause); int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan); int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay); diff --git a/src/common/rsl.c b/src/common/rsl.c index 4a91e3e..802e577 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -894,7 +894,7 @@ } /* 8.4.4 sending CONNection FAILure */ -int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause) +int rsl_tx_conn_fail(const struct gsm_lchan *lchan, uint8_t cause) { struct msgb *msg; uint8_t chan_nr = gsm_lchan2chan_nr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icec43d7c1f3b99292fa87462ad65b2c19fdd3b5f Gerrit-Change-Number: 19536 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 Aug 5 22:31:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Aug 2020 22:31:20 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19537 ) Change subject: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() ...................................................................... osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() I noticed that "RF-locking" a transceiver with active connections (e.g. voice calls) leads to a resource leak: the BSC would continue to consider the associated logical channels occupied, so the MSC would also consider the CS connections active (if any). The radio link timeout counter is expected prevent such cases, but it's driven by either valid SACCH blocks, or bad frame indications triggered by NOPE indications from transceiver. The problem is that we basically reset the scheduler in bts_model_trx_deact_rf(), and stop sending / receiving bursts, so this counter would be lost. Let's ensure that RSL Radio Link Failure indications are sent to the BSC for all active logical channels that "survied" after the ramping down. This is exactly what the other BTS models do. Change-Id: Id20d12f76b1aac5c81a79eb293e537ed41a1c28a Related: OS#4694 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/19537/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index a2b3415..c4c743f 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -213,6 +213,31 @@ struct phy_instance *pinst = trx_phy_instance(trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; enum gsm_phys_chan_config pchan = trx->ts[0].pchan; + unsigned int tn, ln; + + /* Send RSL Radio Link Failure for all active DCCHs */ + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + if (ts->pchan == GSM_PCHAN_NONE) + continue; + + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { + const struct gsm_lchan *lchan = &ts->lchan[ln]; + if (lchan->state != LCHAN_S_ACTIVE) + continue; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + case GSM_LCHAN_TCH_F: + case GSM_LCHAN_TCH_H: + rsl_tx_conn_fail(lchan, RSL_ERR_RADIO_LINK_FAIL); + break; + default: + /* Make GCC happy */ + continue; + } + } + } /* close all logical channels and reset timeslots */ trx_sched_reset(&l1h->l1s); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id20d12f76b1aac5c81a79eb293e537ed41a1c28a Gerrit-Change-Number: 19537 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Aug 6 01:37:59 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Aug 2020 01:37:59 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2b5f0f96972_7c2a2aebd2b2c5f81784b5@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] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o:(.rodata.cst4+0x4): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_board_qmod.o: in function `board_override_enter_dfu': [ 155s] ./firmware/libboard/qmod/source/board_qmod.c:408: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_main.o: in function `USBDFU_handle_dnload': [ 155s] ./firmware/apps/dfu/main.c:150: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_desc.o: in function `set_usb_serial_str': [ 155s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c:211: warning: undefined reference to `__stack_chk_fail' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o:(.rodata.cst4+0x0): warning: undefined reference to `__stack_chk_guard' [ 155s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: obj/qmod/flash_dfu_driver.o: in function `handle_getstate': [ 155s] ./firmware/./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c:91: warning: undefined reference to `__stack_chk_fail' [ 155s] collect2: error: ld returned 1 exit status [ 155s] % [ 155s] make[2]: *** [Makefile:234: flash] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 155s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: error: make -j1 returned exit code 2 [ 155s] make: *** [debian/rules:16: build] Error 25 [ 155s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 147.954380] sysrq: SysRq : Power Off [ 158s] [ 147.961165] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb03 failed "build simtrace2_0.7.0.60.859f.dsc" at Thu Aug 6 01:37:57 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 6 03:36:33 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Aug 2020 03:36:33 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2b7ad846c96_7c2a2aebd2b2c5f81869c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 69s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 69s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 69s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 69s] | | [ 69s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 69s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 69s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 69s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 69s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 69s] 2425 | MHD_start_daemon (unsigned int flags, [ 69s] | ^~~~~~~~~~~~~~~~ [ 69s] cc1: all warnings being treated as errors [ 69s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 69s] make[3]: *** Waiting for unfinished jobs.... [ 69s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 69s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 69s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 69s] make[1]: *** [Makefile:166: all] Error 2 [ 69s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 69s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 69s] make: *** [debian/rules:9: build] Error 25 [ 69s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 69s] ### VM INTERACTION START ### [ 72s] [ 63.820874] sysrq: SysRq : Power Off [ 72s] [ 63.823047] reboot: Power down [ 72s] ### VM INTERACTION END ### [ 72s] [ 72s] wildcard2 failed "build ulfius_2.5.2-4.1.dsc" at Thu Aug 6 03:36:26 UTC 2020. [ 72s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 6 03:38:33 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Aug 2020 03:38:33 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2b7b4af2cf8_7c2a2aebd2b2c5f818749@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 115s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 115s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 115s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 115s] | | [ 115s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 115s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 115s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 115s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 115s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 115s] 2425 | MHD_start_daemon (unsigned int flags, [ 115s] | ^~~~~~~~~~~~~~~~ [ 116s] cc1: all warnings being treated as errors [ 116s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 116s] make[3]: *** Waiting for unfinished jobs.... [ 116s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[1]: *** [Makefile:166: all] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 116s] make: *** [debian/rules:9: build] Error 25 [ 116s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 107.902033] sysrq: SysRq : Power Off [ 119s] [ 107.908432] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] lamb28 failed "build ulfius_2.5.2-4.1.dsc" at Thu Aug 6 03:38:20 UTC 2020. [ 119s] -- 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 Aug 6 09:58:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 09:58:27 +0000 Subject: Change in libosmo-abis[master]: e1_input: Support I.460 timeslot type In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18933 to look at the new patch set (#4). Change subject: e1_input: Support I.460 timeslot type ...................................................................... e1_input: Support I.460 timeslot type Unlike the legacy TRAU mode, this only adds I460 mux/demux, without any TRAU frame synchronization. The user must still be adding the actual sub-channels using osmo_i460_subchan_add() depending on his requirements. Change-Id: I44da6dfec77ef475adb35001a0e4fa11d549aa02 --- M include/osmocom/abis/e1_input.h M src/e1_input.c M src/input/dahdi.c M src/input/e1d.c M src/input/misdn.c 5 files changed, 41 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/33/18933/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I44da6dfec77ef475adb35001a0e4fa11d549aa02 Gerrit-Change-Number: 18933 Gerrit-PatchSet: 4 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 Thu Aug 6 09:58:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 09:58:28 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix computation of odd parity while encoding HR frames References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19538 ) Change subject: trau_frame: Fix computation of odd parity while encoding HR frames ...................................................................... trau_frame: Fix computation of odd parity while encoding HR frames division modulo 1 is always 0, and hence we always returned '1' as parity bit. Instead, we need to check if the LSB is set in order to know if the number of bits is odd or even. Change-Id: I37af702ba020a90a820bae84cb603e187ebbacb5 Closes: CID#211594 --- M src/trau/trau_frame.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/38/19538/1 diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index 0a8faf9..1159bb1 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -817,7 +817,7 @@ sum++; } - if (sum % 1) + if (sum & 1) return 0; else return 1; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I37af702ba020a90a820bae84cb603e187ebbacb5 Gerrit-Change-Number: 19538 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 Aug 6 09:58:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 09:58:28 +0000 Subject: Change in libosmo-abis[master]: trau_sync: Check return value of osmo_fsm_register() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19539 ) Change subject: trau_sync: Check return value of osmo_fsm_register() ...................................................................... trau_sync: Check return value of osmo_fsm_register() Change-Id: Ieaf524423033864a8b79ea1b04b62568d10ffbd3 Closes: CID#211593 --- M src/trau/trau_sync.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/39/19539/1 diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index dfd7ce4..730cf0c 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -524,5 +524,5 @@ for (i = 0; i < ARRAY_SIZE(sync_patterns); i++) sync_pattern_register(&sync_patterns[i]); - osmo_fsm_register(&trau_sync_fsm); + OSMO_ASSERT(osmo_fsm_register(&trau_sync_fsm) == 0); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ieaf524423033864a8b79ea1b04b62568d10ffbd3 Gerrit-Change-Number: 19539 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 Aug 6 09:58:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 09:58:28 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add missing break statement in osmo_trau_frame_encode() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19540 ) Change subject: trau_frame: Add missing break statement in osmo_trau_frame_encode() ...................................................................... trau_frame: Add missing break statement in osmo_trau_frame_encode() Change-Id: I986781218a844e043b6206124696452b3afec7fd Closes: CID#211592 --- M src/trau/trau_frame.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/40/19540/1 diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index 1159bb1..9c9baa7 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -1249,6 +1249,7 @@ /* timing alignment may happen: increased space requirement */ if (n_bits < 2 * 20 * 8 - 1) return -ENOSPC; + break; case OSMO_TRAU8_DATA: case OSMO_TRAU8_OAM: if (n_bits < 1 * 20 * 8) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I986781218a844e043b6206124696452b3afec7fd Gerrit-Change-Number: 19540 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 Aug 6 10:05:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:05 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix computation of odd parity while encoding HR frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19538 ) Change subject: trau_frame: Fix computation of odd parity while encoding HR frames ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I37af702ba020a90a820bae84cb603e187ebbacb5 Gerrit-Change-Number: 19538 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 10:05: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 Aug 6 10:05:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:17 +0000 Subject: Change in libosmo-abis[master]: trau_sync: Check return value of osmo_fsm_register() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19539 ) Change subject: trau_sync: Check return value of osmo_fsm_register() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ieaf524423033864a8b79ea1b04b62568d10ffbd3 Gerrit-Change-Number: 19539 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 10:05:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 10:05:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:29 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add missing break statement in osmo_trau_frame_encode() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19540 ) Change subject: trau_frame: Add missing break statement in osmo_trau_frame_encode() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I986781218a844e043b6206124696452b3afec7fd Gerrit-Change-Number: 19540 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 10:05:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 10:05:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:31 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix computation of odd parity while encoding HR frames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19538 ) Change subject: trau_frame: Fix computation of odd parity while encoding HR frames ...................................................................... trau_frame: Fix computation of odd parity while encoding HR frames division modulo 1 is always 0, and hence we always returned '1' as parity bit. Instead, we need to check if the LSB is set in order to know if the number of bits is odd or even. Change-Id: I37af702ba020a90a820bae84cb603e187ebbacb5 Closes: CID#211594 --- M src/trau/trau_frame.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index 0a8faf9..1159bb1 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -817,7 +817,7 @@ sum++; } - if (sum % 1) + if (sum & 1) return 0; else return 1; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I37af702ba020a90a820bae84cb603e187ebbacb5 Gerrit-Change-Number: 19538 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 10:05:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:32 +0000 Subject: Change in libosmo-abis[master]: trau_sync: Check return value of osmo_fsm_register() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19539 ) Change subject: trau_sync: Check return value of osmo_fsm_register() ...................................................................... trau_sync: Check return value of osmo_fsm_register() Change-Id: Ieaf524423033864a8b79ea1b04b62568d10ffbd3 Closes: CID#211593 --- M src/trau/trau_sync.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index dfd7ce4..730cf0c 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -524,5 +524,5 @@ for (i = 0; i < ARRAY_SIZE(sync_patterns); i++) sync_pattern_register(&sync_patterns[i]); - osmo_fsm_register(&trau_sync_fsm); + OSMO_ASSERT(osmo_fsm_register(&trau_sync_fsm) == 0); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ieaf524423033864a8b79ea1b04b62568d10ffbd3 Gerrit-Change-Number: 19539 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 10:05:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 10:05:32 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add missing break statement in osmo_trau_frame_encode() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19540 ) Change subject: trau_frame: Add missing break statement in osmo_trau_frame_encode() ...................................................................... trau_frame: Add missing break statement in osmo_trau_frame_encode() Change-Id: I986781218a844e043b6206124696452b3afec7fd Closes: CID#211592 --- M src/trau/trau_frame.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c index 1159bb1..9c9baa7 100644 --- a/src/trau/trau_frame.c +++ b/src/trau/trau_frame.c @@ -1249,6 +1249,7 @@ /* timing alignment may happen: increased space requirement */ if (n_bits < 2 * 20 * 8 - 1) return -ENOSPC; + break; case OSMO_TRAU8_DATA: case OSMO_TRAU8_OAM: if (n_bits < 1 * 20 * 8) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I986781218a844e043b6206124696452b3afec7fd Gerrit-Change-Number: 19540 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 14:02:39 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 6 Aug 2020 14:02:39 +0000 Subject: Change in osmo-bsc[master]: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 14:02: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 Thu Aug 6 14:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 6 Aug 2020 14:04:09 +0000 Subject: Change in osmo-bsc[master]: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lctan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... Patch Set 2: (1 comment) (ensure all messages are sent) https://gerrit.osmocom.org/c/osmo-bsc/+/19528/1/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19528/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 495 PS1, Line 495: conn->lchan > I see some code paths where conn->lchan can be NULL. [?] Yes, thats true, it also crashes in TTCN3. I have fixed that now. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 14:04:09 +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 Aug 6 15:50:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:50:23 +0000 Subject: =?UTF-8?Q?Change_in_libusrp=5Bmaster=5D=3A_Bump_version=3A_3=2E4=2E4=2E8-e2c8_=E2=86=92_3=2E4=2E5?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/19541 ) Change subject: Bump version: 3.4.4.8-e2c8 ? 3.4.5 ...................................................................... Bump version: 3.4.4.8-e2c8 ? 3.4.5 Change-Id: Iaf3545265d8ec28f9b760b55e6170808c35f6ccb --- M debian/changelog 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/41/19541/1 diff --git a/debian/changelog b/debian/changelog index a62e533..4dff165 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +libusrp (3.4.5) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * jenkins.sh: Workaround race conditon in make + * m4/ax_boost_base.m4: Update to newest version from autoconf-archive + * m4/ax_boost_base.m4: Fix debian multiarch_libsubdir path for arch armv7l + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.common: LTVERSIONFLAGS: remove -release + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Harald Welte ] + * debian/control: Add python as BuildRequires, as edit-gpif uses it + + -- Harald Welte Sat, 13 Jun 2020 14:04:03 +0200 + libusrp (3.4.4) unstable; urgency=medium * debian/rules: Don't delete .tarball-version -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/19541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Iaf3545265d8ec28f9b760b55e6170808c35f6ccb Gerrit-Change-Number: 19541 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 Aug 6 15:51:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:51:38 +0000 Subject: =?UTF-8?Q?Change_in_libusrp=5Bmaster=5D=3A_Bump_version=3A_3=2E4=2E4=2E8-e2c8_=E2=86=92_3=2E4=2E5?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/19541 ) Change subject: Bump version: 3.4.4.8-e2c8 ? 3.4.5 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/19541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Iaf3545265d8ec28f9b760b55e6170808c35f6ccb Gerrit-Change-Number: 19541 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 06 Aug 2020 15: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 Thu Aug 6 15:52:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:52:16 +0000 Subject: Change in osmo-bsc[master]: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type When the BTS is is not an ipaccess BTS, the BTS can only be an E1 bts. In that case E1 endpoints must be used and there will be no RTP stream setup towards the BTS. Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Related: OS#2547 --- M include/osmocom/bsc/bsc_subscr_conn_fsm.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 32 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/19528/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 15:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:52:23 +0000 Subject: Change in osmo-bsc[master]: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 15:52: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 Aug 6 15:52:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:52:36 +0000 Subject: Change in osmo-bsc[master]: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19528 ) Change subject: lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type ...................................................................... lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type When the BTS is is not an ipaccess BTS, the BTS can only be an E1 bts. In that case E1 endpoints must be used and there will be no RTP stream setup towards the BTS. Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Related: OS#2547 --- M include/osmocom/bsc/bsc_subscr_conn_fsm.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 3 files changed, 32 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h index 1a827d9..7893735 100644 --- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -65,7 +65,7 @@ int gscon_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg); struct osmo_mgcpc_ep *gscon_ensure_mgw_endpoint(struct gsm_subscriber_connection *conn, - uint16_t msc_assigned_cic); + uint16_t msc_assigned_cic, struct gsm_lchan *for_lchan); bool gscon_connect_mgw_to_msc(struct gsm_subscriber_connection *conn, struct gsm_lchan *for_lchan, const char *addr, uint16_t port, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 9b1fb3f..0faf3b2 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -471,8 +471,10 @@ * SCCPlite, pass in msc_assigned_cic the CIC received upon BSSMAP Assignment Command or BSSMAP Handover * Request form the MSC (which is only stored in conn->user_plane after success). Ignored for AoIP. */ struct osmo_mgcpc_ep *gscon_ensure_mgw_endpoint(struct gsm_subscriber_connection *conn, - uint16_t msc_assigned_cic) + uint16_t msc_assigned_cic, struct gsm_lchan *for_lchan) { + const char *epname; + if (conn->user_plane.mgw_endpoint) return conn->user_plane.mgw_endpoint; @@ -489,13 +491,19 @@ msc_assigned_cic, osmo_mgcpc_ep_name(conn->user_plane.mgw_endpoint)); } else if (gscon_is_aoip(conn)) { - /* use dynamic RTPBRIDGE endpoint allocation in MGW */ + + if (is_ipaccess_bts(for_lchan->ts->trx->bts)) + /* use dynamic RTPBRIDGE endpoint allocation in MGW */ + epname = mgcp_client_rtpbridge_wildcard(conn->network->mgw.client); + else + epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, 1, for_lchan->ts->e1_link.e1_ts, 16, for_lchan->ts->e1_link.e1_ts_ss*2); + conn->user_plane.mgw_endpoint = osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, conn->network->mgw.client, conn->network->mgw.tdefs, conn->fi->id, - "%s", mgcp_client_rtpbridge_wildcard(conn->network->mgw.client)); + "%s", epname); } else { LOGPFSML(conn->fi, LOGL_ERROR, "Conn is neither SCCPlite nor AoIP!?\n"); return NULL; @@ -570,7 +578,7 @@ } else verb = MGCP_VERB_CRCX; - gscon_ensure_mgw_endpoint(conn, for_lchan->activate.info.msc_assigned_cic); + gscon_ensure_mgw_endpoint(conn, for_lchan->activate.info.msc_assigned_cic, for_lchan); if (!conn->user_plane.mgw_endpoint) { LOGPFSML(conn->fi, LOGL_ERROR, "Unable to allocate endpoint info\n"); diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index 24a7147..1fe5452 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -141,6 +141,12 @@ struct osmo_mgcpc_ep_ci *use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); struct mgcp_conn_peer crcx_info = {}; + if (!is_ipaccess_bts(lchan->ts->trx->bts)) { + LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "Audio link to-BTS via E1, skipping IPACC\n"); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_LCHAN_READY); + return; + } + if (use_mgwep_ci) { LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "MGW endpoint already available: %s\n", osmo_mgcpc_ep_ci_name(use_mgwep_ci)); @@ -148,7 +154,7 @@ return; } - mgwep = gscon_ensure_mgw_endpoint(lchan->conn, lchan->activate.info.msc_assigned_cic); + mgwep = gscon_ensure_mgw_endpoint(lchan->conn, lchan->activate.info.msc_assigned_cic, lchan); if (!mgwep) { lchan_rtp_fail("Internal error: cannot obtain MGW endpoint handle for conn"); return; @@ -248,7 +254,7 @@ if (is_ipaccess_bts(lchan->ts->trx->bts)) lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK); else - lchan_rtp_fsm_switch_rtp(fi); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED); } static void lchan_rtp_fsm_wait_ipacc_crcx_ack_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) @@ -445,6 +451,12 @@ return; } + if (!is_ipaccess_bts(lchan->ts->trx->bts)) { + LOG_LCHAN_RTP(lchan, LOGL_DEBUG, "Audio link to-BTS via E1, skipping IPACC\n"); + lchan_rtp_fsm_state_chg(LCHAN_RTP_ST_READY); + return; + } + /* At this point, we are taking over an old lchan's MGW endpoint (if any). */ if (!lchan->mgw_endpoint_ci_bts && old_lchan) { /* The old lchan shall forget the endpoint now. We might put it back upon ROLLBACK */ @@ -521,7 +533,11 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REQUEST, 0); return; } - connect_mgw_endpoint_to_lchan(fi, lchan->mgw_endpoint_ci_bts, old_lchan); + + if (is_ipaccess_bts(lchan->ts->trx->bts)) + connect_mgw_endpoint_to_lchan(fi, lchan->mgw_endpoint_ci_bts, old_lchan); + else + osmo_fsm_inst_dispatch(fi, LCHAN_RTP_EV_MGW_ENDPOINT_CONFIGURED, 0); } static void lchan_rtp_fsm_rollback(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f1f39bf90b0a7c9ea448dab255daf99cd36bb4a Gerrit-Change-Number: 19528 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 15:53:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:53:23 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): clarify logging messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19533 ) Change subject: l1sap: radio_link_timeout(): clarify logging messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 Gerrit-Change-Number: 19533 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 15:53: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 Aug 6 15:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:53:32 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): use LOGPLCHAN() macro In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19534 ) Change subject: l1sap: radio_link_timeout(): use LOGPLCHAN() macro ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 Gerrit-Change-Number: 19534 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 15:53: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 Aug 6 15:53:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:53:40 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): bad_frame is a boolean In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19535 ) Change subject: l1sap: radio_link_timeout(): bad_frame is a boolean ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id173f69705948aafe861ec36450b147deda95246 Gerrit-Change-Number: 19535 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 15:53: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 Aug 6 15:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:53:49 +0000 Subject: Change in osmo-bts[master]: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19536 ) Change subject: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icec43d7c1f3b99292fa87462ad65b2c19fdd3b5f Gerrit-Change-Number: 19536 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 15:53: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 Aug 6 15:54:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:54:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19537 ) Change subject: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() ...................................................................... Patch Set 1: Code-Review-1 as written in the respective redmine issue, I think this is the wrong approach. The problem is that the schedule is disabled/reset, when all we actually want is disable mostly transmit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id20d12f76b1aac5c81a79eb293e537ed41a1c28a Gerrit-Change-Number: 19537 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 15: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 Thu Aug 6 15:55:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 15:55:11 +0000 Subject: =?UTF-8?Q?Change_in_libusrp=5Bmaster=5D=3A_Bump_version=3A_3=2E4=2E4=2E8-e2c8_=E2=86=92_3=2E4=2E5?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libusrp/+/19541 ) Change subject: Bump version: 3.4.4.8-e2c8 ? 3.4.5 ...................................................................... Bump version: 3.4.4.8-e2c8 ? 3.4.5 Change-Id: Iaf3545265d8ec28f9b760b55e6170808c35f6ccb --- M debian/changelog 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index a62e533..4dff165 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +libusrp (3.4.5) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * jenkins.sh: Workaround race conditon in make + * m4/ax_boost_base.m4: Update to newest version from autoconf-archive + * m4/ax_boost_base.m4: Fix debian multiarch_libsubdir path for arch armv7l + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.common: LTVERSIONFLAGS: remove -release + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Harald Welte ] + * debian/control: Add python as BuildRequires, as edit-gpif uses it + + -- Harald Welte Sat, 13 Jun 2020 14:04:03 +0200 + libusrp (3.4.4) unstable; urgency=medium * debian/rules: Don't delete .tarball-version -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/19541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Iaf3545265d8ec28f9b760b55e6170808c35f6ccb Gerrit-Change-Number: 19541 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:09:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 16:09:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19537 ) Change subject: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > as written in the respective redmine issue, I think this is the wrong approach. The problem is that the schedule is disabled/reset, when all we actually want is disable mostly transmit. ACK. I'll abandon this change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id20d12f76b1aac5c81a79eb293e537ed41a1c28a Gerrit-Change-Number: 19537 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:09:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:09:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 16:09:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19537 ) Change subject: osmo-bts-trx: fix resource leak in bts_model_trx_deact_rf() ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id20d12f76b1aac5c81a79eb293e537ed41a1c28a Gerrit-Change-Number: 19537 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:35:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:35:30 +0000 Subject: Change in simtrace2[master]: firmware: fix builds with gcc stack smashing protection enabled In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19527 ) Change subject: firmware: fix builds with gcc stack smashing protection enabled ...................................................................... firmware: fix builds with gcc stack smashing protection enabled On Ubuntu 20.04 when builiding dpkg packages, even when cross-compiling firmware, gcc stack smashing protection is enabled. Let's provide what is minimally required in order to sucessfully complete builds on such platforms. Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997 Closes: OS#4687 --- M firmware/Makefile A firmware/libcommon/source/stack_check.c 2 files changed, 15 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/firmware/Makefile b/firmware/Makefile index bdca6e5..7be5c30 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -100,7 +100,7 @@ C_LIBUSB_RT = dfu.c dfu_runtime.c C_LIBUSB_DFU = dfu.c dfu_desc.c dfu_driver.c C_LIBCOMMON = string.c stdio.c fputs.c usb_buf.c ringbuffer.c pseudo_talloc.c host_communication.c \ - main_common.c + main_common.c stack_check.c C_BOARD = $(notdir $(wildcard libboard/common/source/*.c)) C_BOARD += $(notdir $(wildcard libboard/$(BOARD)/source/*.c)) diff --git a/firmware/libcommon/source/stack_check.c b/firmware/libcommon/source/stack_check.c new file mode 100644 index 0000000..3130dd8 --- /dev/null +++ b/firmware/libcommon/source/stack_check.c @@ -0,0 +1,14 @@ +#include +#include + +/* This is what's minimally required to fix builds on Ubuntu 20.04, + * where stack smashing protection is enabled by default when using dpkg + * - even when cross-compiling: https://osmocom.org/issues/4687 + */ + +uintptr_t __stack_chk_guard = 0xdeadbeef; + +void __stack_chk_fail(void) +{ + osmo_panic("Stack smashing detected!\r\n"); +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997 Gerrit-Change-Number: 19527 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 Thu Aug 6 16:35:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:35:55 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB, LAPDm} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 ) Change subject: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 Gerrit-Change-Number: 19531 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16: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 Thu Aug 6 16:37:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:37:53 +0000 Subject: Change in osmocom-bb[master]: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19482 ) Change subject: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 16: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 Thu Aug 6 16:38:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:38:08 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x, uint16_... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 3 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:38: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 Aug 6 16:38:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:38:12 +0000 Subject: Change in osmocom-bb[master]: firmware/app: Initial commit for the game Snake In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19490 ) Change subject: firmware/app: Initial commit for the game Snake ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 3 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:38:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:38:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:38:20 +0000 Subject: Change in osmocom-bb[master]: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19482 ) Change subject: firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed ...................................................................... firmware/abb: Wrote twl3025_power_off_now to restart the phone if the power button is pressed I am not sure how other developers do this. There are probably better ways to make testing faster but I kind of like it this way. I just call the twl3025_power_off_now function when the power key is pressed. Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 --- M src/target/firmware/abb/twl3025.c M src/target/firmware/include/abb/twl3025.h 2 files changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/target/firmware/abb/twl3025.c b/src/target/firmware/abb/twl3025.c index ad2b01f..5b792d6 100644 --- a/src/target/firmware/abb/twl3025.c +++ b/src/target/firmware/abb/twl3025.c @@ -229,6 +229,15 @@ twl3025_reg_write(VRPCDEV, 0x01); } +void twl3025_power_off_now(void) +{ + /* The phone will restart if the power butten has not been released. + * This can be useful for development. */ + unsigned long flags; + local_firq_save(flags); + twl3025_reg_write(VRPCDEV, 0x01); +} + void twl3025_clk13m(int enable) { if (enable) { diff --git a/src/target/firmware/include/abb/twl3025.h b/src/target/firmware/include/abb/twl3025.h index 727bde0..8bc2fb9 100755 --- a/src/target/firmware/include/abb/twl3025.h +++ b/src/target/firmware/include/abb/twl3025.h @@ -147,6 +147,7 @@ int twl3025_get_pwon(void); void twl3025_power_off(void); +void twl3025_power_off_now(void); void twl3025_clk13m(int enable); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1e55910acd8584c74e5e190b3334a8cf6987f5f3 Gerrit-Change-Number: 19482 Gerrit-PatchSet: 2 Gerrit-Owner: roox 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 Thu Aug 6 16:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:38:21 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x, uint16_... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19483 ) Change subject: firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) ...................................................................... firmware/fb: Implemtented fb_bw8_line and fb_set_p(uint16_t x,uint16_t y) Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 --- M src/target/firmware/fb/fb_bw8.c M src/target/firmware/fb/fb_st7558.c M src/target/firmware/include/fb/fb_bw8.h M src/target/firmware/include/fb/framebuffer.h 4 files changed, 60 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/target/firmware/fb/fb_bw8.c b/src/target/firmware/fb/fb_bw8.c index ffb59d8..0fc12ee 100644 --- a/src/target/firmware/fb/fb_bw8.c +++ b/src/target/firmware/fb/fb_bw8.c @@ -22,6 +22,7 @@ * */ +#include #include #include @@ -51,7 +52,7 @@ uint16_t x2,uint16_t y2 /* right lower corner (inclusive) */ ){ fb_sanitize_box(&x1,&y1,&x2,&y2); - + x2++; /* see definition of fb_bw8->damage_x2/y2 */ y2++; @@ -86,17 +87,6 @@ #endif } -static void fb_bw8_line(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2){ - fb_sanitize_box(&x1,&y1,&x2,&y2); - /* FIXME : this is currently unimplemented! */ -} - -void fb_bw8_lineto(uint16_t x,uint16_t y){ - fb_bw8_line(framebuffer->cursor_x,framebuffer->cursor_y,x,y); - framebuffer->cursor_x = x; - framebuffer->cursor_y = y; -} - /* depending on color set (add to or_mask) or clear (remove from and_mask) bit number bitnum */ static void set_pixel(uint8_t *and_mask, @@ -166,13 +156,56 @@ framebuffer->cursor_y = y; } +/* Just set the given pixel to the current front ground color. + * This function does not update the damage rectangle! */ +void fb_bw8_set_pixel(uint16_t x,uint16_t y){ + uint8_t *p = fb_bw8->mem + (y/8)*framebuffer->width + x; + uint8_t and_mask = 0xff, or_mask = 0x00; + set_fg_pixel(&and_mask, &or_mask, y % 8); + *p = (*p & and_mask)|or_mask; + /* printf("fb_bw8_set_pixel: set: (%u|%u)\n", x, y); */ +} + +/* Copy Paste from + * http://de.wikipedia.org/wiki/Bresenham-Algorithmus#Kompakte_Variante */ +static void fb_bw8_line(int16_t x1,int16_t y1,int16_t x2,int16_t y2){ + fb_limit_fb_range(&x1, &y1); + fb_limit_fb_range(&x2, &y2); + fb_bw8_update_damage(x1,y1,x2,y2); + /* printf("fb_bw8_line from (%u|%u) -> (%u|%u)\n", x1, y1, x2, y2); */ + int16_t dx = abs(x2-x1), dy = -abs(y2-y1); + int16_t sx = x1 dy) { err += dy; x1 += sx; } /* e_xy+e_x > 0 */ + if (e2 < dx) { err += dx; y1 += sy; } /* e_xy+e_y < 0 */ + } +} + +/* Set the given pixel to the current front ground color and update the damage + * rectangle. */ +void fb_bw8_set_p(uint16_t x,uint16_t y){ + fb_bw8_update_damage(x,y,x+1,y+1); + fb_bw8_set_pixel(x,y); +} + +void fb_bw8_lineto(uint16_t x,uint16_t y){ + fb_bw8_line(framebuffer->cursor_x,framebuffer->cursor_y,x,y); + framebuffer->cursor_x = x; + framebuffer->cursor_y = y; +} + + /* this is the most ridiculous function ever, because it has to fiddle with two braindead bitmaps at once, both being organized differently */ /* draw text at current position, with current font and colours up to a width of maxwidth pixels, return pixelwidth consumed */ - int fb_bw8_putstr(char *str,int maxwidth){ const struct fb_font *font = fb_fonts[framebuffer->font]; @@ -187,7 +220,7 @@ int bitmap_offs,bitmap_bit; // offset inside bitmap, bit number of pixel int fb8_offs; // offset to current pixel in framebuffer uint8_t and_mask,or_mask; // to draw on framebuffer - uint8_t *p; // pointer into framebuffer memorya + uint8_t *p; // pointer into framebuffer memory int total_w; // total width /* center, if maxwidth < 0 */ @@ -251,7 +284,7 @@ bitmap_y = fchr->bbox_h - (char_y - fchr->bbox_y) - 1; - fb8_offs = framebuffer->cursor_x + + fb8_offs = framebuffer->cursor_x + char_x + (y/8)*framebuffer->width; and_mask = 0xff; diff --git a/src/target/firmware/fb/fb_st7558.c b/src/target/firmware/fb/fb_st7558.c index fdcd38f..f09b12b 100644 --- a/src/target/firmware/fb/fb_st7558.c +++ b/src/target/firmware/fb/fb_st7558.c @@ -118,6 +118,7 @@ .clear = fb_bw8_clear, .boxto = fb_bw8_boxto, .lineto = fb_bw8_lineto, + .set_p = fb_bw8_set_p, .putstr = fb_bw8_putstr, .flush = fb_st7558_flush, .width = ST7558_WIDTH, diff --git a/src/target/firmware/include/fb/fb_bw8.h b/src/target/firmware/include/fb/fb_bw8.h index d84f91a..db0b31a 100644 --- a/src/target/firmware/include/fb/fb_bw8.h +++ b/src/target/firmware/include/fb/fb_bw8.h @@ -6,9 +6,9 @@ are common to similar organized displays. */ /* - Sketch of Memory Layout + Sketch of Memory Layout Left Upper Corner of Display - + col0 col2 col1 +------------- @@ -22,7 +22,7 @@ ... Backing store (and internal display memory?) looks like... - + uint8_t mem[] = { A, B, C, .... Q, R, S, ... } We work on a in-memory copy of the framebuffer and only @@ -45,6 +45,7 @@ extern void fb_bw8_clear(); extern void fb_bw8_boxto(uint16_t x,uint16_t y); /* draw a box from cursor to x,y */ extern void fb_bw8_lineto(uint16_t x,uint16_t y); /* draw a line from cursor to x,y */ +extern void fb_bw8_set_p(uint16_t x,uint16_t y); extern int fb_bw8_putstr(char *str,int maxwidth); diff --git a/src/target/firmware/include/fb/framebuffer.h b/src/target/firmware/include/fb/framebuffer.h index e765b36..8a56565 100644 --- a/src/target/firmware/include/fb/framebuffer.h +++ b/src/target/firmware/include/fb/framebuffer.h @@ -8,7 +8,7 @@ /* if a color is "special", then the RGB components most likely don't make sense. Use "special" colours when you have to mask out bits with transparency or you have to encode - colours in a fixed color palette... */ + colours in a fixed color palette ... */ #define FB_COLOR_WHITE 0x00ffffffU #define FB_COLOR_BLACK 0x00000000U @@ -31,6 +31,7 @@ char name[8]; // keep it short! void (*init)(); // (re)initialize void (*clear)(); // clear display + void (*set_p)(uint16_t x,uint16_t y); // set pixel to fg color void (*boxto)(uint16_t x,uint16_t y); // draw box to xy void (*lineto)(uint16_t x,uint16_t y); // draw line to xy int (*putstr)(char *c,int maxwidth); // put text in current font to fb @@ -66,6 +67,11 @@ framebuffer->lineto(x,y); } +static inline void +fb_set_p(uint16_t x,uint16_t y){ + framebuffer->set_p(x,y); +} + static inline int fb_putstr(char *str,int maxwidth){ return framebuffer->putstr(str,maxwidth); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id8856ace2a31ba4ebcd04746e0c96c23a679cc40 Gerrit-Change-Number: 19483 Gerrit-PatchSet: 3 Gerrit-Owner: roox 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 Aug 6 16:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:38:21 +0000 Subject: Change in osmocom-bb[master]: firmware/app: Initial commit for the game Snake In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19490 ) Change subject: firmware/app: Initial commit for the game Snake ...................................................................... firmware/app: Initial commit for the game Snake Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 --- A src/target/firmware/apps/snake_game/main.c 1 file changed, 521 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/firmware/apps/snake_game/main.c b/src/target/firmware/apps/snake_game/main.c new file mode 100644 index 0000000..44dda9a --- /dev/null +++ b/src/target/firmware/apps/snake_game/main.c @@ -0,0 +1,521 @@ +/* The game Snake as Free Software for Calypso Phone */ + +/* (C) 2013 by Marcel `sdrfnord` McKinnon + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include + +#include +#define DEBUG 1 +#define KNRM "\x1B[0m" +#define UNDERLINE "\x1B[4m" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +unsigned long next = 1; +/* This is not a good random number generator ... */ +int rand(void) +{ + next = next * 110351 + 12; + return (unsigned int)(next & 0x7fff); +} + +void srand(unsigned int seed) +{ + next = seed; +} + +#define BLANK 0 +#define HEAD 1 +#define TAIL 2 +#define HEAD_FOOD 3 +#define FOOD 9 +#define SBODY 20 +/* The numbers above 20 are the distance to the head. + * 21 is direly behind the head. + */ +#define STDLEN 3 +#define HEIGHT 7 +#define WIDTH 16 + +/* Time in ms to wait to the next auto move of the snake. */ +#define WAIT_TIME_AUTOMOVE 300 + +struct position { + int x; + int y; +} pos; + +uint8_t field[WIDTH][HEIGHT]; +int16_t score = 0, lenght = 0; +enum errors { ALLRIGHT, SNAKE_COL } err; + +void printField(); +void setItem(int, int, int); +void movepos(char); +void increaseBodyAge(); +void setFood() +{ + int x, y, c; + for (c = 0; c < 10; c++) { + x = rand() % (WIDTH - 1); + y = rand() % (HEIGHT - 1); +#if DEBUG > 0 + printf("Next %u\n", next); + printf("Rand (%d|%d)\n", x, y); +#endif + if (field[x][y] == BLANK) { + field[x][y] = FOOD; + return; + } + } + for (x = 0; x < WIDTH; x++) { + for (y = 0; y < HEIGHT; y++) { + if (field[x][y] == BLANK) { + field[x][y] = FOOD; +#if DEBUG > 0 + printf("Set without rand (%d|%d) %d\n", x, y, + c); +#endif + return; + } + } + } +} + +static void print_snake_str(char *text, int16_t x, int16_t y) +{ + x = 6 * x; + y = 8 * (y + 1) - 3; +#if DEBUG > 1 + printf("Put string %s to (%d|%d)\n", text, x, y); +#endif + fb_gotoxy(x, y); + fb_putstr(text, framebuffer->width); +} + +char Move; +void movepos(char move) +{ + Move = move; + setItem(pos.x, pos.y, SBODY); + switch (move) { + case 'h': pos.x--; break; + case 'j': pos.y++; break; + case 'k': pos.y--; break; + case 'l': pos.x++; break; + } + switch (move) { + case 'j': + case 'k': + if (pos.y == -1) + pos.y = HEIGHT - 1; + else if (pos.y == HEIGHT) + pos.y = 0; + increaseBodyAge(); + break; + case 'l': + case 'h': + if (pos.x == -1) + pos.x = WIDTH - 1; + else if (pos.x == WIDTH) + pos.x = 0; + increaseBodyAge(); + break; + } + setItem(pos.x, pos.y, HEAD); + printField(); +} + +void movepos_timer_cb(void *p) +{ + struct osmo_timer_list *tmr = (struct osmo_timer_list *)p; +#if DEBUG > 0 + printf("Auto move %c\n", Move); +#endif + movepos(Move); + + osmo_timer_schedule(tmr, WAIT_TIME_AUTOMOVE); +} + +static struct osmo_timer_list move_snake_timer = { + .cb = &movepos_timer_cb, + .data = &move_snake_timer +}; + +void movepos_keypress(char keypress) +{ + Move = keypress; + osmo_timer_schedule(&move_snake_timer, 0); +} + +void increaseBodyAge() +{ + int y, x; + lenght = SBODY + STDLEN + score; + for (x = 0; x < WIDTH; x++) { + for (y = 0; y < HEIGHT; y++) { + if (field[x][y] >= lenght) + field[x][y] = BLANK; + else if (field[x][y] >= SBODY) + field[x][y]++; + } + } +} + +void setItem(int x, int y, int item) +{ + if (item == HEAD) { + switch (field[x][y]) { + case FOOD: + score++; + setFood(); + item = HEAD_FOOD; + break; + case BLANK: + break; + default: + err = SNAKE_COL; + score--; + } + } + field[x][y] = item; +} + +void resetField() +{ + /* system("clear"); */ + printf("\033[H\033[2J"); +} + +void printField() +{ + fb_clear(); + int x, y; + for (y = 0; y < HEIGHT; y++) { + for (x = 0; x < WIDTH; x++) { + switch (field[x][y]) { + case BLANK: + break; + case HEAD: + print_snake_str("O", x, y); + break; + case HEAD_FOOD: + print_snake_str("P", x, y); + break; + case FOOD: + print_snake_str("#", x, y); + break; + default: + if (field[x][y] == lenght) + print_snake_str(";", x, y); + else + print_snake_str("o", x, y); + } + } + + } + printf("Score: %d\n", score); + fb_gotoxy(0, framebuffer->height - 9); + fb_lineto(framebuffer->width - 1, framebuffer->cursor_y); + fb_gotoxy(0, framebuffer->height - 1); + char text[16]; + switch (err) { + case SNAKE_COL: + fb_putstr("The snake ate itself!!!", framebuffer->width); + err = ALLRIGHT; + break; + default: + sprintf(text, "Score: %d", score); + fb_putstr(text, framebuffer->width); + framebuffer->cursor_x = 45; + fb_putstr("OsmocomBB", framebuffer->width); + } + fb_flush(); + +#if DEBUG > 0 + printf("Pos X: %d, Y: %d\n", pos.x, pos.y); + printf("\n\n"); + for (y = -1; y < HEIGHT; y++) { + for (x = -1; x < WIDTH; x++) { + if (y == -1 || x == -1) { + if (x == -1) + printf(" %2d: ", y); + else if (y == -1) + printf(UNDERLINE " %2d" KNRM, + x); + } else + printf(" %2d", field[x][y]); + } + puts("\n"); + } +#endif +} + +int cursor = 0; +#define NEIGH_LINES ((framebuffer->height +8) / 8) +static void print_display(char *text, int *y, int c) +{ + /* skip lines, given by cursor */ + (*y)++; + if (c >= (*y)) { + printf("Line %d: Return c >= y\n", *y); + return; + } + /* skip, if end of display area is reached */ + if ((*y) - c > NEIGH_LINES) { + printf("Line %d: Return\n", *y); + return; + } + + fb_gotoxy(0, -3 + (((*y) - c - 1) << 3)); + fb_putstr(text, framebuffer->width); +} + +void fb_clear_fancy(uint8_t delay) +{ + int16_t x, y; + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + for (x = 0; x < framebuffer->width; x++) { + for (y = 0; y < framebuffer->height; y++) { + fb_set_p(x, y); + } + fb_flush(); + delay_ms(delay); + } + fb_setfg(FB_COLOR_WHITE); + fb_setbg(FB_COLOR_BLACK); + /* for (x = 0; x < framebuffer->width; x++) { */ + for (; x >= 0; x--) { + for (y = 0; y < framebuffer->height; y++) { + fb_set_p(x, y); + } + fb_flush(); + delay_ms(delay); + } + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); +} + +void intro() +{ + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + fb_setfont(FB_FONT_HELVB14); + + fb_gotoxy(framebuffer->width / 2 - 7 * 3, 15); + fb_putstr("Snake", framebuffer->width - 4); + + fb_gotoxy(14, framebuffer->height - 5); + fb_setfont(FB_FONT_HELVR08); + fb_putstr("Version: " GIT_SHORTHASH, framebuffer->width - 4); + fb_gotoxy(0, 0); + fb_boxto(framebuffer->width - 1, 1); + fb_boxto(framebuffer->width - 2, framebuffer->height - 1); + fb_boxto(0, framebuffer->height - 2); + fb_boxto(1, 1); + + printf("(%u, %u)\n", framebuffer->width, framebuffer->height); + fb_gotoxy(2, 2); + fb_lineto(framebuffer->width - 3, framebuffer->height - 3); + fb_gotoxy(2, framebuffer->height - 3); + fb_lineto(framebuffer->width - 3, 2); + fb_flush(); +} + +/* Main Program */ +const char *hr = + "======================================================================\n"; + +void key_handler(enum key_codes code, enum key_states state); + +static void console_rx_cb(uint8_t dlci, struct msgb *msg) +{ + if (dlci != SC_DLCI_CONSOLE) { + printf("Message for unknown DLCI %u\n", dlci); + return; + } + + printf("Message on console DLCI: '%s'\n", msg->data); + msgb_free(msg); +} + +static void l1a_l23_rx_cb(uint8_t dlci, struct msgb *msg) +{ + int i; + puts("l1a_l23_rx_cb: "); + for (i = 0; i < msg->len; i++) + printf("%02x ", msg->data[i]); + puts("\n"); +} + +int main(void) +{ + board_init(1); + + puts("\n\nOsmocomBB Test sdrfnord (revision " GIT_REVISION ")\n"); + puts(hr); + + /* Dump device identification */ + dump_dev_id(); + puts(hr); + + /* Dump clock config before PLL set */ + calypso_clk_dump(); + puts(hr); + + /* Dump clock config after PLL set */ + calypso_clk_dump(); + puts(hr); + + fb_clear(); + bl_level(255); + osmo_timers_update(); + + intro(); + delay_ms(5000); + fb_clear_fancy(20); + + fb_setfg(FB_COLOR_BLACK); + fb_setbg(FB_COLOR_WHITE); + fb_setfont(FB_FONT_HELVR08); + fb_flush(); + + pos.x = framebuffer->width / (6 * 2); + pos.y = framebuffer->height / (8 * 2); + setItem(pos.x, pos.y, HEAD); + + while (battery_info.bat_volt_mV == 0) + osmo_timers_update(); + srand(battery_info.bat_volt_mV); +#if DEBUG > 0 + printf("Initialize random number generator with %d\n", + battery_info.bat_volt_mV); +#endif + setFood(); + printField(); + + sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb); + sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb); + keypad_set_handler(&key_handler); + + /* beyond this point we only react to interrupts */ + puts("entering interrupt loop\n"); + while (1) { + osmo_timers_update(); + } + + twl3025_power_off(); + + while (1) { + } +} + +void key_handler(enum key_codes code, enum key_states state) +{ + if (!osmo_timer_pending(&move_snake_timer)) { + osmo_timer_schedule(&move_snake_timer, WAIT_TIME_AUTOMOVE); + } + if (state != PRESSED) + return; + + switch (code) { + case KEY_0: + bl_level(0); + break; + case KEY_1: + bl_level(10); + break; + case KEY_2: + movepos_keypress('k'); + break; + case KEY_3: + bl_level(30); + break; + case KEY_4: + movepos_keypress('h'); + break; + case KEY_5: + bl_level(50); + break; + case KEY_6: + movepos_keypress('l'); + break; + case KEY_7: + bl_level(150); + break; + case KEY_8: + movepos_keypress('j'); + break; + case KEY_9: + bl_level(255); + break; + // used to be display_puts... + break; + case KEY_STAR: + // used to be display puts... + break; + case KEY_HASH: + // used to be display puts... + break; + case KEY_LEFT_SB: + bl_mode_pwl(1); + break; + case KEY_RIGHT_SB: + bl_mode_pwl(0); + break; + case KEY_POWER: + twl3025_power_off_now(); + break; + case KEY_RIGHT: + movepos_keypress('l'); + break; + case KEY_LEFT: + movepos_keypress('h'); + break; + case KEY_UP: + movepos_keypress('k'); + break; + case KEY_DOWN: + movepos_keypress('j'); + break; + default: + break; + } +} -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3c3f012552f2a7474ade911fc071c89e55e19352 Gerrit-Change-Number: 19490 Gerrit-PatchSet: 3 Gerrit-Owner: roox 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 Aug 6 16:39:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:39:33 +0000 Subject: Change in libosmocore[master]: gsm_412 Cell Broadcast In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/11410 ) Change subject: gsm_412 Cell Broadcast ...................................................................... Patch Set 9: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/11410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1a17c2ae8bf62150327956c10cb5bb896939e3fd Gerrit-Change-Number: 11410 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:39: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 Aug 6 16:40:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:40:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 ) Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... Patch Set 1: > So instead of this patch, we should fix osmo-bsc to send a RESTART when a client connects, right? yes, this is my understanding of the specification. But please don't take my word for it and check if you also read TS 48.049 that way. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 16:40: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 Aug 6 16:40:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:40:54 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16:40:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:41:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:41:11 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... Patch Set 7: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19146/6/src/gsm/abis_nm.c File src/gsm/abis_nm.c: https://gerrit.osmocom.org/c/libosmocore/+/19146/6/src/gsm/abis_nm.c at 515 PS6, Line 515: NM_ATT_OSMO_NS_LINK_CFG > Shouldn't this be a part of abis_nm_osmo_att_tlvdef? At least NM_ATT_OSMO_REDUCEPOWER is defined the [?] see my comment https://gerrit.osmocom.org/c/libosmocore/+/19146#message-613e3f74ae329e8cf29b825cd7cac017631dd3f3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 06 Aug 2020 16:41:11 +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 Aug 6 16:41:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:41:20 +0000 Subject: Change in libosmocore[master]: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19146 ) Change subject: gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG ...................................................................... gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG The sysmobts uses the same OML attributes as IP.access. Because the IP.access attribute only supports IPv4 as NSVC configuration, add an own attribute. Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 --- M include/osmocom/gsm/protocol/gsm_12_21.h M src/gsm/abis_nm.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 86d12ea..06755c9 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -511,6 +511,7 @@ /* osmocom (osmo-bts) specific attributes, used in combination * with the "org.osmocom" manufacturer identification */ + NM_ATT_OSMO_NS_LINK_CFG = 0xfd, /* osmocom version supports IPv4 & IPv6 in difference to IPACC */ NM_ATT_OSMO_REDUCEPOWER = 0xfe, /* TLV_TYPE_TV */ }; #define NM_ATT_BS11_FILE_DATA NM_ATT_EVENT_TYPE diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 3fb8f0f..13837d2 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -589,6 +589,7 @@ /*! org.osmocom GSM A-bis OML TLV parser definition */ const struct tlv_definition abis_nm_osmo_att_tlvdef = { .def = { + [NM_ATT_OSMO_NS_LINK_CFG] = { TLV_TYPE_TL16V }, [NM_ATT_OSMO_REDUCEPOWER] = { TLV_TYPE_TV }, }, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic261bc43a07fa741b97a9c6ec5a9ed6f5ecae588 Gerrit-Change-Number: 19146 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus 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 Thu Aug 6 16:41:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:41:21 +0000 Subject: Change in libosmocore[master]: osmo_sock_init2: improve support for AF_UNSPEC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19140 ) Change subject: osmo_sock_init2: improve support for AF_UNSPEC ...................................................................... osmo_sock_init2: improve support for AF_UNSPEC osmo_sock_init2 abstract two calls of getaddrinfo into one. While there aren't problems with AF_INET or AF_INET6. When using AF_UNSPEC there are corner cases when this fails. E.g. calling local_host with "" and remote_host with an IPv6 only address results in setting up a local socket with AF_INET while trying to connect from there towards AF_INET6 will most likely fail. To prevent such cases with AF_UNSPEC, search prio calling any syscalls if local and remote site supports AF_INET or AF_INET6. In case both supported, prefer AF_INET6 Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 4 files changed, 105 insertions(+), 14 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/socket.c b/src/socket.c index 7fa9ab3..9c60821 100644 --- a/src/socket.c +++ b/src/socket.c @@ -260,22 +260,85 @@ const char *local_host, uint16_t local_port, const char *remote_host, uint16_t remote_port, unsigned int flags) { - struct addrinfo *result, *rp; + struct addrinfo *local = NULL, *remote = NULL, *rp; int sfd = -1, rc, on = 1; + bool local_ipv4 = false, local_ipv6 = false; + bool remote_ipv4 = false, remote_ipv6 = false; + if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == 0) { LOGP(DLGLOBAL, LOGL_ERROR, "invalid: you have to specify either " "BIND or CONNECT flags\n"); return -EINVAL; } + /* figure out local address infos */ + if (flags & OSMO_SOCK_F_BIND) { + local = addrinfo_helper(family, type, proto, local_host, local_port, true); + if (!local) + return -EINVAL; + } + + /* figure out remote address infos */ + if (flags & OSMO_SOCK_F_CONNECT) { + remote = addrinfo_helper(family, type, proto, remote_host, remote_port, false); + if (!remote) { + if (local) + freeaddrinfo(local); + + return -EINVAL; + } + } + + /* It must do a full run to ensure AF_UNSPEC does not fail. + * In case first local valid entry is IPv4 and only remote valid entry + * is IPv6 or vice versa */ + if (family == AF_UNSPEC) { + for (rp = local; rp != NULL; rp = rp->ai_next) { + switch (rp->ai_family) { + case AF_INET: + local_ipv4 = true; + break; + case AF_INET6: + local_ipv6 = true; + break; + } + } + + for (rp = remote; rp != NULL; rp = rp->ai_next) { + switch (rp->ai_family) { + case AF_INET: + remote_ipv4 = true; + break; + case AF_INET6: + remote_ipv6 = true; + break; + } + } + + /* priotize ipv6 as per RFC */ + if (local_ipv6 && remote_ipv6) + family = AF_INET6; + else if (local_ipv4 && remote_ipv4) + family = AF_INET; + else { + if (local) + freeaddrinfo(local); + if (remote) + freeaddrinfo(remote); + LOGP(DLGLOBAL, LOGL_ERROR, "Unable to find a common protocol (IPv4 or IPv6) for local host: %s and remote host: %s.\n", + local_host, remote_host); + return -ENODEV; + } + } + /* figure out local side of socket */ if (flags & OSMO_SOCK_F_BIND) { - result = addrinfo_helper(family, type, proto, local_host, local_port, true); - if (!result) - return -EINVAL; + for (rp = local; rp != NULL; rp = rp->ai_next) { + /* When called with AF_UNSPEC, family will set to IPv4 or IPv6 */ + if (rp->ai_family != family) + continue; - for (rp = result; rp != NULL; rp = rp->ai_next) { sfd = socket_helper(rp, flags); if (sfd < 0) continue; @@ -302,8 +365,11 @@ } break; } - freeaddrinfo(result); + + freeaddrinfo(local); if (rp == NULL) { + if (remote) + freeaddrinfo(remote); LOGP(DLGLOBAL, LOGL_ERROR, "no suitable local addr found for: %s:%u\n", local_host, local_port); return -ENODEV; @@ -316,14 +382,11 @@ /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { - result = addrinfo_helper(family, type, proto, remote_host, remote_port, false); - if (!result) { - if (sfd >= 0) - close(sfd); - return -EINVAL; - } + for (rp = remote; rp != NULL; rp = rp->ai_next) { + /* When called with AF_UNSPEC, family will set to IPv4 or IPv6 */ + if (rp->ai_family != family) + continue; - for (rp = result; rp != NULL; rp = rp->ai_next) { if (sfd < 0) { sfd = socket_helper(rp, flags); if (sfd < 0) @@ -343,7 +406,8 @@ } break; } - freeaddrinfo(result); + + freeaddrinfo(remote); if (rp == NULL) { LOGP(DLGLOBAL, LOGL_ERROR, "no suitable remote addr found for: %s:%u\n", remote_host, remote_port); diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index 37e0281..e68243c 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -120,6 +120,27 @@ * FreeBSD 10 or 11 VM at home */ OSMO_ASSERT(!strncmp(name, "(r=127.0.0.1:53<->l=127.0.0.1", 29)); #endif + + printf("Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); + fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "127.0.0.1", 0, "::1", 53, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); + fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "::1", 0, "127.0.0.1", 53, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "127.0.0.1", 0, "127.0.0.1", 53, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6\n"); + fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "::1", 0, "::1", 53, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + talloc_free(name); return 0; diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index ed6e186..0f0f8da 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -1,2 +1,4 @@ invalid: both bind and connect flags set: 0.0.0.0:0 invalid: you have to specify either BIND or CONNECT flags +Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. +Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 4b24fbc..4265be8 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -5,3 +5,7 @@ Checking osmo_sock_init2() for OSMO_SOCK_F_NONBLOCK Checking osmo_sock_init2() for invalid flags Checking osmo_sock_init2() for combined BIND + CONNECT +Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I397c633931fd00d4f083955a3c49a40fb002d766 Gerrit-Change-Number: 19140 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Aug 6 16:41:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:41:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: log expected response in f_cbsp_write In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19433 ) Change subject: bsc CBSP: log expected response in f_cbsp_write ...................................................................... Abandoned loggign was only required during R&D, not now anymore -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I844717b0f665496a842764b3b915ba64249cd617 Gerrit-Change-Number: 19433 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:43:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:43:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19030 ) Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16:43:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:43:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:43:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 ) Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16:43: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 Aug 6 16:43:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:43:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 ) Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16: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 Thu Aug 6 16:44:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:13 +0000 Subject: Change in osmo-bts[master]: pcu_sock: warn about maximum transceiver number constraints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19510 ) Change subject: pcu_sock: warn about maximum transceiver number constraints ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 Gerrit-Change-Number: 19510 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:44:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:44:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:18 +0000 Subject: Change in osmo-bts[master]: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19511 ) Change subject: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b Gerrit-Change-Number: 19511 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16: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 Thu Aug 6 16:44:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:22 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use LOGPTRX() in info_ind_fill_trx() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19512 ) Change subject: pcu_sock: use LOGPTRX() in info_ind_fill_trx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 Gerrit-Change-Number: 19512 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 16:44: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 Aug 6 16:44:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:28 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use a 'switch' statement in ts_should_be_pdch() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19509 ) Change subject: pcu_sock: use a 'switch' statement in ts_should_be_pdch() ...................................................................... pcu_sock: use a 'switch' statement in ts_should_be_pdch() Change-Id: I628c2c5198c52fb82309dfe4a31a59aeebc00f09 --- M src/common/pcu_sock.c 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 8966b31..0125793 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -86,9 +86,10 @@ static bool ts_should_be_pdch(const struct gsm_bts_trx_ts *ts) { - if (ts->pchan == GSM_PCHAN_PDCH) + switch (ts->pchan) { + case GSM_PCHAN_PDCH: return true; - if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) { + case GSM_PCHAN_TCH_F_PDCH: /* When we're busy deactivating the PDCH, we first set * DEACT_PENDING, tell the PCU about it and wait for a * response. So DEACT_PENDING means "no PDCH" to the PCU. @@ -99,16 +100,16 @@ return !(ts->flags & TS_F_PDCH_DEACT_PENDING); else return (ts->flags & TS_F_PDCH_ACT_PENDING); - } - if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + case GSM_PCHAN_TCH_F_TCH_H_PDCH: /* * When we're busy de-/activating the PDCH, we first set * ts->dyn.pchan_want, tell the PCU about it and wait for a * response. So only care about dyn.pchan_want here. */ return ts->dyn.pchan_want == GSM_PCHAN_PDCH; + default: + return false; } - return false; } int pcu_tx_info_ind(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I628c2c5198c52fb82309dfe4a31a59aeebc00f09 Gerrit-Change-Number: 19509 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 Thu Aug 6 16:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:29 +0000 Subject: Change in osmo-bts[master]: pcu_sock: warn about maximum transceiver number constraints In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19510 ) Change subject: pcu_sock: warn about maximum transceiver number constraints ...................................................................... pcu_sock: warn about maximum transceiver number constraints Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 --- M src/common/pcu_sock.c 1 file changed, 15 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 0125793..ca8dd15 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -215,13 +215,17 @@ info_ind->remote_ip[i] = nsvc->remote_ip; } - for (i = 0; i < 8; i++) { - trx = gsm_bts_trx_num(bts, i); - if (!trx) - break; - info_ind->trx[i].pdch_mask = 0; - info_ind->trx[i].arfcn = trx->arfcn; - info_ind->trx[i].hlayer1 = trx_get_hlayer1(trx); + llist_for_each_entry(trx, &bts->trx_list, list) { + if (trx->nr >= ARRAY_SIZE(info_ind->trx)) { + LOGPTRX(trx, DPCU, LOGL_NOTICE, "PCU interface (version %u) " + "cannot handle more than %zu transceivers => skipped\n", + PCU_IF_VERSION, ARRAY_SIZE(info_ind->trx)); + continue; + } + + info_ind->trx[trx->nr].pdch_mask = 0; + info_ind->trx[trx->nr].arfcn = trx->arfcn; + info_ind->trx[trx->nr].hlayer1 = trx_get_hlayer1(trx); if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", @@ -233,14 +237,14 @@ ts = &trx->ts[j]; if (ts->mo.nm_state.operational == NM_OPSTATE_ENABLED && ts_should_be_pdch(ts)) { - info_ind->trx[i].pdch_mask |= (1 << j); - info_ind->trx[i].tsc[j] = gsm_ts_tsc(ts); + info_ind->trx[trx->nr].pdch_mask |= (1 << j); + info_ind->trx[trx->nr].tsc[j] = gsm_ts_tsc(ts); LOGP(DPCU, LOGL_INFO, "trx=%d ts=%d: " "available (tsc=%d arfcn=%d)\n", trx->nr, ts->nr, - info_ind->trx[i].tsc[j], - info_ind->trx[i].arfcn); + info_ind->trx[trx->nr].tsc[j], + info_ind->trx[trx->nr].arfcn); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I600860b12758a73e1bba6d9d508cf67c3d88cf34 Gerrit-Change-Number: 19510 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 Thu Aug 6 16:44:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:30 +0000 Subject: Change in osmo-bts[master]: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19511 ) Change subject: pcu_sock: separate trx / ts filling from pcu_tx_info_ind() ...................................................................... pcu_sock: separate trx / ts filling from pcu_tx_info_ind() This would allow to avoid further nasting in 'for' loops. Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b --- M src/common/pcu_sock.c 1 file changed, 35 insertions(+), 26 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ca8dd15..392900a 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -112,6 +112,39 @@ } } +static void info_ind_fill_trx(struct gsm_pcu_if_info_trx *trx_info, + const struct gsm_bts_trx *trx) +{ + unsigned int tn; + + trx_info->pdch_mask = 0; + trx_info->arfcn = trx->arfcn; + trx_info->hlayer1 = trx_get_hlayer1(trx); + + if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || + trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { + LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", + abis_nm_opstate_name(trx->mo.nm_state.operational), + abis_nm_admin_name(trx->mo.nm_state.administrative)); + return; + } + + for (tn = 0; tn < 8; tn++) { + const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + + if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED) + continue; + if (!ts_should_be_pdch(ts)) + continue; + + trx_info->pdch_mask |= (1 << tn); + trx_info->tsc[tn] = gsm_ts_tsc(ts); + + LOGP(DPCU, LOGL_INFO, "(trx=%u,ts=%u) PDCH available (tsc=%u arfcn=%u)\n", + trx->nr, ts->nr, trx_info->tsc[tn], trx->arfcn); + } +} + int pcu_tx_info_ind(void) { struct gsm_network *net = &bts_gsmnet; @@ -122,8 +155,7 @@ struct gprs_rlc_cfg *rlcc; struct gsm_bts_gprs_nsvc *nsvc; struct gsm_bts_trx *trx; - struct gsm_bts_trx_ts *ts; - int i, j; + int i; LOGP(DPCU, LOGL_INFO, "Sending info\n"); @@ -223,30 +255,7 @@ continue; } - info_ind->trx[trx->nr].pdch_mask = 0; - info_ind->trx[trx->nr].arfcn = trx->arfcn; - info_ind->trx[trx->nr].hlayer1 = trx_get_hlayer1(trx); - if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED || - trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) { - LOGPTRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n", - abis_nm_opstate_name(trx->mo.nm_state.operational), - abis_nm_admin_name(trx->mo.nm_state.administrative)); - continue; - } - for (j = 0; j < 8; j++) { - ts = &trx->ts[j]; - if (ts->mo.nm_state.operational == NM_OPSTATE_ENABLED - && ts_should_be_pdch(ts)) { - info_ind->trx[trx->nr].pdch_mask |= (1 << j); - info_ind->trx[trx->nr].tsc[j] = gsm_ts_tsc(ts); - - LOGP(DPCU, LOGL_INFO, "trx=%d ts=%d: " - "available (tsc=%d arfcn=%d)\n", - trx->nr, ts->nr, - info_ind->trx[trx->nr].tsc[j], - info_ind->trx[trx->nr].arfcn); - } - } + info_ind_fill_trx(&info_ind->trx[trx->nr], trx); } return pcu_sock_send(net, msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idb102c77751ccf77fd246f538e62fd7acf6ee88b Gerrit-Change-Number: 19511 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 Thu Aug 6 16:44:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:44:30 +0000 Subject: Change in osmo-bts[master]: pcu_sock: use LOGPTRX() in info_ind_fill_trx() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19512 ) Change subject: pcu_sock: use LOGPTRX() in info_ind_fill_trx() ...................................................................... pcu_sock: use LOGPTRX() in info_ind_fill_trx() Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 --- M src/common/pcu_sock.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 392900a..53822a2 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -140,8 +140,8 @@ trx_info->pdch_mask |= (1 << tn); trx_info->tsc[tn] = gsm_ts_tsc(ts); - LOGP(DPCU, LOGL_INFO, "(trx=%u,ts=%u) PDCH available (tsc=%u arfcn=%u)\n", - trx->nr, ts->nr, trx_info->tsc[tn], trx->arfcn); + LOGPTRX(trx, DPCU, LOGL_INFO, "PDCH on ts=%u is available " + "(tsc=%u arfcn=%u)\n", ts->nr, trx_info->tsc[tn], trx->arfcn); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I91410b32199780e41e0111b480e7611cdae7e022 Gerrit-Change-Number: 19512 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 Thu Aug 6 16:45:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:45:03 +0000 Subject: Change in osmocom-bb[master]: firmware/fb: Implemtented fb_set_p(uint16_t x, uint16_t y) In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19485 ) Change subject: firmware/fb: Implemtented fb_set_p(uint16_t x,uint16_t y) ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I21e8da1cbf4654b786626b94b197438facef902a Gerrit-Change-Number: 19485 Gerrit-PatchSet: 2 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:45:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:45:39 +0000 Subject: Change in osmocom-bb[master]: Adjusted coding style. In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19489 ) Change subject: Adjusted coding style. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9b5250579290b6eb1e33d446e9fc7d2c082c4002 Gerrit-Change-Number: 19489 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:45:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:45:45 +0000 Subject: Change in osmocom-bb[master]: Initial commit for the game Snake. In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19484 ) Change subject: Initial commit for the game Snake. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6a409074285fda90f966b1727c9c0f068dd050d3 Gerrit-Change-Number: 19484 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:45:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:45:48 +0000 Subject: Change in osmocom-bb[master]: Implemented rand() and automove for snake. In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19487 ) Change subject: Implemented rand() and automove for snake. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94bf887160a4a58423b93fcfd47c92e09404507c Gerrit-Change-Number: 19487 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:45:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:45:53 +0000 Subject: Change in osmocom-bb[master]: Wrote my not yet feature complete implementation of Snake. In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19486 ) Change subject: Wrote my not yet feature complete implementation of Snake. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib146f749b60e5851ba0723546697e09a6a05ae85 Gerrit-Change-Number: 19486 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:46:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:46:03 +0000 Subject: Change in osmocom-bb[master]: If the snake eats itself the score will be decremented. In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19488 ) Change subject: If the snake eats itself the score will be decremented. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I91eaf50c11321ada9ffdc2f692847a13ff3d3e6a Gerrit-Change-Number: 19488 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:47:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:47:37 +0000 Subject: Change in libosmocore[master]: libomsocoding: NEON viterbi acceleration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19372 ) Change subject: libomsocoding: NEON viterbi acceleration ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58ff2cb4ce3514f43390ff0a2121f81e6a4983b5 Gerrit-Change-Number: 19372 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16:47:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:47:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:47:40 +0000 Subject: Change in libosmocore[master]: libomsocoding: NEON viterbi acceleration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19372 ) Change subject: libomsocoding: NEON viterbi acceleration ...................................................................... libomsocoding: NEON viterbi acceleration configure flag required to enable this: --enable-neon Although autodetection according to __ARM_NEON would work because this is only defined if the fpu is neon neon-fp16 neon-vfpv3 neon-vfpv4 neon-fp-armv8 crypto-neon-fp-armv8 doing that would lead to a unknown performance impact, so it needs to be enabled manually. Speedup is about ~1.3-1.5 on a unspecified single core Cortex A9. This requires handling a special case for RACH with len 14 which is far too short for neon and would actually incur a performance penalty of 25%. Related: OS#4585 Change-Id: I58ff2cb4ce3514f43390ff0a2121f81e6a4983b5 --- M configure.ac M src/Makefile.am M src/conv_acc.c A src/conv_acc_neon.c A src/conv_acc_neon_impl.h 5 files changed, 508 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index f69c78d..2397b2f 100644 --- a/configure.ac +++ b/configure.ac @@ -378,6 +378,17 @@ AM_CONDITIONAL(HAVE_SSE4_1, false) fi +AC_ARG_ENABLE(neon, + [AS_HELP_STRING( + [--enable-neon], + [Enable NEON support] + )], + [neon=$enableval], [neon="no"]) +AC_DEFINE(HAVE_NEON,, +[Support ARM NEON instructions]) +AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) + + OSMO_AC_CODE_COVERAGE dnl Check if the compiler supports specified GCC's built-in function diff --git a/src/Makefile.am b/src/Makefile.am index 16119d9..be09784 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -48,6 +48,11 @@ endif endif +if HAVE_NEON +libosmocore_la_SOURCES += conv_acc_neon.c +# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon +endif + BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c EXTRA_DIST = conv_acc_sse_impl.h crcXXgen.c.tpl diff --git a/src/conv_acc.c b/src/conv_acc.c index c16e436..0f6f7ca 100644 --- a/src/conv_acc.c +++ b/src/conv_acc.c @@ -85,6 +85,11 @@ void osmo_conv_sse_avx_vdec_free(int16_t *ptr); #endif +#ifdef HAVE_NEON +int16_t *osmo_conv_neon_vdec_malloc(size_t n); +void osmo_conv_neon_vdec_free(int16_t *ptr); +#endif + /* Forward Metric Units */ void osmo_conv_gen_metrics_k5_n2(const int8_t *seq, const int16_t *out, int16_t *sums, int16_t *paths, int norm); @@ -129,6 +134,21 @@ int16_t *sums, int16_t *paths, int norm); #endif +#if defined(HAVE_NEON) +void osmo_conv_neon_metrics_k5_n2(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +void osmo_conv_neon_metrics_k5_n3(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +void osmo_conv_neon_metrics_k5_n4(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +void osmo_conv_neon_metrics_k7_n2(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +void osmo_conv_neon_metrics_k7_n3(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +void osmo_conv_neon_metrics_k7_n4(const int8_t *seq, const int16_t *out, + int16_t *sums, int16_t *paths, int norm); +#endif + /* Trellis State * state - Internal lshift register value * prev - Register values of previous 0 and 1 states @@ -528,6 +548,12 @@ if (dec->k == 5) { switch (dec->n) { case 2: +/* rach len 14 is too short for neon */ +#ifdef HAVE_NEON + if (code->len < 100) + dec->metric_func = osmo_conv_gen_metrics_k5_n2; + else +#endif dec->metric_func = osmo_conv_metrics_k5_n2; break; case 3: @@ -681,6 +707,8 @@ } else { INIT_POINTERS(gen); } +#elif defined(HAVE_NEON) + INIT_POINTERS(neon); #else INIT_POINTERS(gen); #endif diff --git a/src/conv_acc_neon.c b/src/conv_acc_neon.c new file mode 100644 index 0000000..7244946 --- /dev/null +++ b/src/conv_acc_neon.c @@ -0,0 +1,110 @@ +/*! \file conv_acc_neon.c + * Accelerated Viterbi decoder implementation + * for architectures with only NEON available. */ +/* + * (C) 2020 by sysmocom - s.f.m.c. GmbH + * Author: Eric Wild + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "config.h" + +#if defined(HAVE_NEON) +#include +#endif + +/* align req is 16 on android because google was confused, 8 on sane platforms */ +#define NEON_ALIGN 8 + +#include + +/* Aligned Memory Allocator + * NEON requires 8-byte memory alignment. We store relevant trellis values + * (accumulated sums, outputs, and path decisions) as 16 bit signed integers + * so the allocated memory is casted as such. + */ +__attribute__ ((visibility("hidden"))) +int16_t *osmo_conv_neon_vdec_malloc(size_t n) +{ + return (int16_t *) memalign(NEON_ALIGN, sizeof(int16_t) * n); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_vdec_free(int16_t *ptr) +{ + free(ptr); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k5_n2(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[0], val[1] }; + + _neon_metrics_k5_n2(_val, out, sums, paths, norm); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k5_n3(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[2], 0 }; + + _neon_metrics_k5_n4(_val, out, sums, paths, norm); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k5_n4(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[2], val[3] }; + + _neon_metrics_k5_n4(_val, out, sums, paths, norm); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k7_n2(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[0], val[1] }; + + _neon_metrics_k7_n2(_val, out, sums, paths, norm); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k7_n3(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[2], 0 }; + + _neon_metrics_k7_n4(_val, out, sums, paths, norm); +} + +__attribute__ ((visibility("hidden"))) +void osmo_conv_neon_metrics_k7_n4(const int8_t *val, const int16_t *out, + int16_t *sums, int16_t *paths, int norm) +{ + const int16_t _val[4] = { val[0], val[1], val[2], val[3] }; + + _neon_metrics_k7_n4(_val, out, sums, paths, norm); +} diff --git a/src/conv_acc_neon_impl.h b/src/conv_acc_neon_impl.h new file mode 100644 index 0000000..4471127 --- /dev/null +++ b/src/conv_acc_neon_impl.h @@ -0,0 +1,354 @@ +/*! \file conv_acc_neon_impl.h + * Accelerated Viterbi decoder implementation: + * straight port of SSE to NEON based on Tom Tsous work */ +/* + * (C) 2020 by sysmocom - s.f.m.c. GmbH + * Author: Eric Wild + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* Some distributions (notably Alpine Linux) for some strange reason + * don't have this #define */ +#ifndef __always_inline +#define __always_inline inline __attribute__((always_inline)) +#endif + +#define NEON_BUTTERFLY(M0,M1,M2,M3,M4) \ +{ \ + M3 = vqaddq_s16(M0, M2); \ + M4 = vqsubq_s16(M1, M2); \ + M0 = vqsubq_s16(M0, M2); \ + M1 = vqaddq_s16(M1, M2); \ + M2 = vmaxq_s16(M3, M4); \ + M3 = vreinterpretq_s16_u16(vcgtq_s16(M3, M4)); \ + M4 = vmaxq_s16(M0, M1); \ + M1 = vreinterpretq_s16_u16(vcgtq_s16(M0, M1)); \ +} + +#define NEON_DEINTERLEAVE_K5(M0,M1,M2,M3) \ +{ \ + int16x8x2_t tmp; \ + tmp = vuzpq_s16(M0, M1); \ + M2 = tmp.val[0]; \ + M3 = tmp.val[1]; \ +} + +#define NEON_DEINTERLEAVE_K7(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15) \ +{ \ + int16x8x2_t tmp; \ + tmp = vuzpq_s16(M0, M1); \ + M8 = tmp.val[0]; M9 = tmp.val[1]; \ + tmp = vuzpq_s16(M2, M3); \ + M10 = tmp.val[0]; M11 = tmp.val[1]; \ + tmp = vuzpq_s16(M4, M5); \ + M12 = tmp.val[0]; M13 = tmp.val[1]; \ + tmp = vuzpq_s16(M6, M7); \ + M14 = tmp.val[0]; M15 = tmp.val[1]; \ +} + +#define NEON_BRANCH_METRIC_N2(M0,M1,M2,M3,M4,M6,M7) \ +{ \ + M0 = vmulq_s16(M4, M0); \ + M1 = vmulq_s16(M4, M1); \ + M2 = vmulq_s16(M4, M2); \ + M3 = vmulq_s16(M4, M3); \ + M6 = vcombine_s16(vpadd_s16(vget_low_s16(M0), vget_high_s16(M0)), vpadd_s16(vget_low_s16(M1), vget_high_s16(M1))); \ + M7 = vcombine_s16(vpadd_s16(vget_low_s16(M2), vget_high_s16(M2)), vpadd_s16(vget_low_s16(M3), vget_high_s16(M3))); \ +} + +#define NEON_BRANCH_METRIC_N4(M0,M1,M2,M3,M4,M5) \ +{ \ + M0 = vmulq_s16(M4, M0); \ + M1 = vmulq_s16(M4, M1); \ + M2 = vmulq_s16(M4, M2); \ + M3 = vmulq_s16(M4, M3); \ + int16x4_t t1 = vpadd_s16(vpadd_s16(vget_low_s16(M0), vget_high_s16(M0)), vpadd_s16(vget_low_s16(M1), vget_high_s16(M1))); \ + int16x4_t t2 = vpadd_s16(vpadd_s16(vget_low_s16(M2), vget_high_s16(M2)), vpadd_s16(vget_low_s16(M3), vget_high_s16(M3))); \ + M5 = vcombine_s16(t1, t2); \ +} + +#define NEON_NORMALIZE_K5(M0,M1,M2,M3) \ +{ \ + M2 = vminq_s16(M0, M1); \ + int16x4_t t = vpmin_s16(vget_low_s16(M2), vget_high_s16(M2)); \ + t = vpmin_s16(t, t); \ + t = vpmin_s16(t, t); \ + M2 = vdupq_lane_s16(t, 0); \ + M0 = vqsubq_s16(M0, M2); \ + M1 = vqsubq_s16(M1, M2); \ +} + +#define NEON_NORMALIZE_K7(M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11) \ +{ \ + M8 = vminq_s16(M0, M1); \ + M9 = vminq_s16(M2, M3); \ + M10 = vminq_s16(M4, M5); \ + M11 = vminq_s16(M6, M7); \ + M8 = vminq_s16(M8, M9); \ + M10 = vminq_s16(M10, M11); \ + M8 = vminq_s16(M8, M10); \ + int16x4_t t = vpmin_s16(vget_low_s16(M8), vget_high_s16(M8)); \ + t = vpmin_s16(t, t); \ + t = vpmin_s16(t, t); \ + M8 = vdupq_lane_s16(t, 0); \ + M0 = vqsubq_s16(M0, M8); \ + M1 = vqsubq_s16(M1, M8); \ + M2 = vqsubq_s16(M2, M8); \ + M3 = vqsubq_s16(M3, M8); \ + M4 = vqsubq_s16(M4, M8); \ + M5 = vqsubq_s16(M5, M8); \ + M6 = vqsubq_s16(M6, M8); \ + M7 = vqsubq_s16(M7, M8); \ +} + +__always_inline void _neon_metrics_k5_n2(const int16_t *val, const int16_t *outa, int16_t *sumsa, int16_t *paths, + int norm) +{ + int16_t *__restrict out = __builtin_assume_aligned(outa, 8); + int16_t *__restrict sums = __builtin_assume_aligned(sumsa, 8); + int16x8_t m0, m1, m2, m3, m4, m5, m6; + int16x4_t input; + + /* (BMU) Load and expand 8-bit input out to 16-bits */ + input = vld1_s16(val); + m2 = vcombine_s16(input, input); + + /* (BMU) Load and compute branch metrics */ + m0 = vld1q_s16(&out[0]); + m1 = vld1q_s16(&out[8]); + + m0 = vmulq_s16(m2, m0); + m1 = vmulq_s16(m2, m1); + m2 = vcombine_s16(vpadd_s16(vget_low_s16(m0), vget_high_s16(m0)), + vpadd_s16(vget_low_s16(m1), vget_high_s16(m1))); + + /* (PMU) Load accumulated path matrics */ + m0 = vld1q_s16(&sums[0]); + m1 = vld1q_s16(&sums[8]); + + NEON_DEINTERLEAVE_K5(m0, m1, m3, m4) + + /* (PMU) Butterflies: 0-7 */ + NEON_BUTTERFLY(m3, m4, m2, m5, m6) + + if (norm) + NEON_NORMALIZE_K5(m2, m6, m0, m1) + + vst1q_s16(&sums[0], m2); + vst1q_s16(&sums[8], m6); + vst1q_s16(&paths[0], m5); + vst1q_s16(&paths[8], m4); +} + +__always_inline void _neon_metrics_k5_n4(const int16_t *val, const int16_t *outa, int16_t *sumsa, int16_t *paths, + int norm) +{ + int16_t *__restrict out = __builtin_assume_aligned(outa, 8); + int16_t *__restrict sums = __builtin_assume_aligned(sumsa, 8); + int16x8_t m0, m1, m2, m3, m4, m5, m6; + int16x4_t input; + + /* (BMU) Load and expand 8-bit input out to 16-bits */ + input = vld1_s16(val); + m4 = vcombine_s16(input, input); + + /* (BMU) Load and compute branch metrics */ + m0 = vld1q_s16(&out[0]); + m1 = vld1q_s16(&out[8]); + m2 = vld1q_s16(&out[16]); + m3 = vld1q_s16(&out[24]); + + NEON_BRANCH_METRIC_N4(m0, m1, m2, m3, m4, m2) + + /* (PMU) Load accumulated path matrics */ + m0 = vld1q_s16(&sums[0]); + m1 = vld1q_s16(&sums[8]); + + NEON_DEINTERLEAVE_K5(m0, m1, m3, m4) + + /* (PMU) Butterflies: 0-7 */ + NEON_BUTTERFLY(m3, m4, m2, m5, m6) + + if (norm) + NEON_NORMALIZE_K5(m2, m6, m0, m1) + + vst1q_s16(&sums[0], m2); + vst1q_s16(&sums[8], m6); + vst1q_s16(&paths[0], m5); + vst1q_s16(&paths[8], m4); +} + +__always_inline static void _neon_metrics_k7_n2(const int16_t *val, const int16_t *outa, int16_t *sumsa, int16_t *paths, + int norm) +{ + int16_t *__restrict out = __builtin_assume_aligned(outa, 8); + int16_t *__restrict sums = __builtin_assume_aligned(sumsa, 8); + int16x8_t m0, m1, m2, m3, m4, m5, m6, m7; + int16x8_t m8, m9, m10, m11, m12, m13, m14, m15; + int16x4_t input; + + /* (PMU) Load accumulated path matrics */ + m0 = vld1q_s16(&sums[0]); + m1 = vld1q_s16(&sums[8]); + m2 = vld1q_s16(&sums[16]); + m3 = vld1q_s16(&sums[24]); + m4 = vld1q_s16(&sums[32]); + m5 = vld1q_s16(&sums[40]); + m6 = vld1q_s16(&sums[48]); + m7 = vld1q_s16(&sums[56]); + + /* (PMU) Deinterleave into even and odd packed registers */ + NEON_DEINTERLEAVE_K7(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15) + + /* (BMU) Load and expand 8-bit input out to 16-bits */ + input = vld1_s16(val); + m7 = vcombine_s16(input, input); + + /* (BMU) Load and compute branch metrics */ + m0 = vld1q_s16(&out[0]); + m1 = vld1q_s16(&out[8]); + m2 = vld1q_s16(&out[16]); + m3 = vld1q_s16(&out[24]); + + NEON_BRANCH_METRIC_N2(m0, m1, m2, m3, m7, m4, m5) + + m0 = vld1q_s16(&out[32]); + m1 = vld1q_s16(&out[40]); + m2 = vld1q_s16(&out[48]); + m3 = vld1q_s16(&out[56]); + + NEON_BRANCH_METRIC_N2(m0, m1, m2, m3, m7, m6, m7) + + /* (PMU) Butterflies: 0-15 */ + NEON_BUTTERFLY(m8, m9, m4, m0, m1) + NEON_BUTTERFLY(m10, m11, m5, m2, m3) + + vst1q_s16(&paths[0], m0); + vst1q_s16(&paths[8], m2); + vst1q_s16(&paths[32], m9); + vst1q_s16(&paths[40], m11); + + /* (PMU) Butterflies: 17-31 */ + NEON_BUTTERFLY(m12, m13, m6, m0, m2) + NEON_BUTTERFLY(m14, m15, m7, m9, m11) + + vst1q_s16(&paths[16], m0); + vst1q_s16(&paths[24], m9); + vst1q_s16(&paths[48], m13); + vst1q_s16(&paths[56], m15); + + if (norm) + NEON_NORMALIZE_K7(m4, m1, m5, m3, m6, m2, m7, m11, m0, m8, m9, m10) + + vst1q_s16(&sums[0], m4); + vst1q_s16(&sums[8], m5); + vst1q_s16(&sums[16], m6); + vst1q_s16(&sums[24], m7); + vst1q_s16(&sums[32], m1); + vst1q_s16(&sums[40], m3); + vst1q_s16(&sums[48], m2); + vst1q_s16(&sums[56], m11); +} + +__always_inline static void _neon_metrics_k7_n4(const int16_t *val, const int16_t *outa, int16_t *sumsa, int16_t *paths, + int norm) +{ + int16_t *__restrict out = __builtin_assume_aligned(outa, 8); + int16_t *__restrict sums = __builtin_assume_aligned(sumsa, 8); + int16x8_t m0, m1, m2, m3, m4, m5, m6, m7; + int16x8_t m8, m9, m10, m11, m12, m13, m14, m15; + int16x4_t input; + + /* (PMU) Load accumulated path matrics */ + m0 = vld1q_s16(&sums[0]); + m1 = vld1q_s16(&sums[8]); + m2 = vld1q_s16(&sums[16]); + m3 = vld1q_s16(&sums[24]); + m4 = vld1q_s16(&sums[32]); + m5 = vld1q_s16(&sums[40]); + m6 = vld1q_s16(&sums[48]); + m7 = vld1q_s16(&sums[56]); + + /* (PMU) Deinterleave into even and odd packed registers */ + NEON_DEINTERLEAVE_K7(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15) + + /* (BMU) Load and expand 8-bit input out to 16-bits */ + input = vld1_s16(val); + m7 = vcombine_s16(input, input); + + /* (BMU) Load and compute branch metrics */ + m0 = vld1q_s16(&out[0]); + m1 = vld1q_s16(&out[8]); + m2 = vld1q_s16(&out[16]); + m3 = vld1q_s16(&out[24]); + + NEON_BRANCH_METRIC_N4(m0, m1, m2, m3, m7, m4) + + m0 = vld1q_s16(&out[32]); + m1 = vld1q_s16(&out[40]); + m2 = vld1q_s16(&out[48]); + m3 = vld1q_s16(&out[56]); + + NEON_BRANCH_METRIC_N4(m0, m1, m2, m3, m7, m5) + + m0 = vld1q_s16(&out[64]); + m1 = vld1q_s16(&out[72]); + m2 = vld1q_s16(&out[80]); + m3 = vld1q_s16(&out[88]); + + NEON_BRANCH_METRIC_N4(m0, m1, m2, m3, m7, m6) + + m0 = vld1q_s16(&out[96]); + m1 = vld1q_s16(&out[104]); + m2 = vld1q_s16(&out[112]); + m3 = vld1q_s16(&out[120]); + + NEON_BRANCH_METRIC_N4(m0, m1, m2, m3, m7, m7) + + /* (PMU) Butterflies: 0-15 */ + NEON_BUTTERFLY(m8, m9, m4, m0, m1) + NEON_BUTTERFLY(m10, m11, m5, m2, m3) + + vst1q_s16(&paths[0], m0); + vst1q_s16(&paths[8], m2); + vst1q_s16(&paths[32], m9); + vst1q_s16(&paths[40], m11); + + /* (PMU) Butterflies: 17-31 */ + NEON_BUTTERFLY(m12, m13, m6, m0, m2) + NEON_BUTTERFLY(m14, m15, m7, m9, m11) + + vst1q_s16(&paths[16], m0); + vst1q_s16(&paths[24], m9); + vst1q_s16(&paths[48], m13); + vst1q_s16(&paths[56], m15); + + if (norm) + NEON_NORMALIZE_K7(m4, m1, m5, m3, m6, m2, m7, m11, m0, m8, m9, m10) + + vst1q_s16(&sums[0], m4); + vst1q_s16(&sums[8], m5); + vst1q_s16(&sums[16], m6); + vst1q_s16(&sums[24], m7); + vst1q_s16(&sums[32], m1); + vst1q_s16(&sums[40], m3); + vst1q_s16(&sums[48], m2); + vst1q_s16(&sums[56], m11); +} -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58ff2cb4ce3514f43390ff0a2121f81e6a4983b5 Gerrit-Change-Number: 19372 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 16:48:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:48:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp/STP_Test.cfg: Add M3UA and IPA tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19113 ) Change subject: stp/STP_Test.cfg: Add M3UA and IPA tests ...................................................................... stp/STP_Test.cfg: Add M3UA and IPA tests Change-Id: Ib8a874d842854cd919edbc1929352fcc3fc1ad97 --- M stp/STP_Tests.cfg 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/stp/STP_Tests.cfg b/stp/STP_Tests.cfg index 3ba2d13..945ef8f 100644 --- a/stp/STP_Tests.cfg +++ b/stp/STP_Tests.cfg @@ -15,4 +15,6 @@ [MAIN_CONTROLLER] [EXECUTE] +STP_Tests_M3UA.control +STP_Tests_IPA.control STP_Tests.control -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib8a874d842854cd919edbc1929352fcc3fc1ad97 Gerrit-Change-Number: 19113 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 Thu Aug 6 16:49:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:49:14 +0000 Subject: Change in osmo-pcu[master]: encoding: assert() presence of Downlink TBF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19310 ) Change subject: encoding: assert() presence of Downlink TBF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6e46ba42650f0db2399649b536a1d2b3f0fcbf04 Gerrit-Change-Number: 19310 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 16:49: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 Aug 6 16:49:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 16:49:21 +0000 Subject: Change in osmo-pcu[master]: encoding: assert() presence of Downlink TBF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19310 ) Change subject: encoding: assert() presence of Downlink TBF ...................................................................... encoding: assert() presence of Downlink TBF This is not something that should normally happen. If it happens, then it's definitely a bug, and we should not tolerate it. Change-Id: I6e46ba42650f0db2399649b536a1d2b3f0fcbf04 --- M src/encoding.cpp 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index 2564575..9dfd7c9 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -494,10 +494,7 @@ /* 3GPP TS 44.018 ?10.5.2.16 IA Rest Octets */ dest->cur_bit = wp; if (downlink) { - if (!as_dl_tbf(tbf)) { - LOGP(DRLCMACDL, LOGL_ERROR, "Cannot encode DL IMMEDIATE ASSIGNMENT without TBF\n"); - return -EINVAL; - } + OSMO_ASSERT(as_dl_tbf(tbf) != NULL); rc = write_ia_rest_downlink(as_dl_tbf(tbf), dest, polling, gsm48_ta_is_valid(ta), fn, alpha, gamma, ta_idx); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6e46ba42650f0db2399649b536a1d2b3f0fcbf04 Gerrit-Change-Number: 19310 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 17:33:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 17:33:33 +0000 Subject: Change in osmo-pcu[master]: encoding: assert() presence of Downlink TBF In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19310 ) Change subject: encoding: assert() presence of Downlink TBF ...................................................................... Patch Set 1: (1 comment) Sorry for late reply, somehow I missed these comments. Given that this is not supposed to happen, logging is not really important in this case. I really like the idea of sending crash indications over GSMTAP though. https://gerrit.osmocom.org/c/osmo-pcu/+/19310/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19310/1/src/encoding.cpp at 497 PS1, Line 497: OSMO_ASSERT(as_dl_tbf(tbf) != NULL); > UNRELATED: maybe we should make sure that osmo_panic_default() sends a GSMTAP packet, if gsmtap logg [?] Indeed, this is an interesting idea. Especially if this "crash indication" would additionally contain the backtrace. We should definitely create a ticket. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6e46ba42650f0db2399649b536a1d2b3f0fcbf04 Gerrit-Change-Number: 19310 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 Aug 2020 17:33:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 17:55:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 17:55:38 +0000 Subject: Change in libosmocore[master]: gsm_412 Cell Broadcast In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/11410 ) Change subject: gsm_412 Cell Broadcast ...................................................................... Patch Set 9: Code-Review-1 (5 comments) CR-1 due to LE specific field order. https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h File include/osmocom/gsm/protocol/gsm_04_12.h: https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h at 48 PS9, Line 48: ?? What should be here? https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h at 56 PS9, Line 56: gsm412_warning_type This is only valid for little endian, please run 'libosmocore/contrib/struct_endianess.py'. https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h at 84 PS9, Line 84: gsm412_9_serial_nr Same here. https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h at 91 PS9, Line 91: gsm412_9_page_param And here. https://gerrit.osmocom.org/c/libosmocore/+/11410/9/include/osmocom/gsm/protocol/gsm_04_12.h at 114 PS9, Line 114: struct gsm412_ A missing structure or TODO? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/11410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1a17c2ae8bf62150327956c10cb5bb896939e3fd Gerrit-Change-Number: 11410 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 17:55:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 20:42:29 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Thu, 6 Aug 2020 20:42:29 +0000 Subject: Change in osmocom-bb[master]: firmware/makefile: Add GIT_SHORTHASH References: Message-ID: roox has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19542 ) Change subject: firmware/makefile: Add GIT_SHORTHASH ...................................................................... firmware/makefile: Add GIT_SHORTHASH GIT_SHORTHASH is used by the recently introduced snake game. Change-Id: I837e3dcc5c44e64ca7f6c243c08981ed01f35dd1 --- M src/target/firmware/Makefile.inc 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/42/19542/1 diff --git a/src/target/firmware/Makefile.inc b/src/target/firmware/Makefile.inc index a91cf4f..2be240d 100644 --- a/src/target/firmware/Makefile.inc +++ b/src/target/firmware/Makefile.inc @@ -39,6 +39,7 @@ #### GIT VERSION #### GIT_COMMIT:=$(shell git describe --always) +GIT_SHORTHASH:=$(shell git rev-parse --short HEAD) GIT_MODIFIED:=$(shell (git status | grep "modified:\|added:\|deleted:" -q) && echo "-modified") GIT_REVISION:=$(GIT_COMMIT)$(GIT_MODIFIED) @@ -46,6 +47,9 @@ ASFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" CFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" +ASFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" +CFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" + #### GLOBAL DATA #### ALL_OBJS= -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I837e3dcc5c44e64ca7f6c243c08981ed01f35dd1 Gerrit-Change-Number: 19542 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 21:02:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 21:02:49 +0000 Subject: Change in libosmocore[master]: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19543 ) Change subject: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST ...................................................................... src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST Change-Id: I641c25f8aec249df43c781debfc967f07e221b9d --- M src/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/19543/1 diff --git a/src/Makefile.am b/src/Makefile.am index be09784..c2847ec 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,7 +54,7 @@ endif BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c -EXTRA_DIST = conv_acc_sse_impl.h crcXXgen.c.tpl +EXTRA_DIST = conv_acc_sse_impl.h conv_acc_neon_impl.h crcXXgen.c.tpl libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I641c25f8aec249df43c781debfc967f07e221b9d Gerrit-Change-Number: 19543 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 Aug 6 21:02:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 21:02:50 +0000 Subject: Change in libosmocore[master]: configure.ac: clarify description of --enable-neon References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19544 ) Change subject: configure.ac: clarify description of --enable-neon ...................................................................... configure.ac: clarify description of --enable-neon Change-Id: Id261dcf396f19a385203ae5f339cc5570efa4aab --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/19544/1 diff --git a/configure.ac b/configure.ac index 2397b2f..cc8d3a7 100644 --- a/configure.ac +++ b/configure.ac @@ -381,7 +381,7 @@ AC_ARG_ENABLE(neon, [AS_HELP_STRING( [--enable-neon], - [Enable NEON support] + [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) AC_DEFINE(HAVE_NEON,, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id261dcf396f19a385203ae5f339cc5570efa4aab Gerrit-Change-Number: 19544 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 Aug 6 21:02:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 21:02:51 +0000 Subject: Change in libosmocore[master]: configure.ac: fix: do not define HAVE_NEON unconditionally References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19545 ) Change subject: configure.ac: fix: do not define HAVE_NEON unconditionally ...................................................................... configure.ac: fix: do not define HAVE_NEON unconditionally Change-Id: I761a7afaeda9d232ac26edff47949e911f8f1f0c --- M configure.ac 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/19545/1 diff --git a/configure.ac b/configure.ac index cc8d3a7..d249be9 100644 --- a/configure.ac +++ b/configure.ac @@ -384,8 +384,6 @@ [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) -AC_DEFINE(HAVE_NEON,, -[Support ARM NEON instructions]) AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I761a7afaeda9d232ac26edff47949e911f8f1f0c Gerrit-Change-Number: 19545 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 Aug 6 21:02:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 6 Aug 2020 21:02:52 +0000 Subject: Change in libosmocore[master]: configure.ac: print ARM NEON instructions support status References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19546 ) Change subject: configure.ac: print ARM NEON instructions support status ...................................................................... configure.ac: print ARM NEON instructions support status Change-Id: I0e8910d6cf337a95d6b4295f5c425d2d4cfa2b41 --- M configure.ac 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/19546/1 diff --git a/configure.ac b/configure.ac index d249be9..fbdcb57 100644 --- a/configure.ac +++ b/configure.ac @@ -384,6 +384,8 @@ [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) +AC_MSG_CHECKING([whether to enable ARM NEON instructions support]) +AC_MSG_RESULT([$neon]) AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0e8910d6cf337a95d6b4295f5c425d2d4cfa2b41 Gerrit-Change-Number: 19546 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 Aug 6 21:11:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:11:47 +0000 Subject: Change in libosmocore[master]: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19543 ) Change subject: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I641c25f8aec249df43c781debfc967f07e221b9d Gerrit-Change-Number: 19543 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 21: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 Thu Aug 6 21:11:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:11:59 +0000 Subject: Change in libosmocore[master]: configure.ac: clarify description of --enable-neon In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19544 ) Change subject: configure.ac: clarify description of --enable-neon ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id261dcf396f19a385203ae5f339cc5570efa4aab Gerrit-Change-Number: 19544 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 21:11:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 21:12:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:13 +0000 Subject: Change in libosmocore[master]: configure.ac: fix: do not define HAVE_NEON unconditionally In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19545 ) Change subject: configure.ac: fix: do not define HAVE_NEON unconditionally ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I761a7afaeda9d232ac26edff47949e911f8f1f0c Gerrit-Change-Number: 19545 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 21:12:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 6 21:12:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:31 +0000 Subject: Change in libosmocore[master]: configure.ac: print ARM NEON instructions support status In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19546 ) Change subject: configure.ac: print ARM NEON instructions support status ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0e8910d6cf337a95d6b4295f5c425d2d4cfa2b41 Gerrit-Change-Number: 19546 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 21:12: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 Aug 6 21:12:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:33 +0000 Subject: Change in libosmocore[master]: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19543 ) Change subject: src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST ...................................................................... src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST Change-Id: I641c25f8aec249df43c781debfc967f07e221b9d --- M src/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index be09784..c2847ec 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,7 +54,7 @@ endif BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c -EXTRA_DIST = conv_acc_sse_impl.h crcXXgen.c.tpl +EXTRA_DIST = conv_acc_sse_impl.h conv_acc_neon_impl.h crcXXgen.c.tpl libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I641c25f8aec249df43c781debfc967f07e221b9d Gerrit-Change-Number: 19543 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 Thu Aug 6 21:12:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:33 +0000 Subject: Change in libosmocore[master]: configure.ac: clarify description of --enable-neon In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19544 ) Change subject: configure.ac: clarify description of --enable-neon ...................................................................... configure.ac: clarify description of --enable-neon Change-Id: Id261dcf396f19a385203ae5f339cc5570efa4aab --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 2397b2f..cc8d3a7 100644 --- a/configure.ac +++ b/configure.ac @@ -381,7 +381,7 @@ AC_ARG_ENABLE(neon, [AS_HELP_STRING( [--enable-neon], - [Enable NEON support] + [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) AC_DEFINE(HAVE_NEON,, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id261dcf396f19a385203ae5f339cc5570efa4aab Gerrit-Change-Number: 19544 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 Thu Aug 6 21:12:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:34 +0000 Subject: Change in libosmocore[master]: configure.ac: fix: do not define HAVE_NEON unconditionally In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19545 ) Change subject: configure.ac: fix: do not define HAVE_NEON unconditionally ...................................................................... configure.ac: fix: do not define HAVE_NEON unconditionally Change-Id: I761a7afaeda9d232ac26edff47949e911f8f1f0c --- M configure.ac 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index cc8d3a7..d249be9 100644 --- a/configure.ac +++ b/configure.ac @@ -384,8 +384,6 @@ [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) -AC_DEFINE(HAVE_NEON,, -[Support ARM NEON instructions]) AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I761a7afaeda9d232ac26edff47949e911f8f1f0c Gerrit-Change-Number: 19545 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 Thu Aug 6 21:12:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:12:34 +0000 Subject: Change in libosmocore[master]: configure.ac: print ARM NEON instructions support status In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19546 ) Change subject: configure.ac: print ARM NEON instructions support status ...................................................................... configure.ac: print ARM NEON instructions support status Change-Id: I0e8910d6cf337a95d6b4295f5c425d2d4cfa2b41 --- M configure.ac 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index d249be9..fbdcb57 100644 --- a/configure.ac +++ b/configure.ac @@ -384,6 +384,8 @@ [Enable ARM NEON instructions support [default=no]] )], [neon=$enableval], [neon="no"]) +AC_MSG_CHECKING([whether to enable ARM NEON instructions support]) +AC_MSG_RESULT([$neon]) AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0e8910d6cf337a95d6b4295f5c425d2d4cfa2b41 Gerrit-Change-Number: 19546 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 Thu Aug 6 21:13:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:13:14 +0000 Subject: Change in osmocom-bb[master]: firmware/makefile: Add GIT_SHORTHASH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19542 ) Change subject: firmware/makefile: Add GIT_SHORTHASH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I837e3dcc5c44e64ca7f6c243c08981ed01f35dd1 Gerrit-Change-Number: 19542 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Aug 2020 21:13: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 Aug 6 21:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Aug 2020 21:13:17 +0000 Subject: Change in osmocom-bb[master]: firmware/makefile: Add GIT_SHORTHASH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19542 ) Change subject: firmware/makefile: Add GIT_SHORTHASH ...................................................................... firmware/makefile: Add GIT_SHORTHASH GIT_SHORTHASH is used by the recently introduced snake game. Change-Id: I837e3dcc5c44e64ca7f6c243c08981ed01f35dd1 --- M src/target/firmware/Makefile.inc 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/target/firmware/Makefile.inc b/src/target/firmware/Makefile.inc index a91cf4f..2be240d 100644 --- a/src/target/firmware/Makefile.inc +++ b/src/target/firmware/Makefile.inc @@ -39,6 +39,7 @@ #### GIT VERSION #### GIT_COMMIT:=$(shell git describe --always) +GIT_SHORTHASH:=$(shell git rev-parse --short HEAD) GIT_MODIFIED:=$(shell (git status | grep "modified:\|added:\|deleted:" -q) && echo "-modified") GIT_REVISION:=$(GIT_COMMIT)$(GIT_MODIFIED) @@ -46,6 +47,9 @@ ASFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" CFLAGS += -DGIT_REVISION=\"$(GIT_REVISION)\" +ASFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" +CFLAGS += -DGIT_SHORTHASH=\"$(GIT_SHORTHASH)\" + #### GLOBAL DATA #### ALL_OBJS= -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I837e3dcc5c44e64ca7f6c243c08981ed01f35dd1 Gerrit-Change-Number: 19542 Gerrit-PatchSet: 1 Gerrit-Owner: roox Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 7 01:39:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:39:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f2cb0ce79551_65e2aadc67b45f04685fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 83s] [COMPILING libboard/qmod/source/i2c.c] [ 83s] [COMPILING libboard/qmod/source/board_qmod.c] [ 84s] [COMPILING apps/dfu/main.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 84s] [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: 16584 B 16 KB 101.22% [ 84s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 84s] collect2: error: ld returned 1 exit status [ 84s] % [ 84s] Makefile:234: recipe for target 'flash' failed [ 84s] make[2]: *** [flash] Error 1 [ 84s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 84s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 84s] make[1]: *** [fw-qmod-dfu] Error 2 [ 84s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 84s] dh_auto_build: make -j1 returned exit code 2 [ 84s] debian/rules:16: recipe for target 'build' failed [ 84s] make: *** [build] Error 2 [ 84s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 84s] ### VM INTERACTION START ### [ 87s] [ 81.691415] sysrq: Power Off [ 87s] [ 81.696735] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] sheep87 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:38:58 UTC 2020. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:39:22 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:39:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f2cb0cfc60b4_65e2aadc67b45f04686f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 177s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 177s] [COMPILING libboard/qmod/source/card_pres.c] [ 177s] [COMPILING libboard/qmod/source/wwan_led.c] [ 177s] [COMPILING libboard/qmod/source/i2c.c] [ 177s] [COMPILING libboard/qmod/source/board_qmod.c] [ 178s] [COMPILING apps/dfu/main.c] [ 178s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 178s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 178s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 179s] Memory region Used Size Region Size %age Used [ 179s] rom: 16504 B 16 KB 100.73% [ 179s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 179s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 179s] collect2: error: ld returned 1 exit status [ 179s] % [ 179s] make[2]: *** [Makefile:234: flash] Error 1 [ 179s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 179s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 179s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 179s] dh_auto_build: make -j1 returned exit code 2 [ 179s] make: *** [debian/rules:16: build] Error 2 [ 179s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 179s] ### VM INTERACTION START ### [ 182s] [ 169.981246] sysrq: Power Off [ 182s] [ 169.982805] reboot: Power down [ 182s] ### VM INTERACTION END ### [ 182s] [ 182s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:39:10 UTC 2020. [ 182s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:41:22 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:41:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f2cb1457446c_65e2aadc67b45f04692b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 271s] [COMPILING libboard/qmod/source/i2c.c] [ 271s] [COMPILING libboard/qmod/source/board_qmod.c] [ 272s] [COMPILING apps/dfu/main.c] [ 272s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 272s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 273s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 273s] Memory region Used Size Region Size %age Used [ 273s] rom: 16584 B 16 KB 101.22% [ 273s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 273s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 273s] collect2: error: ld returned 1 exit status [ 273s] % [ 273s] Makefile:234: recipe for target 'flash' failed [ 273s] make[2]: *** [flash] Error 1 [ 273s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 273s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 273s] make[1]: *** [fw-qmod-dfu] Error 2 [ 273s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 273s] dh_auto_build: make -j1 returned exit code 2 [ 273s] debian/rules:16: recipe for target 'build' failed [ 273s] make: *** [build] Error 2 [ 273s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 273s] ### VM INTERACTION START ### [ 277s] [ 253.580854] sysrq: Power Off [ 277s] [ 253.584836] reboot: Power down [ 277s] ### VM INTERACTION END ### [ 277s] [ 277s] obs-arm-3 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:41:08 UTC 2020. [ 277s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:47:22 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:47:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f2cb2cc7e6da_65e2aadc67b45f047079f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 433s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 433s] [COMPILING libboard/qmod/source/card_pres.c] [ 433s] [COMPILING libboard/qmod/source/wwan_led.c] [ 434s] [COMPILING libboard/qmod/source/i2c.c] [ 434s] [COMPILING libboard/qmod/source/board_qmod.c] [ 434s] [COMPILING apps/dfu/main.c] [ 434s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 435s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 435s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 435s] Memory region Used Size Region Size %age Used [ 435s] rom: 16576 B 16 KB 101.17% [ 435s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 435s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 435s] collect2: error: ld returned 1 exit status [ 435s] % [ 435s] make[2]: *** [Makefile:234: flash] Error 1 [ 435s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 435s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 435s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 435s] dh_auto_build: make -j1 returned exit code 2 [ 435s] make: *** [debian/rules:16: build] Error 2 [ 435s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 435s] ### VM INTERACTION START ### [ 438s] [ 419.256470] sysrq: Power Off [ 438s] [ 419.278207] reboot: Power down [ 439s] ### VM INTERACTION END ### [ 439s] [ 439s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:47:06 UTC 2020. [ 439s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:49:39 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:49:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f2cb347ba1ec_65e2aadc67b45f04715b1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 132s] [COMPILING libboard/qmod/source/i2c.c] [ 132s] [COMPILING libboard/qmod/source/board_qmod.c] [ 132s] [COMPILING apps/dfu/main.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 133s] Memory region Used Size Region Size %age Used [ 133s] rom: 16584 B 16 KB 101.22% [ 133s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 133s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 133s] collect2: error: ld returned 1 exit status [ 133s] % [ 133s] Makefile:234: recipe for target 'flash' failed [ 133s] make[2]: *** [flash] Error 1 [ 133s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 133s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 133s] make[1]: *** [fw-qmod-dfu] Error 2 [ 133s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 133s] dh_auto_build: make -j1 returned exit code 2 [ 133s] debian/rules:16: recipe for target 'build' failed [ 133s] make: *** [build] Error 2 [ 133s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 133s] ### VM INTERACTION START ### [ 136s] [ 124.253220] sysrq: Power Off [ 136s] [ 124.256319] reboot: Power down [ 136s] ### VM INTERACTION END ### [ 136s] [ 136s] build79 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:49:29 UTC 2020. [ 136s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:51:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:51:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2cb39b7f5c1_65e2aadc67b45f04719de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 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: 16464 B 16 KB 100.49% [ 87s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 87s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 87s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 87s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 87s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 87s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 87s] collect2: error: ld returned 1 exit status [ 87s] % [ 87s] make[2]: *** [Makefile:234: 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] [ 84.619999] sysrq: Power Off [ 90s] [ 84.626208] reboot: Power down [ 90s] ### VM INTERACTION END ### [ 90s] [ 90s] goat13 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:50:55 UTC 2020. [ 90s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:51:22 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:51:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f2cb3ba790bc_65e2aadc67b45f04720a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 452s] [COMPILING libboard/qmod/source/i2c.c] [ 453s] [COMPILING libboard/qmod/source/board_qmod.c] [ 453s] [COMPILING apps/dfu/main.c] [ 453s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 454s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 454s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 454s] Memory region Used Size Region Size %age Used [ 454s] rom: 16576 B 16 KB 101.17% [ 454s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 454s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 454s] collect2: error: ld returned 1 exit status [ 454s] % [ 454s] Makefile:234: recipe for target 'flash' failed [ 454s] make[2]: *** [flash] Error 1 [ 454s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 454s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 454s] make[1]: *** [fw-qmod-dfu] Error 2 [ 454s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 454s] dh_auto_build: make -j1 returned exit code 2 [ 454s] debian/rules:16: recipe for target 'build' failed [ 454s] make: *** [build] Error 2 [ 454s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 454s] ### VM INTERACTION START ### [ 458s] [ 435.137589] sysrq: Power Off [ 458s] [ 435.181571] reboot: Power down [ 458s] ### VM INTERACTION END ### [ 458s] [ 458s] lamb61 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:51:08 UTC 2020. [ 458s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:51:39 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:51:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2cb3bdaba84_65e2aadc67b45f0472183@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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] [ 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: 16464 B 16 KB 100.49% [ 119s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 119s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 119s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 119s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 119s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 119s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 119s] collect2: error: ld returned 1 exit status [ 119s] % [ 119s] make[2]: *** [Makefile:234: 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] [ 114.184878] sysrq: Power Off [ 122s] [ 114.194398] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] sheep81 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:51:33 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:51:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:51:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f2cb3d945ea5_65e2aadc67b45f0472219@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 258s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 259s] [COMPILING libboard/qmod/source/card_pres.c] [ 259s] [COMPILING libboard/qmod/source/wwan_led.c] [ 259s] [COMPILING libboard/qmod/source/i2c.c] [ 259s] [COMPILING libboard/qmod/source/board_qmod.c] [ 259s] [COMPILING apps/dfu/main.c] [ 260s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 260s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 260s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 260s] Memory region Used Size Region Size %age Used [ 260s] rom: 16576 B 16 KB 101.17% [ 260s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 260s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 260s] collect2: error: ld returned 1 exit status [ 260s] % [ 260s] make[2]: *** [Makefile:234: flash] Error 1 [ 260s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 260s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 260s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 260s] dh_auto_build: make -j1 returned exit code 2 [ 260s] make: *** [debian/rules:16: build] Error 2 [ 260s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 260s] ### VM INTERACTION START ### [ 263s] [ 253.588539] sysrq: Power Off [ 264s] [ 253.637625] reboot: Power down [ 264s] ### VM INTERACTION END ### [ 264s] [ 264s] lamb24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:51:46 UTC 2020. [ 264s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:51:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:51:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f2cb3d9efa4b_65e2aadc67b45f047246a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 108s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 108s] [COMPILING libboard/qmod/source/card_pres.c] [ 108s] [COMPILING libboard/qmod/source/wwan_led.c] [ 108s] [COMPILING libboard/qmod/source/i2c.c] [ 108s] [COMPILING libboard/qmod/source/board_qmod.c] [ 108s] [COMPILING apps/dfu/main.c] [ 108s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 108s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 108s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 109s] Memory region Used Size Region Size %age Used [ 109s] rom: 16504 B 16 KB 100.73% [ 109s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 109s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 109s] collect2: error: ld returned 1 exit status [ 109s] % [ 109s] make[2]: *** [Makefile:234: flash] Error 1 [ 109s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 109s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 109s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 109s] dh_auto_build: make -j1 returned exit code 2 [ 109s] make: *** [debian/rules:16: build] Error 255 [ 109s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 109s] ### VM INTERACTION START ### [ 112s] [ 105.485098] sysrq: Power Off [ 112s] [ 105.487798] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] sheep85 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:51:53 UTC 2020. [ 112s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:56:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:56:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f2cb4e968bbf_65e2aadc67b45f0473650@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 351s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 351s] [COMPILING libboard/qmod/source/card_pres.c] [ 351s] [COMPILING libboard/qmod/source/wwan_led.c] [ 351s] [COMPILING libboard/qmod/source/i2c.c] [ 351s] [COMPILING libboard/qmod/source/board_qmod.c] [ 352s] [COMPILING apps/dfu/main.c] [ 352s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 352s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 352s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 353s] Memory region Used Size Region Size %age Used [ 353s] rom: 16504 B 16 KB 100.73% [ 353s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 353s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 353s] collect2: error: ld returned 1 exit status [ 353s] % [ 353s] make[2]: *** [Makefile:234: flash] Error 1 [ 353s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 353s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 353s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 353s] dh_auto_build: make -j1 returned exit code 2 [ 353s] make: *** [debian/rules:16: build] Error 2 [ 353s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 353s] ### VM INTERACTION START ### [ 356s] [ 342.099399] sysrq: Power Off [ 356s] [ 342.115658] reboot: Power down [ 356s] ### VM INTERACTION END ### [ 356s] [ 356s] lamb15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:56:14 UTC 2020. [ 356s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 01:57:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 01:57:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f2cb50627a98_65e2aadc67b45f0473793@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 530s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 530s] [COMPILING libboard/qmod/source/card_pres.c] [ 530s] [COMPILING libboard/qmod/source/wwan_led.c] [ 530s] [COMPILING libboard/qmod/source/i2c.c] [ 530s] [COMPILING libboard/qmod/source/board_qmod.c] [ 531s] [COMPILING apps/dfu/main.c] [ 531s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 531s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 532s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 532s] Memory region Used Size Region Size %age Used [ 532s] rom: 16504 B 16 KB 100.73% [ 532s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 532s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 532s] collect2: error: ld returned 1 exit status [ 532s] % [ 532s] make[2]: *** [Makefile:234: flash] Error 1 [ 532s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 532s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 532s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 532s] dh_auto_build: make -j1 returned exit code 2 [ 532s] make: *** [debian/rules:16: build] Error 2 [ 532s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 532s] ### VM INTERACTION START ### [ 535s] [ 503.823199] sysrq: Power Off [ 535s] [ 503.853958] reboot: Power down [ 535s] ### VM INTERACTION END ### [ 535s] [ 535s] lamb26 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 01:56:48 UTC 2020. [ 535s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 02:02:14 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 02:02:14 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f2cb634b6fa0_65e2aadc67b45f0475676@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 440s] [COMPILING libboard/qmod/source/i2c.c] [ 440s] [COMPILING libboard/qmod/source/board_qmod.c] [ 440s] [COMPILING apps/dfu/main.c] [ 440s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 441s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 441s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 441s] Memory region Used Size Region Size %age Used [ 441s] rom: 16576 B 16 KB 101.17% [ 441s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 441s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 441s] collect2: error: ld returned 1 exit status [ 441s] % [ 441s] Makefile:234: recipe for target 'flash' failed [ 441s] make[2]: *** [flash] Error 1 [ 441s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 441s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 441s] make[1]: *** [fw-qmod-dfu] Error 2 [ 441s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 441s] dh_auto_build: make -j1 returned exit code 2 [ 441s] debian/rules:16: recipe for target 'build' failed [ 441s] make: *** [build] Error 2 [ 441s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 441s] ### VM INTERACTION START ### [ 444s] [ 416.014662] sysrq: Power Off [ 444s] [ 416.045427] reboot: Power down [ 444s] ### VM INTERACTION END ### [ 444s] [ 444s] lamb23 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 02:01:58 UTC 2020. [ 444s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 02:08:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 02:08:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f2cb7b77a018_65e2aadc67b45f0476675@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 270s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 270s] [COMPILING libboard/qmod/source/card_pres.c] [ 270s] [COMPILING libboard/qmod/source/wwan_led.c] [ 270s] [COMPILING libboard/qmod/source/i2c.c] [ 271s] [COMPILING libboard/qmod/source/board_qmod.c] [ 271s] [COMPILING apps/dfu/main.c] [ 271s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 271s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 271s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 272s] Memory region Used Size Region Size %age Used [ 272s] rom: 16504 B 16 KB 100.73% [ 272s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 272s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 272s] collect2: error: ld returned 1 exit status [ 272s] % [ 272s] make[2]: *** [Makefile:234: flash] Error 1 [ 272s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 272s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 272s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 272s] dh_auto_build: make -j1 returned exit code 2 [ 272s] make: *** [debian/rules:16: build] Error 2 [ 272s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 272s] ### VM INTERACTION START ### [ 275s] [ 265.015057] sysrq: Power Off [ 275s] [ 265.022763] reboot: Power down [ 275s] ### VM INTERACTION END ### [ 275s] [ 275s] lamb05 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 02:08:20 UTC 2020. [ 275s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 02:42:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 02:42:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2cbfafc32b4_65e2aadc67b45f0483747@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: [ 484s] [COMPILING libboard/common/source/uart_console.c] [ 485s] [COMPILING libboard/common/source/led.c] [ 485s] [COMPILING libboard/common/source/boardver_adc.c] [ 485s] [COMPILING libboard/common/source/manifest.c] [ 485s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 486s] [COMPILING apps/dfu/main.c] [ 486s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 486s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 487s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 487s] Memory region Used Size Region Size %age Used [ 487s] rom: 16460 B 16 KB 100.46% [ 487s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 487s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 487s] collect2: error: ld returned 1 exit status [ 487s] % [ 487s] make[2]: *** [Makefile:234: flash] Error 1 [ 487s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 487s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 487s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 487s] dh_auto_build: error: make -j1 returned exit code 2 [ 487s] make: *** [debian/rules:16: build] Error 25 [ 487s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 487s] ### VM INTERACTION START ### [ 490s] [ 453.870614] sysrq: Power Off [ 491s] [ 453.926281] reboot: Power down [ 491s] ### VM INTERACTION END ### [ 491s] [ 491s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 02:42:19 UTC 2020. [ 491s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 03:03:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 03:03:56 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2cc4ba63e5d_65e2aadc67b45f0488336@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 82s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 82s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 82s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 82s] | | [ 82s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 82s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 82s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 82s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 82s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 82s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 82s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 82s] cc1: all warnings being treated as errors [ 82s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 82s] make[3]: *** Waiting for unfinished jobs.... [ 82s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 82s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 82s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 82s] make[1]: *** [Makefile:166: all] Error 2 [ 82s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 82s] dh_auto_build: error: cd build && make -j16 "INSTALL=install --strip-program=true" returned exit code 2 [ 82s] make: *** [debian/rules:9: build] Error 25 [ 82s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 82s] ### VM INTERACTION START ### [ 85s] [ 78.157286] sysrq: Power Off [ 85s] [ 78.165903] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] goat15 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 7 03:03:40 UTC 2020. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 03:17:39 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 03:17:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2cc7e483f6c_65e2aadc67b45f0489855@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 179s] [COMPILING apps/dfu/main.c] [ 179s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 179s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 179s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 179s] Memory region Used Size Region Size %age Used [ 179s] rom: 16464 B 16 KB 100.49% [ 179s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 179s] collect2: error: ld returned 1 exit status [ 179s] % [ 179s] make[2]: *** [Makefile:234: flash] Error 1 [ 179s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 179s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 179s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 179s] dh_auto_build: error: make -j1 returned exit code 2 [ 179s] make: *** [debian/rules:16: build] Error 25 [ 179s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 179s] ### VM INTERACTION START ### [ 182s] [ 158.176430] sysrq: Power Off [ 182s] [ 158.181117] reboot: Power down [ 183s] ### VM INTERACTION END ### [ 183s] [ 183s] old-atreju4 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 03:17:33 UTC 2020. [ 183s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 03:17:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 03:17:56 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2cc7fe3c40d_65e2aadc67b45f0489951@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 85s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 85s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 85s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 85s] | | [ 85s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 85s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 85s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 85s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 85s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 85s] 2425 | MHD_start_daemon (unsigned int flags, [ 85s] | ^~~~~~~~~~~~~~~~ [ 85s] cc1: all warnings being treated as errors [ 85s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 85s] make[3]: *** Waiting for unfinished jobs.... [ 85s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 85s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 85s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 85s] make[1]: *** [Makefile:166: all] Error 2 [ 85s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 85s] dh_auto_build: error: cd build && make -j16 "INSTALL=install --strip-program=true" returned exit code 2 [ 85s] make: *** [debian/rules:9: build] Error 25 [ 85s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 85s] ### VM INTERACTION START ### [ 88s] [ 80.392103] sysrq: Power Off [ 88s] [ 80.401621] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] sheep81 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 7 03:17:39 UTC 2020. [ 88s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 03:26:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 03:26:13 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2cc9e3cf4b4_65e2aadc67b45f04916e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 95s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 95s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 95s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 95s] | | [ 95s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 95s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 95s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 95s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 95s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 95s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 95s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 95s] cc1: all warnings being treated as errors [ 95s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 95s] make[3]: *** Waiting for unfinished jobs.... [ 95s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 95s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 95s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 95s] make[1]: *** [Makefile:166: all] Error 2 [ 95s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 95s] dh_auto_build: error: cd build && make -j6 "INSTALL=install --strip-program=true" returned exit code 2 [ 95s] make: *** [debian/rules:9: build] Error 25 [ 95s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 95s] ### VM INTERACTION START ### [ 99s] [ 87.880203] sysrq: Power Off [ 99s] [ 87.885723] reboot: Power down [ 99s] ### VM INTERACTION END ### [ 99s] [ 99s] sheep85 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 7 03:26:11 UTC 2020. [ 99s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 03:44:48 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 03:44:48 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2cce3a82bb8_65e2aadc67b45f0494854@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 434s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 434s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 434s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 434s] | | [ 434s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 434s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 434s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 434s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 434s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 434s] 2425 | MHD_start_daemon (unsigned int flags, [ 434s] | ^~~~~~~~~~~~~~~~ [ 435s] cc1: all warnings being treated as errors [ 435s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 435s] make[3]: *** Waiting for unfinished jobs.... [ 435s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 435s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 435s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 435s] make[1]: *** [Makefile:166: all] Error 2 [ 435s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 435s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 435s] make: *** [debian/rules:9: build] Error 25 [ 435s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 435s] ### VM INTERACTION START ### [ 438s] [ 407.011536] sysrq: Power Off [ 438s] [ 407.046450] reboot: Power down [ 438s] ### VM INTERACTION END ### [ 439s] [ 439s] lamb24 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 7 03:44:33 UTC 2020. [ 439s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 06:04:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 06:04:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f2cef05c41ea_65e2aadc67b45f0519184@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: [ 288s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 288s] [COMPILING libboard/qmod/source/card_pres.c] [ 289s] [COMPILING libboard/qmod/source/wwan_led.c] [ 289s] [COMPILING libboard/qmod/source/i2c.c] [ 289s] [COMPILING libboard/qmod/source/board_qmod.c] [ 290s] [COMPILING apps/dfu/main.c] [ 290s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 291s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 292s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 292s] Memory region Used Size Region Size %age Used [ 292s] rom: 16504 B 16 KB 100.73% [ 292s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 292s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 292s] collect2: error: ld returned 1 exit status [ 292s] % [ 292s] make[2]: *** [Makefile:234: flash] Error 1 [ 292s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 292s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 292s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 292s] dh_auto_build: make -j1 returned exit code 2 [ 292s] make: *** [debian/rules:16: build] Error 2 [ 292s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 292s] ### VM INTERACTION START ### [ 296s] [ 279.458683] sysrq: SysRq : Power Off [ 296s] [ 279.598859] reboot: Power down [ 297s] ### VM INTERACTION END ### [ 297s] [ 297s] armbuild24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 06:04:16 UTC 2020. [ 297s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 06:40:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 06:40:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f2cf75ad0da0_65e2aadc67b45f0525956@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 376s] [COMPILING libboard/qmod/source/i2c.c] [ 377s] [COMPILING libboard/qmod/source/board_qmod.c] [ 377s] [COMPILING apps/dfu/main.c] [ 378s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 378s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 379s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 379s] Memory region Used Size Region Size %age Used [ 379s] rom: 16584 B 16 KB 101.22% [ 379s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 379s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 379s] collect2: error: ld returned 1 exit status [ 379s] % [ 379s] Makefile:234: recipe for target 'flash' failed [ 379s] make[2]: *** [flash] Error 1 [ 379s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 379s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 379s] make[1]: *** [fw-qmod-dfu] Error 2 [ 379s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 379s] dh_auto_build: make -j1 returned exit code 2 [ 379s] debian/rules:16: recipe for target 'build' failed [ 379s] make: *** [build] Error 2 [ 379s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 380s] ### VM INTERACTION START ### [ 383s] [ 363.912435] sysrq: SysRq : Power Off [ 383s] [ 363.928235] reboot: Power down [ 383s] ### VM INTERACTION END ### [ 383s] [ 384s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 06:40:04 UTC 2020. [ 384s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 7 06:50:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Aug 2020 06:50:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f2cf9cfa2da6_65e2aadc67b45f05267f4@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: [ 515s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 515s] [COMPILING libboard/qmod/source/card_pres.c] [ 516s] [COMPILING libboard/qmod/source/wwan_led.c] [ 516s] [COMPILING libboard/qmod/source/i2c.c] [ 516s] [COMPILING libboard/qmod/source/board_qmod.c] [ 517s] [COMPILING apps/dfu/main.c] [ 518s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 518s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 519s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 520s] Memory region Used Size Region Size %age Used [ 520s] rom: 16504 B 16 KB 100.73% [ 520s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 520s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 520s] collect2: error: ld returned 1 exit status [ 520s] % [ 520s] make[2]: *** [Makefile:234: flash] Error 1 [ 520s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 520s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 520s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 520s] dh_auto_build: make -j1 returned exit code 2 [ 520s] make: *** [debian/rules:16: build] Error 2 [ 520s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 520s] ### VM INTERACTION START ### [ 524s] [ 500.472382] sysrq: SysRq : Power Off [ 524s] [ 500.505270] reboot: Power down [ 525s] ### VM INTERACTION END ### [ 525s] [ 525s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 7 06:50:44 UTC 2020. [ 525s] -- 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 Aug 7 18:18:28 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:18:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19030 ) Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 07 Aug 2020 18:18: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 Fri Aug 7 18:18:54 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:18:54 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: implement baseband frequency hopping In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19030 ) Change subject: osmo-bts-trx/scheduler: implement baseband frequency hopping ...................................................................... osmo-bts-trx/scheduler: implement baseband frequency hopping The idea behind the baseband frequency hopping is quite simple: we have several RF carriers (transceivers) transmitting and receiving on fixed frequencies (just like in a regular multi-trx setup), and an additional burst routing layer between the schedulear and the transceiver interface (TRXD over UDP). Speaking in terms of the proposed implementation: - on Downlink, dlfh_route_br() calculates the ARFCN corresponding to the current TDMA frame number according to the hopping sequence parametets, and picks the transceiver with matching ARFCN; - on Uplink, ulfh_route_bi() iterates over the transceiver list of of the BTS, calculating hopping ARFCNs for equivalent timeslots, and picks the one with ARFCN matching the received burst. In order to avoid frequent transceiver lookups on the Downlink path, dlfh_route_br() maintains a "cache" in the timeslot state structure. Unfortunately, this "cache" seems to be useless on the Uplink path, so ulfh_route_bi() always needs to lookup the matching transceiver for each burst received over the TRXD interface. It may also happen that the scheduler will be unable to route an Uplink or Downlink burst, e.g. due to inconsistent / incorrect hopping sequence parameters received from the BSC, or in case if a transceiver gets RF-locked by the BTS operator. Such events are logged as "FATAL" and aditionally signalled by the following osmo-bts-trx specific rate counters: - trx_sched:dl_fh_no_carrier (Downlink), and - trx_sched:ul_fh_no_carrier (Uplink). Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Related: SYS#4868, OS#4546 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c 6 files changed, 117 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 0402f11..6b696b4 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -335,6 +335,9 @@ uint8_t ma_len; } hopping; + /* Transceiver "cache" for frequency hopping */ + const struct gsm_bts_trx *fh_trx_list[64]; + struct gsm_lchan lchan[TS_MAX_LCHAN]; }; diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index bc2fb69..47c0e9a 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -267,6 +267,7 @@ }; /*! Handle an UL burst received by PHY */ +int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t); int trx_sched_ul_burst(struct l1sched_trx *l1t, struct trx_ul_burst_ind *bi); #endif /* TRX_SCHEDULER_H */ diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index fb988a6..8c309db 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -29,6 +29,8 @@ /* bts-trx specific rate counters */ enum { BTSTRX_CTR_SCHED_DL_MISS_FN, + BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER, + BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER, }; /*! clock state of a given TRX */ diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index e35f6fe..e2d9005 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -62,8 +62,18 @@ #include "trx_if.h" static const struct rate_ctr_desc btstrx_ctr_desc[] = { - [BTSTRX_CTR_SCHED_DL_MISS_FN] = {"trx_clk:sched_dl_miss_fn", - "Downlink frames scheduled later than expected due to missed timerfd event (due to high system load)"}, + [BTSTRX_CTR_SCHED_DL_MISS_FN] = { + "trx_clk:sched_dl_miss_fn", + "Downlink frames scheduled later than expected due to missed timerfd event (due to high system load)" + }, + [BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER] = { + "trx_sched:dl_fh_no_carrier", + "Frequency hopping: no carrier found for a Downlink burst (check hopping parameters)" + }, + [BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER] = { + "trx_sched:ul_fh_no_carrier", + "Frequency hopping: no carrier found for an Uplink burst (check hopping parameters)" + }, }; static const struct rate_ctr_group_desc btstrx_ctrg_desc = { "bts-trx", diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index e617031..fd68f63 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -34,6 +34,7 @@ #include #include #include +#include #include @@ -47,6 +48,10 @@ #include "l1_if.h" #include "trx_if.h" +#define SCHED_FH_PARAMS_FMT "hsn=%u, maio=%u, ma_len=%u" +#define SCHED_FH_PARAMS_VALS(ts) \ + (ts)->hopping.hsn, (ts)->hopping.maio, (ts)->hopping.ma_len + /* an IDLE burst returns nothing. on C0 it is replaced by dummy burst */ int tx_idle_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, uint8_t bid, struct trx_dl_burst_req *br) @@ -55,6 +60,39 @@ return 0; } +/* Find a route (PHY instance) for a given Downlink burst request */ +static struct phy_instance *dlfh_route_br(const struct trx_dl_burst_req *br, + struct gsm_bts_trx_ts *ts) +{ + const struct gsm_bts_trx *trx; + struct gsm_time time; + uint16_t idx; + + gsm_fn2gsmtime(&time, br->fn); + + /* Check the "cache" first, so we eliminate frequent lookups */ + idx = gsm0502_hop_seq_gen(&time, SCHED_FH_PARAMS_VALS(ts), NULL); + if (ts->fh_trx_list[idx] != NULL) + return ts->fh_trx_list[idx]->role_bts.l1h; + + /* The "cache" may not be filled yet, lookup the transceiver */ + llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) { + if (trx->arfcn == ts->hopping.ma[idx]) { + ts->fh_trx_list[idx] = trx; + return trx->role_bts.l1h; + } + } + + LOGPTRX(ts->trx, DL1C, LOGL_FATAL, "Failed to find the transceiver (RF carrier) " + "for a Downlink burst (fn=%u, tn=%u, " SCHED_FH_PARAMS_FMT ")\n", + br->fn, br->tn, SCHED_FH_PARAMS_VALS(ts)); + + struct bts_trx_priv *priv = (struct bts_trx_priv *) ts->trx->bts->model_priv; + rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_DL_FH_NO_CARRIER]); + + return NULL; +} + /* schedule all frames of all TRX for given FN */ static void trx_sched_fn(struct gsm_bts *bts, const uint32_t fn) { @@ -100,8 +138,16 @@ continue; } + /* resolve PHY instance if freq. hopping is enabled */ + if (trx->ts[tn].hopping.enabled) { + pinst = dlfh_route_br(&br, &trx->ts[tn]); + if (pinst == NULL) + continue; + l1h = pinst->u.osmotrx.hdl; + } + /* update dummy burst mask for C0 */ - if (trx == bts->c0) + if (pinst->trx == bts->c0) c0_mask |= (1 << tn); trx_if_send_burst(l1h, &br); @@ -127,6 +173,57 @@ } } +/* Find a route (TRX instance) for a given Uplink burst indication */ +static struct gsm_bts_trx *ulfh_route_bi(const struct trx_ul_burst_ind *bi, + const struct gsm_bts_trx *src_trx) +{ + struct gsm_bts_trx *trx; + struct gsm_time time; + uint16_t arfcn; + + gsm_fn2gsmtime(&time, bi->fn); + + llist_for_each_entry(trx, &src_trx->bts->trx_list, list) { + const struct gsm_bts_trx_ts *ts = &trx->ts[bi->tn]; + if (!ts->hopping.enabled) + continue; + + arfcn = gsm0502_hop_seq_gen(&time, SCHED_FH_PARAMS_VALS(ts), ts->hopping.ma); + if (src_trx->arfcn == arfcn) + return trx; + } + + LOGPTRX(src_trx, DL1C, LOGL_DEBUG, "Failed to find the transceiver (RF carrier) " + "for an Uplink burst (fn=%u, tn=%u, " SCHED_FH_PARAMS_FMT ")\n", + bi->fn, bi->tn, SCHED_FH_PARAMS_VALS(&src_trx->ts[bi->tn])); + + struct bts_trx_priv *priv = (struct bts_trx_priv *) src_trx->bts->model_priv; + rate_ctr_inc(&priv->ctrs->ctr[BTSTRX_CTR_SCHED_UL_FH_NO_CARRIER]); + + return NULL; +} + +/* Route a given Uplink burst indication to the scheduler depending on freq. hopping state */ +int trx_sched_route_burst_ind(struct trx_ul_burst_ind *bi, struct l1sched_trx *l1t) +{ + const struct phy_instance *pinst; + const struct gsm_bts_trx *trx; + struct trx_l1h *l1h; + + /* no frequency hopping => nothing to do */ + if (!l1t->trx->ts[bi->tn].hopping.enabled) + return trx_sched_ul_burst(l1t, bi); + + trx = ulfh_route_bi(bi, l1t->trx); + if (trx == NULL) + return -ENODEV; + + pinst = trx_phy_instance(trx); + l1h = pinst->u.osmotrx.hdl; + + return trx_sched_ul_burst(&l1h->l1s, bi); +} + /*! maximum number of 'missed' frame periods we can tolerate of OS doesn't schedule us*/ #define MAX_FN_SKEW 50 /*! maximum number of frame periods we can tolerate without TRX Clock Indication*/ diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ad6faad..875487a 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1094,7 +1094,7 @@ hdr_ver, trx_data_desc_msg(&bi)); /* feed received burst into scheduler code */ - trx_sched_ul_burst(&l1h->l1s, &bi); + trx_sched_route_burst_ind(&bi, &l1h->l1s); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I68f4ae09fd0789ad0d8f1c1e17e17dfc4de8e462 Gerrit-Change-Number: 19030 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 18:18:55 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:18:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19031 ) Change subject: osmo-bts-trx: indicate support of BTS_FEAT_HOPPING ...................................................................... osmo-bts-trx: indicate support of BTS_FEAT_HOPPING Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Related: SYS#4868, OS#4546 --- M src/osmo-bts-trx/main.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index e2d9005..33bc6f2 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -143,6 +143,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); + osmo_bts_set_feature(bts->features, BTS_FEAT_HOPPING); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I81c35d76d4ca0aa54b18c6fd1909a97b4f5f7b68 Gerrit-Change-Number: 19031 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 18:26:39 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:26:39 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): clarify logging messages In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19533 ) Change subject: l1sap: radio_link_timeout(): clarify logging messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 Gerrit-Change-Number: 19533 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 Aug 2020 18:26: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 Aug 7 18:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:26:43 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): clarify logging messages In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19533 ) Change subject: l1sap: radio_link_timeout(): clarify logging messages ...................................................................... l1sap: radio_link_timeout(): clarify logging messages Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 --- M src/common/l1sap.c 1 file changed, 12 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index e05ec78..dc236aa 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1178,20 +1178,19 @@ /* if link loss criterion already reached */ if (lchan->s == 0) { - DEBUGP(DMEAS, "%s radio link counter S already 0.\n", + DEBUGP(DMEAS, "%s radio link timeout counter S is already 0\n", gsm_lchan_name(lchan)); return; } if (bad_frame) { - /* count down radio link counter S */ - lchan->s--; - DEBUGP(DMEAS, "%s counting down radio link counter S=%d\n", - gsm_lchan_name(lchan), lchan->s); + DEBUGP(DMEAS, "%s decreasing radio link timeout counter S=%d -> %d\n", + gsm_lchan_name(lchan), lchan->s, lchan->s - 1); + lchan->s--; /* count down radio link counter S */ if (lchan->s == 0) { LOGPLCHAN(lchan, DMEAS, LOGL_NOTICE, - "radio link counter timeout S=%d, dropping conn\n", - lchan->s); + "radio link timeout counter S reached zero, " + "dropping connection\n"); rsl_tx_conn_fail(lchan, RSL_ERR_RADIO_LINK_FAIL); } return; @@ -1199,11 +1198,12 @@ if (lchan->s < bts->radio_link_timeout) { /* count up radio link counter S */ - lchan->s += 2; - if (lchan->s > bts->radio_link_timeout) - lchan->s = bts->radio_link_timeout; - DEBUGP(DMEAS, "%s counting up radio link counter S=%d\n", - gsm_lchan_name(lchan), lchan->s); + int s = lchan->s + 2; + if (s > bts->radio_link_timeout) + s = bts->radio_link_timeout; + DEBUGP(DMEAS, "%s increasing radio link timeout counter S=%d -> %d\n", + gsm_lchan_name(lchan), lchan->s, s); + lchan->s = s; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iafb190454c65cebe3de3c212fa8b10a86ec7eb67 Gerrit-Change-Number: 19533 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 18:27:17 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:27:17 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 ) Change subject: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 Gerrit-Change-Number: 19532 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 Aug 2020 18:27: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 Aug 7 18:28:11 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:28:11 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: implement the concept of test case groups In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 ) Change subject: ttcn3/lib/testlib.py: implement the concept of test case groups ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 Gerrit-Change-Number: 19530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 07 Aug 2020 18: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 Fri Aug 7 18:28:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Aug 2020 18:28:21 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: make list of kwargs git friendly In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 ) Change subject: ttcn3/lib/testlib.py: make list of kwargs git friendly ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 Gerrit-Change-Number: 19529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 07 Aug 2020 18:28:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 18:29:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Aug 2020 18:29:30 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): use LOGPLCHAN() macro In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19534 to look at the new patch set (#3). Change subject: l1sap: radio_link_timeout(): use LOGPLCHAN() macro ...................................................................... l1sap: radio_link_timeout(): use LOGPLCHAN() macro Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 --- M src/common/l1sap.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/19534/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 Gerrit-Change-Number: 19534 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 18:29:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Aug 2020 18:29:30 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): bad_frame is a boolean In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19535 to look at the new patch set (#3). Change subject: l1sap: radio_link_timeout(): bad_frame is a boolean ...................................................................... l1sap: radio_link_timeout(): bad_frame is a boolean Change-Id: Id173f69705948aafe861ec36450b147deda95246 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/19535/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id173f69705948aafe861ec36450b147deda95246 Gerrit-Change-Number: 19535 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 19:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Aug 2020 19:01:39 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): use LOGPLCHAN() macro In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19534 ) Change subject: l1sap: radio_link_timeout(): use LOGPLCHAN() macro ...................................................................... l1sap: radio_link_timeout(): use LOGPLCHAN() macro Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 --- M src/common/l1sap.c 1 file changed, 8 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/l1sap.c b/src/common/l1sap.c index dc236aa..ea1219f 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1178,14 +1178,15 @@ /* if link loss criterion already reached */ if (lchan->s == 0) { - DEBUGP(DMEAS, "%s radio link timeout counter S is already 0\n", - gsm_lchan_name(lchan)); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "radio link timeout counter S is already 0\n"); return; } if (bad_frame) { - DEBUGP(DMEAS, "%s decreasing radio link timeout counter S=%d -> %d\n", - gsm_lchan_name(lchan), lchan->s, lchan->s - 1); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "decreasing radio link timeout counter S=%d -> %d\n", + lchan->s, lchan->s - 1); lchan->s--; /* count down radio link counter S */ if (lchan->s == 0) { LOGPLCHAN(lchan, DMEAS, LOGL_NOTICE, @@ -1201,8 +1202,9 @@ int s = lchan->s + 2; if (s > bts->radio_link_timeout) s = bts->radio_link_timeout; - DEBUGP(DMEAS, "%s increasing radio link timeout counter S=%d -> %d\n", - gsm_lchan_name(lchan), lchan->s, s); + LOGPLCHAN(lchan, DMEAS, LOGL_DEBUG, + "increasing radio link timeout counter S=%d -> %d\n", + lchan->s, s); lchan->s = s; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc642599d85a751a750b382674dea5614b6f9ee4 Gerrit-Change-Number: 19534 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 19:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Aug 2020 19:01:40 +0000 Subject: Change in osmo-bts[master]: l1sap: radio_link_timeout(): bad_frame is a boolean In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19535 ) Change subject: l1sap: radio_link_timeout(): bad_frame is a boolean ...................................................................... l1sap: radio_link_timeout(): bad_frame is a boolean Change-Id: Id173f69705948aafe861ec36450b147deda95246 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/l1sap.c b/src/common/l1sap.c index ea1219f..eac5000 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1168,7 +1168,7 @@ /* process radio link timeout counter S. Follows TS 05.08 Section 5.2 * "MS Procedure" as the "BSS Procedure [...] shall be determined by the * network operator." */ -static void radio_link_timeout(struct gsm_lchan *lchan, int bad_frame) +static void radio_link_timeout(struct gsm_lchan *lchan, bool bad_frame) { struct gsm_bts *bts = lchan->ts->trx->bts; @@ -1332,7 +1332,7 @@ le = &lchan->lapdm_ch.lapdm_acch; rsl_tx_meas_res(lchan, NULL, 0, le); - radio_link_timeout(lchan, 1); + radio_link_timeout(lchan, true); lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi); } return -EINVAL; @@ -1343,7 +1343,7 @@ handover_frame(lchan); if (L1SAP_IS_LINK_SACCH(link_id)) { - radio_link_timeout(lchan, 0); + radio_link_timeout(lchan, false); le = &lchan->lapdm_ch.lapdm_acch; /* save the SACCH L1 header in the lchan struct for RSL MEAS RES */ if (len < 2) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id173f69705948aafe861ec36450b147deda95246 Gerrit-Change-Number: 19535 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 19:22:20 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 7 Aug 2020 19:22:20 +0000 Subject: Change in libosmo-abis[master]: trau_sync: make sync pattern configurable References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19547 ) Change subject: trau_sync: make sync pattern configurable ...................................................................... trau_sync: make sync pattern configurable When a trau sync fsm is allocated, the user must set the sync pattern, which can not be changed during the whole fsm lifecycle. However on codec changes it might be necessary to change the sync pattern on the fly. - Add function to change the sync pattern Change-Id: I1caff93b4c8eace8ba8cd6e32e996a9e1503232b Related: OS#2659 --- M include/osmocom/trau/trau_sync.h M src/trau/trau_sync.c 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/47/19547/1 diff --git a/include/osmocom/trau/trau_sync.h b/include/osmocom/trau/trau_sync.h index 46595be..bd99586 100644 --- a/include/osmocom/trau/trau_sync.h +++ b/include/osmocom/trau/trau_sync.h @@ -17,3 +17,4 @@ enum osmo_tray_sync_pat_id pat_id, void *user_data); void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits); +void osmo_trau_sync_set_pat(struct osmo_fsm_inst *fi, enum osmo_tray_sync_pat_id pat_id); diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index 730cf0c..89c5558 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -499,7 +499,6 @@ tss->out_cb = frame_out_cb; tss->user_data = user_data; - /* FIXME: this must be configurable */ tss->pattern = &sync_patterns[pat_id]; /* An unusued E1 timeslot normally would send an idle signal that @@ -511,6 +510,14 @@ return fi; } +void osmo_trau_sync_set_pat(struct osmo_fsm_inst *fi, enum osmo_tray_sync_pat_id pat_id) +{ + struct trau_rx_sync_state *tss = fi->priv; + + tss->pattern = &sync_patterns[pat_id]; + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNMENT_LOST, 0, 0); +} + void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits) { struct ubit_buf ubb; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I1caff93b4c8eace8ba8cd6e32e996a9e1503232b Gerrit-Change-Number: 19547 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 Aug 7 19:54:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Aug 2020 19:54:30 +0000 Subject: Change in osmo-bts[master]: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19536 ) Change subject: rsl: constify the 'lchan' argument of rsl_tx_conn_fail() ...................................................................... rsl: constify the 'lchan' argument of rsl_tx_conn_fail() Change-Id: Icec43d7c1f3b99292fa87462ad65b2c19fdd3b5f --- M include/osmo-bts/rsl.h M src/common/rsl.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmo-bts/rsl.h b/include/osmo-bts/rsl.h index ff6c2a8..5dfd6cf 100644 --- a/include/osmo-bts/rsl.h +++ b/include/osmo-bts/rsl.h @@ -24,7 +24,7 @@ int rsl_tx_est_ind(struct gsm_lchan *lchan, uint8_t link_id, uint8_t *data, int len); int rsl_tx_chan_act_acknack(struct gsm_lchan *lchan, uint8_t cause); -int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause); +int rsl_tx_conn_fail(const struct gsm_lchan *lchan, uint8_t cause); int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan); int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay); diff --git a/src/common/rsl.c b/src/common/rsl.c index 4a91e3e..802e577 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -894,7 +894,7 @@ } /* 8.4.4 sending CONNection FAILure */ -int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause) +int rsl_tx_conn_fail(const struct gsm_lchan *lchan, uint8_t cause) { struct msgb *msg; uint8_t chan_nr = gsm_lchan2chan_nr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icec43d7c1f3b99292fa87462ad65b2c19fdd3b5f Gerrit-Change-Number: 19536 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 7 22:54:57 2020 From: gerrit-no-reply at lists.osmocom.org (Xavier Zu) Date: Fri, 7 Aug 2020 22:54:57 +0000 Subject: Change in osmo-trx[master]: Added PCIeSDR support References: Message-ID: Xavier Zu has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19548 ) Change subject: Added PCIeSDR support ...................................................................... Added PCIeSDR support Change-Id: I5b49b61d1c8f357e33acc066f44d6c7acfc3ba79 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/pciesdr/Makefile.am A Transceiver52M/device/pciesdr/PCIESDRDevice.cpp A Transceiver52M/device/pciesdr/PCIESDRDevice.h M configure.ac A doc/examples/osmo-trx-pciesdr/osmo-trx-pciesdr.cfg 7 files changed, 897 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/48/19548/1 diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index ade4e30..6d4dad2 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -104,3 +104,12 @@ $(LMS_LIBS) osmo_trx_lms_CPPFLAGS = $(AM_CPPFLAGS) $(LMS_CFLAGS) endif + +if DEVICE_PCIESDR +bin_PROGRAMS += osmo-trx-pciesdr +osmo_trx_pciesdr_SOURCES = osmo-trx.cpp +osmo_trx_pciesdr_LDADD = \ + $(builddir)/device/pciesdr/libdevice.la \ + $(COMMON_LDADD) +osmo_trx_pciesdr_CPPFLAGS = $(AM_CPPFLAGS) +endif diff --git a/Transceiver52M/device/Makefile.am b/Transceiver52M/device/Makefile.am index 369e877..36366e3 100644 --- a/Transceiver52M/device/Makefile.am +++ b/Transceiver52M/device/Makefile.am @@ -13,3 +13,7 @@ if DEVICE_LMS SUBDIRS += lms endif + +if DEVICE_PCIESDR +SUBDIRS += pciesdr +endif diff --git a/Transceiver52M/device/pciesdr/Makefile.am b/Transceiver52M/device/pciesdr/Makefile.am new file mode 100644 index 0000000..6f7ad1b --- /dev/null +++ b/Transceiver52M/device/pciesdr/Makefile.am @@ -0,0 +1,11 @@ +include $(top_srcdir)/Makefile.common + +AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../common +AM_CXXFLAGS = -lpthread -lsdr $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) + +noinst_HEADERS = PCIESDRDevice.h + +noinst_LTLIBRARIES = libdevice.la + +libdevice_la_SOURCES = PCIESDRDevice.cpp +libdevice_la_LIBADD = $(top_builddir)/Transceiver52M/device/common/libdevice_common.la diff --git a/Transceiver52M/device/pciesdr/PCIESDRDevice.cpp b/Transceiver52M/device/pciesdr/PCIESDRDevice.cpp new file mode 100644 index 0000000..8dd0b1d --- /dev/null +++ b/Transceiver52M/device/pciesdr/PCIESDRDevice.cpp @@ -0,0 +1,642 @@ +/* +* Copyright 2018 sysmocom - s.f.m.c. GmbH +* +* SPDX-License-Identifier: AGPL-3.0+ +* + 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 "trx_vty.h" +#include "Logger.h" +#include "Threads.h" +#include "PCIESDRDevice.h" +#include "Utils.h" + +#define LIBSDR_HAS_MSDR_CONVERT +extern "C" { +#include "libsdr.h" +} + +extern "C" { +#include "../../arch/common/convert.h" +} + +extern "C" { +#include "osmo_signal.h" +#include +} + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +using namespace std; + +#define PSAMPLES_NUM 4096 + +/* Size of Rx / Tx timestamp based Ring buffer, in bytes */ +#define SAMPLE_BUF_SZ (1 << 20) + +/* greatest common divisor */ +static long gcd(long a, long b) +{ + if (a == 0) + return b; + else if (b == 0) + return a; + + if (a < b) + return gcd(a, b % a); + else + return gcd(b, a % b); +} + +PCIESDRDevice::PCIESDRDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector& tx_paths, + const std::vector& rx_paths): + RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths) +{ + LOGC(DDEV, INFO) << "creating PCIESDR device..."; + + /* The parameter dma_buffer_len is significant for functionality of the Rx chain */ + dma_buffer_count = 10; + dma_buffer_len = 1000; + + device = NULL; + + rx_buffers.resize(chans); + + /* Set up per-channel Rx timestamp based Ring buffers */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i] = new smpl_buf(SAMPLE_BUF_SZ / sizeof(uint32_t)); + +} + +PCIESDRDevice::~PCIESDRDevice() +{ + LOGC(DDEV, INFO) << "Closing PCIESDR device"; + if (device) { + msdr_close(device); + device = NULL; + } + + for (size_t i = 0; i < rx_buffers.size(); i++) + delete rx_buffers[i]; +} + +static int parse_config(const char* line, const char* argument, int default_value) +{ + const char* arg_found = strstr(line, argument); + if (!arg_found) + return default_value; + + const char* qe_pos = strchr(arg_found, '='); + if (!qe_pos) + return default_value; + + int res = strtol(qe_pos + 1, NULL, 10); + if (res == 0 && errno) + return default_value; + + return res; +} + +int PCIESDRDevice::open(const std::string &args, int ref, bool swap_channels) +{ + int lb_param = parse_config(args.c_str(), "loopback", 0); + char pciesdr_name[500]; + const char* lend = strchr(args.c_str(), ','); + int len = (lend) ? (lend - args.c_str()) : sizeof(pciesdr_name) - 1; + + LOGC(DDEV, INFO) << "Opening PCIESDR device.."; + + strncpy(pciesdr_name, args.c_str(), len); + pciesdr_name[len] = 0; + started = false; + + if (lb_param) { + LOGC(DDEV, ERROR) << "PCIESDR LOOPBACK mode is not supported!"; + } + LOGC(DDEV, INFO) << "pciesdr_name" << pciesdr_name << ""; + device = msdr_open(pciesdr_name); + if (device == NULL) { + LOGC(DDEV, ERROR) << "PCIESDR creating failed, device " << pciesdr_name << ""; + return -1; + } + + msdr_set_default_start_params(device, &StartParams); + /* RF interface */ + StartParams.interface_type = SDR_INTERFACE_RF; + /* no time synchronisation */ + StartParams.sync_source = SDR_SYNC_NONE; + /* sync on internal PPS */ + //StartParams.sync_source = SDR_SYNC_INTERNAL; + + /* calculate sample rate using Euclidean algorithm */ + double rate = (double)GSMRATE*tx_sps; + double integral = floor(rate); + double frac = rate - integral; + /* This is the accuracy */ + const long precision = 1000000000; + long gcd_ = gcd(round(frac * precision), precision); + long denominator = precision / gcd_; + long numerator = round(frac * precision) / gcd_; + StartParams.sample_rate_num[0] = (int64_t)(integral * denominator + numerator); + StartParams.sample_rate_den[0] = (int64_t)denominator; + actualSampleRate = (double)StartParams.sample_rate_num[0] / (double)StartParams.sample_rate_den[0]; + StartParams.rx_bandwidth[0] = actualSampleRate * 0.75; + StartParams.tx_bandwidth[0] = actualSampleRate * 0.75; + LOGC(DDEV, INFO) << "PCIESDR device txsps:" << tx_sps << " rxsps:" << rx_sps + << " GSMRATE * tx_sps:" << (double)GSMRATE * tx_sps; + LOGC(DDEV, INFO) << "PCIESDR sample_rate_num:" << StartParams.sample_rate_num[0] + << " sample_rate_den:" << StartParams.sample_rate_den[0] + << " BW:" << StartParams.rx_bandwidth[0]; + + switch (ref) { + case REF_INTERNAL: + LOGC(DDEV, INFO) << "Setting Internal clock reference"; + /* internal clock, using PPS to correct it */ + StartParams.clock_source = SDR_CLOCK_INTERNAL; + break; + default: + LOGC(DDEV, ERROR) << "Invalid reference type"; + goto out_close; + } + /* complex float32 */ + StartParams.rx_sample_fmt = SDR_SAMPLE_FMT_CF32; + StartParams.tx_sample_fmt = SDR_SAMPLE_FMT_CF32; + /* choose best format fitting the bandwidth */ + StartParams.rx_sample_hw_fmt = SDR_SAMPLE_HW_FMT_AUTO; + StartParams.tx_sample_hw_fmt = SDR_SAMPLE_HW_FMT_AUTO; + StartParams.rx_channel_count = 1; + StartParams.tx_channel_count = 1; + StartParams.rx_freq[0] = 1550e6; + StartParams.tx_freq[0] = 1500e6; + StartParams.rx_gain[0] = 60; + StartParams.tx_gain[0] = 40; + StartParams.rx_antenna[0] = SDR_RX_ANTENNA_RX; + StartParams.rf_port_count = 1; + StartParams.tx_port_channel_count[0] = 1; + StartParams.rx_port_channel_count[0] = 1; + /* if != 0, set a custom DMA buffer configuration. Otherwise the default is 150 buffers per 10 ms */ + StartParams.dma_buffer_count = dma_buffer_count; + /* in samples */ + StartParams.dma_buffer_len = dma_buffer_len; + + /* FIXME: estimate it properly */ + /* PCIe radio should have this close to zero */ + /* The MS can connect if the value is between -30 and +5 */ + ts_offset = -16; + + started = false; + return NORMAL; + +out_close: + LOGC(DDEV, FATAL) << "Error in PCIESDR open, closing"; + msdr_close(device); + device = NULL; + + return -1; +} + +bool PCIESDRDevice::start() +{ + SDRStats stats; + int res; + + LOGC(DDEV, INFO) << "starting PCIESDR..."; + + if (started) { + LOGC(DDEV, ERROR) << "Device already started"; + return false; + } + LOGC(DDEV, INFO) << "starting PCIESDR..., sample rate:" << actualSampleRate; + res = msdr_start(device, &StartParams); + if (res) { + LOGC(DDEV, ERROR) << "msdr_start failed:"<< res; + return false; + } + res = msdr_get_stats(device, &stats); + if (res != 0) { + LOGC(DDEV, ERROR) << "PCIESDRDevice start: get_stats failed:" << res; + } else { + tx_underflow = stats.tx_underflow_count; + rx_overflow = stats.rx_overflow_count; + } + + flush_recv(); + + started = true; + return true; +} + +bool PCIESDRDevice::stop() +{ + int res; + + LOGC(DDEV, INFO) << "PCIESDRDevice stop"; + + if (started) { + res = msdr_stop(device); + if (res) { + LOGC(DDEV, ERROR) << "PCIESDR stop failed res: " << res; + } else { + LOGC(DDEV, INFO) << "PCIESDR stopped"; + started = false; + } + } + + return true; +} + +double PCIESDRDevice::maxTxGain() +{ + return 90; +} + +double PCIESDRDevice::maxRxGain() +{ + return 50; +} + +double PCIESDRDevice::minRxGain() +{ + return 0; +} + +double PCIESDRDevice::getTxGain(size_t chan) +{ + if (chan) { + LOGC(DDEV, ERROR) << "Invalid channel " << chan; + return 0.0; + } + + return msdr_get_tx_gain(device, chan); +} + +double PCIESDRDevice::setTxGain(double dB, size_t chan) +{ + int res = 0; + + if (chan) { + LOGC(DDEV, ERROR) << "Invalid channel " << chan; + return 0.0; + } + + LOGC(DDEV, INFO) << "Setting TX gain to " << dB << " dB. device:" << device << " chan:" << chan; + StartParams.tx_gain[chan] = dB; + + if (started) { + res = msdr_set_tx_gain(device, chan, StartParams.tx_gain[chan]); + if (res) { + LOGC(DDEV, INFO) << "Error setting TX gain res: " << res; + } + } + + return StartParams.tx_gain[chan]; +} + +double PCIESDRDevice::setPowerAttenuation(int atten, size_t chan) { + double rfGain; + + rfGain = setTxGain(maxTxGain() - atten, chan); + return maxTxGain() - rfGain; +} + +double PCIESDRDevice::getPowerAttenuation(size_t chan) { + return maxTxGain() - getTxGain(chan); +} + +double PCIESDRDevice::setRxGain(double dB, size_t chan) +{ + int res = 0; + + if (chan) { + LOGC(DDEV, ERROR) << "Invalid channel " << chan; + return 0.0; + } + + LOGC(DDEV, INFO) << "Setting RX gain to " << dB << " dB."; + StartParams.rx_gain[chan] = dB; + + if (started) { + res = msdr_set_rx_gain(device, chan, dB); + if (res) { + LOGC(DDEV, ERROR) << "Error setting RX gain res: " << res; + } + } + + return StartParams.rx_gain[chan]; +} + +int PCIESDRDevice::getNominalTxPower(size_t chan) +{ + /* TODO: return value based on some experimentally generated table depending on + * band/arfcn, which is known here thanks to TXTUNE + */ + return 0; +} + +bool PCIESDRDevice::flush_recv() +{ + unsigned int chan = 0; + static sample_t samples[PSAMPLES_NUM]; + static sample_t *psamples; + int64_t timestamp_tmp; + int expect_smpls = sizeof(samples) / sizeof(samples[0]); + int rc; + + LOGC(DDEV, INFO) << "PCIESDRDevice flush"; + + psamples = &samples[0]; + + while ((rc = msdr_read(device, ×tamp_tmp, (void**)&psamples, expect_smpls, chan, 100)) > 1) { + if (rc < (int)expect_smpls) + break; + } + if (rc < 0) + return false; + + ts_initial = (TIMESTAMP)timestamp_tmp + rc; + + LOGC(DDEV, INFO) << "Initial timestamp " << ts_initial << std::endl; + + return true; +} + +/* NOTE: Assumes sequential reads */ +int PCIESDRDevice::readSamples(std::vector &bufs, int len, bool *overrun, + TIMESTAMP timestamp, bool *underrun) +{ + int rc, num_smpls, expect_smpls; + ssize_t avail_smpls; + TIMESTAMP expect_timestamp; + unsigned int i; + static sample_t samples[PSAMPLES_NUM]; + static sample_t *psamples; + int64_t timestamp_tmp; +#ifndef LIBSDR_HAS_MSDR_CONVERT + float powerScaling[] = {1, 1, 1, 1}; +#endif + + if (!started) + return -1; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + if (len > (int)(sizeof(samples) / sizeof(*samples))) { + LOGC(DDEV, ERROR) << "Sample buffer:" << (sizeof(samples) / sizeof(*samples)) + << " is smaller than len:" << len; + return -1; + } + + *overrun = false; + *underrun = false; + + /* Check that timestamp is valid */ + rc = rx_buffers[0]->avail_smpls(timestamp); + if (rc < 0) { + LOGC(DDEV, ERROR) << "rc < 0"; + LOGC(DDEV, ERROR) << rx_buffers[0]->str_code(rc); + LOGC(DDEV, ERROR) << rx_buffers[0]->str_status(timestamp); + return 0; + } + + for (i = 0; i < chans; i++) { + /* Receive samples from HW until we have enough */ + while ((avail_smpls = rx_buffers[i]->avail_smpls(timestamp)) < len) { + expect_smpls = len - avail_smpls; + expect_smpls = expect_smpls > (int)dma_buffer_len ? expect_smpls : (int)dma_buffer_len; + expect_timestamp = timestamp + avail_smpls; + timestamp_tmp = 0; + psamples = &samples[0]; + num_smpls = msdr_read(device, ×tamp_tmp, (void**)&psamples, expect_smpls, i, 100); + if (num_smpls < 0) { + LOGC(DDEV, ERROR) << "PCIESDR readSamples msdr_read failed num_smpls " << num_smpls + << " device: " << device + << " expect_smpls: " << expect_smpls + << ", expTs:" << expect_timestamp << " got " << timestamp_tmp; + LOGCHAN(i, DDEV, ERROR) << "Device receive timed out (" << rc + << " vs exp " << len << ")."; + return -1; + } + + LOGCHAN(i, DDEV, DEBUG) << "Received timestamp = " << (TIMESTAMP)timestamp_tmp + << " (" << num_smpls << ")"; + +#ifdef LIBSDR_HAS_MSDR_CONVERT + msdr_convert_cf32_to_ci16(bufs[i], (float *)psamples, num_smpls); +#else + convert_float_short(bufs[i], (float *)psamples, powerScaling[0], num_smpls * 2); +#endif + + if (expect_smpls != num_smpls) { + LOGCHAN(i, DDEV, DEBUG) << "Unexpected recv buffer len: expect " + << expect_smpls << " got " << num_smpls + << ", diff=" << expect_smpls - num_smpls + << ", expTs:" << expect_timestamp << " got " << timestamp_tmp; + } + + if (expect_timestamp != (TIMESTAMP)timestamp_tmp) { + LOGCHAN(i, DDEV, ERROR) << "Unexpected recv buffer timestamp: expect " + << expect_timestamp << " got " << timestamp_tmp + << ", diff=" << timestamp_tmp - expect_timestamp; + } + rc = rx_buffers[i]->write(bufs[i], num_smpls, (TIMESTAMP)timestamp_tmp); + if (rc < 0) { + if (rc != smpl_buf::ERROR_OVERFLOW) { + return 0; + } + } + } + } + + /* We have enough samples */ + for (size_t i = 0; i < rx_buffers.size(); i++) { + rc = rx_buffers[i]->read(bufs[i], len, timestamp); + if ((rc < 0) || (rc != len)) { + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_code(rc) << ". " + << rx_buffers[i]->str_status(timestamp) + << ", (len=" << len << ")"; + return 0; + } + } + + return len; +} + +int PCIESDRDevice::writeSamples(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp) +{ + int rc = 0; + unsigned int i; + static sample_t samples[PSAMPLES_NUM]; + static sample_t *psamples; + int64_t hw_time; + int64_t timestamp_tmp; + SDRStats stats; + + if (!started) + return -1; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + if (len > (int)(sizeof(samples) / sizeof(*samples))) { + LOGC(DDEV, ERROR) << "Sample buffer:" << (sizeof(samples) / sizeof(*samples)) + << " is smaller than len:" << len; + return -1; + } + + timestamp_tmp = timestamp - ts_offset; /* Shift Tx time by offset */ + + *underrun = false; + i = 0; + for (i = 0; i < chans; i++) { + LOGCHAN(i, DDEV, DEBUG) << "send buffer of len " << len << " timestamp " << std::hex << timestamp_tmp; + psamples = &samples[0]; + +#ifdef LIBSDR_HAS_MSDR_CONVERT + msdr_convert_ci16_to_cf32((float*)psamples, bufs[i], len); +#else + convert_short_float((float*)psamples, bufs[i], len * 2); +#endif + rc = msdr_write(device, timestamp_tmp, (const void**)&psamples, len, i, &hw_time); + if (rc != len) { + LOGC(DDEV, ALERT) << "PCIESDR writeSamples: Device send timed out rc:" << rc + << " timestamp" << timestamp_tmp << " len:" << len << " hwtime:" << hw_time; + LOGCHAN(i, DDEV, ERROR) << "PCIESDR: Device Tx timed out (" << rc << " vs exp " << len << ")."; + return -1; + } + if (msdr_get_stats(device, &stats)) { + LOGC(DDEV, ALERT) << "PCIESDR: get_stats failed:" << rc; + } else if (stats.tx_underflow_count > tx_underflow) { + tx_underflow = stats.tx_underflow_count; + LOGC(DDEV, ALERT) << "tx_underflow_count:" << stats.tx_underflow_count + << " rx_overflow_count:" << stats.rx_overflow_count; + *underrun = true; + } + + if (timestamp_tmp - hw_time > (int64_t)actualSampleRate / 10) + LOGC(DDEV, ALERT) << "PCIESDR: tx diff more ts_tmp:" << timestamp_tmp << " ts:" << timestamp + << " hwts:" << hw_time; + + if (hw_time > timestamp_tmp) { + LOGC(DDEV, ALERT) << "PCIESDR: tx underrun ts_tmp:" << timestamp_tmp << " ts:" << timestamp + << " hwts:" << hw_time; + *underrun = true; + } + } + + return rc; +} + +bool PCIESDRDevice::setRxAntenna(const std::string & ant, size_t chan) +{ + return true; +} + +std::string PCIESDRDevice::getRxAntenna(size_t chan) +{ + return ""; +} + +bool PCIESDRDevice::setTxAntenna(const std::string & ant, size_t chan) +{ + return true; +} + +std::string PCIESDRDevice::getTxAntenna(size_t chan ) +{ + return ""; +} + +bool PCIESDRDevice::requiresRadioAlign() +{ + return false; +} + +GSM::Time PCIESDRDevice::minLatency() +{ + return GSM::Time(6,7); +} + +bool PCIESDRDevice::updateAlignment(TIMESTAMP timestamp) +{ + LOGC(DDEV, INFO) << "Update Alignment "; + + return true; +} + +bool PCIESDRDevice::setTxFreq(double wFreq, size_t chan) +{ + double actual = 0; + + LOGCHAN(chan, DDEV, NOTICE) << "PCIESDR setTxFreq"; + if (chan) { + LOGC(DDEV, ERROR) << "Invalid channel " << chan; + return false; + } + actual = StartParams.tx_freq[chan]; + StartParams.tx_freq[chan] = wFreq; + LOGC(DDEV, INFO) << "set TX: " << wFreq << std::endl + << " actual freq: " << actual << std::endl; + + return true; +} + +bool PCIESDRDevice::setRxFreq(double wFreq, size_t chan) +{ + double actual = 0; + + LOGCHAN(chan, DDEV, NOTICE) << "PCIESDR setRxFreq"; + + if (chan) { + LOGC(DDEV, ERROR) << "Invalid channel " << chan; + return false; + } + actual = StartParams.rx_freq[chan]; + StartParams.rx_freq[chan] = wFreq; + LOGC(DDEV, INFO) << "set RX: " << wFreq << std::endl + << " actual freq: " << actual << std::endl; + + return true; +} + +RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, + InterfaceType iface, size_t chans, double lo_offset, + const std::vector < std::string > &tx_paths, + const std::vector < std::string > &rx_paths) +{ + if (tx_sps != rx_sps) { + LOGC(DDEV, ERROR) << "PCIESDR Requires tx_sps == rx_sps"; + return NULL; + } + if (lo_offset != 0.0) { + LOGC(DDEV, ERROR) << "PCIESDR doesn't support lo_offset"; + return NULL; + } + return new PCIESDRDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); +} diff --git a/Transceiver52M/device/pciesdr/PCIESDRDevice.h b/Transceiver52M/device/pciesdr/PCIESDRDevice.h new file mode 100644 index 0000000..a811078 --- /dev/null +++ b/Transceiver52M/device/pciesdr/PCIESDRDevice.h @@ -0,0 +1,199 @@ +/* +* Copyright 2018 sysmocom - s.f.m.c. GmbH +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* This software is distributed under multiple licenses; see the COPYING file in +* the main directory for licensing information for this specific distribution. +* +* This use of this software may be subject to additional restrictions. +* See the LEGAL file in the main directory for details. + + 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. + +*/ + +#ifndef _PCIESDR_DEVICE_H_ +#define _PCIESDR_DEVICE_H_ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "radioDevice.h" +#include "smpl_buf.h" + +#include +#include +#include +#include +#include +extern "C" { +#include "libsdr.h" +} + +#define PCIESDR_TX_AMPL 0.707 + +/** A class to handle a PCIESDR supported device */ +class PCIESDRDevice:public RadioDevice { + +private: + MultiSDRState* device; + SDRStartParams StartParams; + typedef struct { + float re; + float im; + } sample_t; + unsigned int dma_buffer_count; + unsigned int dma_buffer_len; + + std::vector rx_buffers; + + double actualSampleRate; ///< the actual sampling rate + + bool started; ///< flag indicates device has started + bool skipRx; ///< set if device is transmit-only. + + TIMESTAMP ts_initial, ts_offset; + + std::vector tx_gains, rx_gains; + + bool flush_recv(); + + int64_t tx_underflow; + int64_t rx_overflow; + + /** sets the transmit chan gain, returns the gain setting **/ + double setTxGain(double dB, size_t chan = 0); + + /** get transmit gain */ + double getTxGain(size_t chan = 0); + + /** return maximum Tx Gain **/ + double maxTxGain(void); + +public: + + /** Object constructor */ + PCIESDRDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector& tx_paths, + const std::vector& rx_paths); + ~PCIESDRDevice(); + + /** Instantiate the PCIESDR */ + int open(const std::string &args, int ref, bool swap_channels); + + /** Start the PCIESDR */ + bool start(); + + /** Stop the PCIESDR */ + bool stop(); + + enum TxWindowType getWindowType() { + return TX_WINDOW_LMS1; + } + + /** + Read samples from the PCIESDR. + @param buf preallocated buf to contain read result + @param len number of samples desired + @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough + @param timestamp The timestamp of the first samples to be read + @param underrun Set if PCIESDR does not have data to transmit, e.g. data not being sent fast enough + @return The number of samples actually read + */ + int readSamples(std::vector &buf, int len, bool *overrun, + TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL); + + /** + Write samples to the PCIESDR. + @param buf Contains the data to be written. + @param len number of samples to write. + @param underrun Set if PCIESDR does not have data to transmit, e.g. data not being sent fast enough + @param timestamp The timestamp of the first sample of the data buffer. + @return The number of samples actually written + */ + int writeSamples(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff); + + /** Update the alignment between the read and write timestamps */ + bool updateAlignment(TIMESTAMP timestamp); + + /** Set the transmitter frequency */ + bool setTxFreq(double wFreq, size_t chan = 0); + + /** Set the receiver frequency */ + bool setRxFreq(double wFreq, size_t chan = 0); + + /** Returns the starting write Timestamp*/ + TIMESTAMP initialWriteTimestamp(void) { + return ts_initial; + } + + /** Returns the starting read Timestamp*/ + TIMESTAMP initialReadTimestamp(void) { + return ts_initial; + } + + /** returns the full-scale transmit amplitude **/ + double fullScaleInputValue() { + return (double) SHRT_MAX * PCIESDR_TX_AMPL; + } + + /** returns the full-scale receive amplitude **/ + double fullScaleOutputValue() { + return (double) SHRT_MAX; + } + + /** sets the receive chan gain, returns the gain setting **/ + double setRxGain(double dB, size_t chan = 0); + + /** get the current receive gain */ + double getRxGain(size_t chan = 0) { + return rx_gains[chan]; + } + + /** return maximum Rx Gain **/ + double maxRxGain(void); + + /** return minimum Rx Gain **/ + double minRxGain(void); + + double setPowerAttenuation(int atten, size_t chan); + double getPowerAttenuation(size_t chan = 0); + + int getNominalTxPower(size_t chan = 0); + + /** sets the RX path to use, returns true if successful and false otherwise */ + bool setRxAntenna(const std::string & ant, size_t chan = 0); + + /** return the used RX path */ + std::string getRxAntenna(size_t chan = 0); + + /** sets the RX path to use, returns true if successful and false otherwise */ + bool setTxAntenna(const std::string & ant, size_t chan = 0); + + /** return the used RX path */ + std::string getTxAntenna(size_t chan = 0); + + /** return whether user drives synchronization of Tx/Rx of USRP */ + bool requiresRadioAlign(); + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual GSM::Time minLatency(); + + /** Return internal status values */ + inline double getTxFreq(size_t chan = 0) { + return 0; + } + inline double getRxFreq(size_t chan = 0) { + return 0; + } + inline double getSampleRate() { + return actualSampleRate; + } +}; + +#endif // _PCIESDR_DEVICE_H_ diff --git a/configure.ac b/configure.ac index 07d4bf4..f792bc5 100644 --- a/configure.ac +++ b/configure.ac @@ -140,6 +140,11 @@ [enable LimeSuite based transceiver]) ]) +AC_ARG_WITH(pciesdr, [ + AS_HELP_STRING([--with-pciesdr], + [enable PCIeSDR (Amarisoft) based transceiver]) +]) + AC_ARG_WITH(singledb, [ AS_HELP_STRING([--with-singledb], [enable single daughterboard use on USRP1]) @@ -179,6 +184,10 @@ PKG_CHECK_MODULES(LMS, LimeSuite) ]) +AS_IF([test "x$with_pciesdr" = "xyes"], [ + PKG_CHECK_MODULES(PCIESDR, libsdr) +]) + AS_IF([test "x$with_uhd" != "xno"],[ PKG_CHECK_MODULES(UHD, uhd >= 003.011, [AC_DEFINE(USE_UHD_3_11, 1, UHD version 3.11.0 or higher)], @@ -241,6 +250,7 @@ AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) +AM_CONDITIONAL(DEVICE_PCIESDR, [test "x$with_pciesdr" = "xyes"]) AM_CONDITIONAL(ARCH_ARM, [test "x$with_neon" = "xyes" || test "x$with_neon_vfpv4" = "xyes"]) AM_CONDITIONAL(ARCH_ARM_A15, [test "x$with_neon_vfpv4" = "xyes"]) @@ -325,6 +335,7 @@ Transceiver52M/device/uhd/Makefile \ Transceiver52M/device/usrp1/Makefile \ Transceiver52M/device/lms/Makefile \ + Transceiver52M/device/pciesdr/Makefile \ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ diff --git a/doc/examples/osmo-trx-pciesdr/osmo-trx-pciesdr.cfg b/doc/examples/osmo-trx-pciesdr/osmo-trx-pciesdr.cfg new file mode 100644 index 0000000..b74d50c --- /dev/null +++ b/doc/examples/osmo-trx-pciesdr/osmo-trx-pciesdr.cfg @@ -0,0 +1,21 @@ +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print file basename + logging level set-all info +! +line vty + no login +! +trx + bind-ip 127.0.0.1 + remote-ip 127.0.0.1 + base-port 5700 + egprs disable + dev-args dev0=/dev/sdr0 + tx-sps 4 + rx-sps 4 + rt-prio 18 + chan 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I5b49b61d1c8f357e33acc066f44d6c7acfc3ba79 Gerrit-Change-Number: 19548 Gerrit-PatchSet: 1 Gerrit-Owner: Xavier Zu Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 8 01:33:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:33:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f2e00fde771f_65e2aadc67b45f071091f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 111s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 111s] [COMPILING libboard/qmod/source/card_pres.c] [ 111s] [COMPILING libboard/qmod/source/wwan_led.c] [ 111s] [COMPILING libboard/qmod/source/i2c.c] [ 111s] [COMPILING libboard/qmod/source/board_qmod.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: 16576 B 16 KB 101.17% [ 112s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 112s] collect2: error: ld returned 1 exit status [ 112s] % [ 112s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 112s] make: *** [debian/rules:16: build] Error 2 [ 112s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 112s] ### VM INTERACTION START ### [ 115s] [ 108.870627] sysrq: Power Off [ 115s] [ 108.883616] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] sheep82 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:33:33 UTC 2020. [ 115s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:35:04 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:35:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f2e01567bb3_65e2aadc67b45f07110c6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 58s] [COMPILING libboard/qmod/source/i2c.c] [ 58s] [COMPILING libboard/qmod/source/board_qmod.c] [ 58s] [COMPILING apps/dfu/main.c] [ 58s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 58s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 58s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 59s] Memory region Used Size Region Size %age Used [ 59s] rom: 16584 B 16 KB 101.22% [ 59s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 59s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 59s] collect2: error: ld returned 1 exit status [ 59s] % [ 59s] Makefile:234: recipe for target 'flash' failed [ 59s] make[2]: *** [flash] Error 1 [ 59s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 59s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 59s] make[1]: *** [fw-qmod-dfu] Error 2 [ 59s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 59s] dh_auto_build: make -j1 returned exit code 2 [ 59s] debian/rules:16: recipe for target 'build' failed [ 59s] make: *** [build] Error 2 [ 59s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 59s] ### VM INTERACTION START ### [ 62s] [ 56.915651] sysrq: Power Off [ 62s] [ 56.920878] reboot: Power down [ 62s] ### VM INTERACTION END ### [ 62s] [ 62s] goat07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:34:54 UTC 2020. [ 62s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:35:21 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:35:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f2e0174d2762_65e2aadc67b45f07111e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 129s] [COMPILING libboard/qmod/source/i2c.c] [ 129s] [COMPILING libboard/qmod/source/board_qmod.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: 16576 B 16 KB 101.17% [ 130s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 130s] collect2: error: ld returned 1 exit status [ 130s] % [ 130s] Makefile:234: recipe for target 'flash' failed [ 130s] make[2]: *** [flash] Error 1 [ 130s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 130s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 130s] make[1]: *** [fw-qmod-dfu] Error 2 [ 130s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 130s] dh_auto_build: make -j1 returned exit code 2 [ 130s] debian/rules:16: recipe for target 'build' failed [ 130s] make: *** [build] Error 2 [ 130s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 130s] ### VM INTERACTION START ### [ 133s] [ 123.936602] sysrq: Power Off [ 133s] [ 123.944508] reboot: Power down [ 133s] ### VM INTERACTION END ### [ 133s] [ 133s] cloud106 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:35:16 UTC 2020. [ 133s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:35:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:35:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f2e017594ee9_65e2aadc67b45f0711252@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 139s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 139s] [COMPILING libboard/qmod/source/card_pres.c] [ 139s] [COMPILING libboard/qmod/source/wwan_led.c] [ 139s] [COMPILING libboard/qmod/source/i2c.c] [ 139s] [COMPILING libboard/qmod/source/board_qmod.c] [ 139s] [COMPILING apps/dfu/main.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 140s] Memory region Used Size Region Size %age Used [ 140s] rom: 16504 B 16 KB 100.73% [ 140s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 140s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 140s] collect2: error: ld returned 1 exit status [ 140s] % [ 140s] make[2]: *** [Makefile:234: flash] Error 1 [ 140s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 140s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 140s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 140s] dh_auto_build: make -j1 returned exit code 2 [ 140s] make: *** [debian/rules:16: build] Error 2 [ 140s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 140s] ### VM INTERACTION START ### [ 143s] [ 135.513617] sysrq: Power Off [ 143s] [ 135.518053] reboot: Power down [ 143s] ### VM INTERACTION END ### [ 143s] [ 143s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:35:27 UTC 2020. [ 143s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:35:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:35:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f2e0175e34c7_65e2aadc67b45f071138@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 149s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 149s] [COMPILING libboard/qmod/source/card_pres.c] [ 149s] [COMPILING libboard/qmod/source/wwan_led.c] [ 149s] [COMPILING libboard/qmod/source/i2c.c] [ 150s] [COMPILING libboard/qmod/source/board_qmod.c] [ 150s] [COMPILING apps/dfu/main.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 150s] Memory region Used Size Region Size %age Used [ 150s] rom: 16504 B 16 KB 100.73% [ 150s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 150s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 150s] collect2: error: ld returned 1 exit status [ 150s] % [ 150s] make[2]: *** [Makefile:234: flash] Error 1 [ 150s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 150s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 150s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 150s] dh_auto_build: make -j1 returned exit code 2 [ 150s] make: *** [debian/rules:16: build] Error 255 [ 150s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 150s] ### VM INTERACTION START ### [ 153s] [ 145.437434] sysrq: Power Off [ 153s] [ 145.444575] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 154s] [ 154s] lamb16 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:35:31 UTC 2020. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:04 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f2e01cdc4a82_65e2aadc67b45f0711428@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 137s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 137s] [COMPILING libboard/qmod/source/card_pres.c] [ 137s] [COMPILING libboard/qmod/source/wwan_led.c] [ 137s] [COMPILING libboard/qmod/source/i2c.c] [ 137s] [COMPILING libboard/qmod/source/board_qmod.c] [ 138s] [COMPILING apps/dfu/main.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 138s] Memory region Used Size Region Size %age Used [ 138s] rom: 16576 B 16 KB 101.17% [ 138s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 138s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 138s] collect2: error: ld returned 1 exit status [ 138s] % [ 138s] make[2]: *** [Makefile:234: flash] Error 1 [ 138s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 138s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 138s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 138s] dh_auto_build: make -j1 returned exit code 2 [ 138s] make: *** [debian/rules:16: build] Error 2 [ 138s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 138s] ### VM INTERACTION START ### [ 141s] [ 133.308959] sysrq: Power Off [ 141s] [ 133.321644] reboot: Power down [ 141s] ### VM INTERACTION END ### [ 141s] [ 141s] lamb22 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:36:54 UTC 2020. [ 141s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f2e01ec9ebe5_65e2aadc67b45f0711563@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 211s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 211s] [COMPILING libboard/qmod/source/card_pres.c] [ 211s] [COMPILING libboard/qmod/source/wwan_led.c] [ 212s] [COMPILING libboard/qmod/source/i2c.c] [ 212s] [COMPILING libboard/qmod/source/board_qmod.c] [ 212s] [COMPILING apps/dfu/main.c] [ 213s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 213s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 213s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 214s] Memory region Used Size Region Size %age Used [ 214s] rom: 16504 B 16 KB 100.73% [ 214s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 214s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 214s] collect2: error: ld returned 1 exit status [ 214s] % [ 214s] make[2]: *** [Makefile:234: flash] Error 1 [ 214s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 214s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 214s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 214s] dh_auto_build: make -j1 returned exit code 2 [ 214s] make: *** [debian/rules:16: build] Error 2 [ 214s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 214s] ### VM INTERACTION START ### [ 217s] [ 199.941503] sysrq: Power Off [ 217s] [ 199.945310] reboot: Power down [ 217s] ### VM INTERACTION END ### [ 217s] [ 217s] obs-arm-3 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:37:23 UTC 2020. [ 217s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f2e01ed1495_65e2aadc67b45f0711684@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_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/wwan_perst.c] [ 140s] [COMPILING libboard/qmod/source/card_pres.c] [ 140s] [COMPILING libboard/qmod/source/wwan_led.c] [ 140s] [COMPILING libboard/qmod/source/i2c.c] [ 140s] [COMPILING libboard/qmod/source/board_qmod.c] [ 140s] [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] [ 141s] Memory region Used Size Region Size %age Used [ 141s] rom: 16504 B 16 KB 100.73% [ 141s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 141s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 141s] collect2: error: ld returned 1 exit status [ 141s] % [ 141s] make[2]: *** [Makefile:234: flash] Error 1 [ 141s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 141s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 141s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 141s] dh_auto_build: make -j1 returned exit code 2 [ 141s] make: *** [debian/rules:16: build] Error 2 [ 141s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 141s] ### VM INTERACTION START ### [ 144s] [ 130.449513] sysrq: Power Off [ 144s] [ 130.454939] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] cloud126 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:37:31 UTC 2020. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:55 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f2e020b7cac6_65e2aadc67b45f07117b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 136s] [COMPILING libboard/qmod/source/i2c.c] [ 137s] [COMPILING libboard/qmod/source/board_qmod.c] [ 137s] [COMPILING apps/dfu/main.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 137s] Memory region Used Size Region Size %age Used [ 137s] rom: 16576 B 16 KB 101.17% [ 137s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 137s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 137s] collect2: error: ld returned 1 exit status [ 137s] % [ 137s] Makefile:234: recipe for target 'flash' failed [ 137s] make[2]: *** [flash] Error 1 [ 137s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 137s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 137s] make[1]: *** [fw-qmod-dfu] Error 2 [ 137s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 137s] dh_auto_build: make -j1 returned exit code 2 [ 137s] debian/rules:16: recipe for target 'build' failed [ 137s] make: *** [build] Error 2 [ 137s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 137s] ### VM INTERACTION START ### [ 140s] [ 132.641080] sysrq: Power Off [ 140s] [ 132.645562] reboot: Power down [ 141s] ### VM INTERACTION END ### [ 141s] [ 141s] lamb56 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:37:41 UTC 2020. [ 141s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:55 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f2e020bc18de_65e2aadc67b45f0711824@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 116s] [COMPILING libboard/qmod/source/i2c.c] [ 116s] [COMPILING libboard/qmod/source/board_qmod.c] [ 116s] [COMPILING apps/dfu/main.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 116s] Memory region Used Size Region Size %age Used [ 116s] rom: 16584 B 16 KB 101.22% [ 116s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 116s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 116s] collect2: error: ld returned 1 exit status [ 116s] % [ 116s] Makefile:234: recipe for target 'flash' failed [ 116s] make[2]: *** [flash] Error 1 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 116s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 116s] make[1]: *** [fw-qmod-dfu] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 116s] dh_auto_build: make -j1 returned exit code 2 [ 116s] debian/rules:16: recipe for target 'build' failed [ 116s] make: *** [build] Error 2 [ 117s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 117s] ### VM INTERACTION START ### [ 120s] [ 111.031350] sysrq: Power Off [ 120s] [ 111.038602] reboot: Power down [ 120s] ### VM INTERACTION END ### [ 120s] [ 120s] lamb04 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:37:43 UTC 2020. [ 120s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:37:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:37:55 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f2e020c97af_65e2aadc67b45f0711938@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 151s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 151s] [COMPILING libboard/qmod/source/card_pres.c] [ 152s] [COMPILING libboard/qmod/source/wwan_led.c] [ 152s] [COMPILING libboard/qmod/source/i2c.c] [ 152s] [COMPILING libboard/qmod/source/board_qmod.c] [ 152s] [COMPILING apps/dfu/main.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 153s] Memory region Used Size Region Size %age Used [ 153s] rom: 16504 B 16 KB 100.73% [ 153s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 153s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 153s] collect2: error: ld returned 1 exit status [ 153s] % [ 153s] make[2]: *** [Makefile:234: flash] Error 1 [ 153s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 153s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 153s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 153s] dh_auto_build: make -j1 returned exit code 2 [ 153s] make: *** [debian/rules:16: build] Error 2 [ 153s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 153s] ### VM INTERACTION START ### [ 156s] [ 142.801622] sysrq: Power Off [ 156s] [ 142.830112] reboot: Power down [ 156s] ### VM INTERACTION END ### [ 156s] [ 156s] cloud122 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:37:43 UTC 2020. [ 156s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:38:12 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:38:12 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2e020ce415d_65e2aadc67b45f0712059@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: [ 115s] [COMPILING libboard/common/source/uart_console.c] [ 116s] [COMPILING libboard/common/source/led.c] [ 116s] [COMPILING libboard/common/source/boardver_adc.c] [ 116s] [COMPILING libboard/common/source/manifest.c] [ 116s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 116s] [COMPILING apps/dfu/main.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 117s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 117s] Memory region Used Size Region Size %age Used [ 117s] rom: 16460 B 16 KB 100.46% [ 117s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 117s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 117s] collect2: error: ld returned 1 exit status [ 117s] % [ 117s] make[2]: *** [Makefile:234: flash] Error 1 [ 117s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 117s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 117s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 117s] dh_auto_build: error: make -j1 returned exit code 2 [ 117s] make: *** [debian/rules:16: build] Error 25 [ 117s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 117s] ### VM INTERACTION START ### [ 120s] [ 109.589730] sysrq: Power Off [ 120s] [ 109.593669] reboot: Power down [ 120s] ### VM INTERACTION END ### [ 120s] [ 120s] cloud127 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:38:00 UTC 2020. [ 120s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:38:47 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:38:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2e02471be55_65e2aadc67b45f0712152@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 81s] [COMPILING apps/dfu/main.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 81s] Memory region Used Size Region Size %age Used [ 81s] rom: 16464 B 16 KB 100.49% [ 81s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 81s] collect2: error: ld returned 1 exit status [ 81s] % [ 81s] make[2]: *** [Makefile:234: flash] Error 1 [ 81s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 81s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 81s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 81s] dh_auto_build: error: make -j1 returned exit code 2 [ 81s] make: *** [debian/rules:16: build] Error 25 [ 81s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 81s] ### VM INTERACTION START ### [ 84s] [ 77.704637] sysrq: Power Off [ 84s] [ 77.710083] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] goat05 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:38:41 UTC 2020. [ 84s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:38:47 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:38:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2e02477a45c_65e2aadc67b45f07122ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 166s] [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: 16464 B 16 KB 100.49% [ 167s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 167s] collect2: error: ld returned 1 exit status [ 167s] % [ 167s] make[2]: *** [Makefile:234: 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 ### [ 170s] [ 160.430161] sysrq: Power Off [ 170s] [ 160.434286] reboot: Power down [ 170s] ### VM INTERACTION END ### [ 170s] [ 170s] lamb28 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:38:44 UTC 2020. [ 170s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 01:43:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 01:43:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f2e0356b9f59_65e2aadc67b45f071262a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 195s] [COMPILING libboard/qmod/source/i2c.c] [ 196s] [COMPILING libboard/qmod/source/board_qmod.c] [ 196s] [COMPILING apps/dfu/main.c] [ 197s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 197s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 197s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 198s] Memory region Used Size Region Size %age Used [ 198s] rom: 16584 B 16 KB 101.22% [ 198s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 198s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 198s] collect2: error: ld returned 1 exit status [ 198s] % [ 198s] Makefile:234: recipe for target 'flash' failed [ 198s] make[2]: *** [flash] Error 1 [ 198s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 198s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 198s] make[1]: *** [fw-qmod-dfu] Error 2 [ 198s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 198s] dh_auto_build: make -j1 returned exit code 2 [ 198s] debian/rules:16: recipe for target 'build' failed [ 198s] make: *** [build] Error 2 [ 198s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 198s] ### VM INTERACTION START ### [ 201s] [ 187.367132] sysrq: Power Off [ 201s] [ 187.370936] reboot: Power down [ 201s] ### VM INTERACTION END ### [ 201s] [ 201s] obs-arm-1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 01:43:23 UTC 2020. [ 201s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 02:27:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 02:27:55 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f2e0dc1a5482_65e2aadc67b45f0715498@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: [ 331s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 332s] [COMPILING libboard/qmod/source/card_pres.c] [ 332s] [COMPILING libboard/qmod/source/wwan_led.c] [ 332s] [COMPILING libboard/qmod/source/i2c.c] [ 333s] [COMPILING libboard/qmod/source/board_qmod.c] [ 333s] [COMPILING apps/dfu/main.c] [ 334s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 334s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 335s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 336s] Memory region Used Size Region Size %age Used [ 336s] rom: 16504 B 16 KB 100.73% [ 336s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 336s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 336s] collect2: error: ld returned 1 exit status [ 336s] % [ 336s] make[2]: *** [Makefile:234: flash] Error 1 [ 336s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 336s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 336s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 336s] dh_auto_build: make -j1 returned exit code 2 [ 336s] make: *** [debian/rules:16: build] Error 2 [ 336s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 336s] ### VM INTERACTION START ### [ 339s] [ 317.785433] sysrq: SysRq : Power Off [ 339s] [ 317.809418] reboot: Power down [ 339s] ### VM INTERACTION END ### [ 339s] [ 339s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 02:27:51 UTC 2020. [ 339s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 02:43:21 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 02:43:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f2e11648809f_65e2aadc67b45f071581@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 287s] [COMPILING libboard/qmod/source/i2c.c] [ 288s] [COMPILING libboard/qmod/source/board_qmod.c] [ 288s] [COMPILING apps/dfu/main.c] [ 289s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 289s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 290s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 290s] Memory region Used Size Region Size %age Used [ 290s] rom: 16584 B 16 KB 101.22% [ 290s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 290s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 290s] collect2: error: ld returned 1 exit status [ 290s] % [ 290s] Makefile:234: recipe for target 'flash' failed [ 290s] make[2]: *** [flash] Error 1 [ 290s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 290s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 290s] make[1]: *** [fw-qmod-dfu] Error 2 [ 290s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 290s] dh_auto_build: make -j1 returned exit code 2 [ 290s] debian/rules:16: recipe for target 'build' failed [ 290s] make: *** [build] Error 2 [ 290s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 290s] ### VM INTERACTION START ### [ 293s] [ 262.627206] sysrq: SysRq : Power Off [ 293s] [ 262.652050] reboot: Power down [ 294s] ### VM INTERACTION END ### [ 294s] [ 294s] armbuild01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 02:43:06 UTC 2020. [ 294s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 8 03:03:21 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Aug 2020 03:03:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f2e1617aaaec_65e2aadc67b45f0716498@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: [ 353s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 353s] [COMPILING libboard/qmod/source/card_pres.c] [ 354s] [COMPILING libboard/qmod/source/wwan_led.c] [ 355s] [COMPILING libboard/qmod/source/i2c.c] [ 356s] [COMPILING libboard/qmod/source/board_qmod.c] [ 356s] [COMPILING apps/dfu/main.c] [ 357s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 358s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 359s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 360s] Memory region Used Size Region Size %age Used [ 360s] rom: 16504 B 16 KB 100.73% [ 360s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 360s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 360s] collect2: error: ld returned 1 exit status [ 360s] % [ 360s] make[2]: *** [Makefile:234: flash] Error 1 [ 360s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 360s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 360s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 360s] dh_auto_build: make -j1 returned exit code 2 [ 360s] make: *** [debian/rules:16: build] Error 2 [ 360s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 360s] ### VM INTERACTION START ### [ 363s] [ 342.530783] sysrq: SysRq : Power Off [ 363s] [ 342.543325] reboot: Power down [ 364s] ### VM INTERACTION END ### [ 364s] [ 364s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 8 03:03:06 UTC 2020. [ 364s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Aug 8 07:04:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 07:04:18 +0000 Subject: Change in osmo-trx[master]: Added PCIeSDR support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19548 ) Change subject: Added PCIeSDR support ...................................................................... Patch Set 1: thanks for your contribution. I think the commitlog message could be a bit more verbose and include a very brief description about hwat "PCIeSDR" is (and what it can do in context of GSM, such as freuency range, output power, ...) , with some links to the hardware description. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I5b49b61d1c8f357e33acc066f44d6c7acfc3ba79 Gerrit-Change-Number: 19548 Gerrit-PatchSet: 1 Gerrit-Owner: Xavier Zu Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 08 Aug 2020 07:04: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 Sat Aug 8 08:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:19:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 10: do we need delay merging of this until osmo-pcu is updated? How will we handle testing -latest with older version while TTCN3 updates to v10? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 08 Aug 2020 08:19: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 Sat Aug 8 08:20:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:20:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 10: what I'm trying to say this kind of information belongs into the commitlog. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 08 Aug 2020 08:20:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 8 08:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:20:49 +0000 Subject: Change in libosmo-abis[master]: trau_sync: make sync pattern configurable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19547 ) Change subject: trau_sync: make sync pattern configurable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I1caff93b4c8eace8ba8cd6e32e996a9e1503232b Gerrit-Change-Number: 19547 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Aug 2020 08:20: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 Sat Aug 8 08:20:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:20:52 +0000 Subject: Change in libosmo-abis[master]: trau_sync: make sync pattern configurable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19547 ) Change subject: trau_sync: make sync pattern configurable ...................................................................... trau_sync: make sync pattern configurable When a trau sync fsm is allocated, the user must set the sync pattern, which can not be changed during the whole fsm lifecycle. However on codec changes it might be necessary to change the sync pattern on the fly. - Add function to change the sync pattern Change-Id: I1caff93b4c8eace8ba8cd6e32e996a9e1503232b Related: OS#2659 --- M include/osmocom/trau/trau_sync.h M src/trau/trau_sync.c 2 files changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/trau/trau_sync.h b/include/osmocom/trau/trau_sync.h index 46595be..bd99586 100644 --- a/include/osmocom/trau/trau_sync.h +++ b/include/osmocom/trau/trau_sync.h @@ -17,3 +17,4 @@ enum osmo_tray_sync_pat_id pat_id, void *user_data); void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits); +void osmo_trau_sync_set_pat(struct osmo_fsm_inst *fi, enum osmo_tray_sync_pat_id pat_id); diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c index 730cf0c..89c5558 100644 --- a/src/trau/trau_sync.c +++ b/src/trau/trau_sync.c @@ -499,7 +499,6 @@ tss->out_cb = frame_out_cb; tss->user_data = user_data; - /* FIXME: this must be configurable */ tss->pattern = &sync_patterns[pat_id]; /* An unusued E1 timeslot normally would send an idle signal that @@ -511,6 +510,14 @@ return fi; } +void osmo_trau_sync_set_pat(struct osmo_fsm_inst *fi, enum osmo_tray_sync_pat_id pat_id) +{ + struct trau_rx_sync_state *tss = fi->priv; + + tss->pattern = &sync_patterns[pat_id]; + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNMENT_LOST, 0, 0); +} + void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits) { struct ubit_buf ubb; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I1caff93b4c8eace8ba8cd6e32e996a9e1503232b Gerrit-Change-Number: 19547 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 Sat Aug 8 08:22:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:22:35 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: implement the concept of test case groups In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 ) Change subject: ttcn3/lib/testlib.py: implement the concept of test case groups ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 Gerrit-Change-Number: 19530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 08 Aug 2020 08:22: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 Aug 8 08:22:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:22:39 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: make list of kwargs git friendly In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 ) Change subject: ttcn3/lib/testlib.py: make list of kwargs git friendly ...................................................................... ttcn3/lib/testlib.py: make list of kwargs git friendly Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 394e76e..3548333 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -21,7 +21,10 @@ print('Creating template') mytemplate = Template(filename=bts_tmpl_file) - r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), pcu_available=pcu_available, ttcn3_test_execute=ttcn3_test_execute, ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) + r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), + pcu_available=pcu_available, + ttcn3_test_execute=ttcn3_test_execute, + ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) with open(bts_cfg_file, 'w') as f: f.write(r) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5 Gerrit-Change-Number: 19529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 8 08:22:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:22:39 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: implement the concept of test case groups In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 ) Change subject: ttcn3/lib/testlib.py: implement the concept of test case groups ...................................................................... ttcn3/lib/testlib.py: implement the concept of test case groups Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 3 files changed, 11 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 3548333..c3b3f35 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -4,7 +4,9 @@ from osmo_gsm_tester.testenv import * -def run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): +def run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, + ttcn3_test_groups = [], + ttcn3_test_extra_module_params=""): own_dir = testdir script_file = os.path.join(testdir, 'scripts', 'run_ttcn3_docker.sh') bts_tmpl_file = os.path.join(testdir, 'scripts', 'BTS_Tests.cfg.tmpl') @@ -23,7 +25,7 @@ mytemplate = Template(filename=bts_tmpl_file) r = mytemplate.render(btsvty_ctrl_hostname=bts.remote_addr(), pcu_available=pcu_available, - ttcn3_test_execute=ttcn3_test_execute, + ttcn3_test_groups=ttcn3_test_groups, ttcn3_test_extra_module_params=ttcn3_test_extra_module_params) with open(bts_cfg_file, 'w') as f: f.write(r) diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl index 510234e..4756ea1 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl @@ -29,4 +29,6 @@ [MAIN_CONTROLLER] [EXECUTE] -${ttcn3_test_execute} +% for group in ttcn3_test_groups: +${group}.control +% endfor diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index 4382454..7f0b24f 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -6,7 +6,9 @@ tenv.test_import_modules_register_for_cleanup(testlib) from testlib import run_ttcn3 -ttcn3_test_execute="BTS_Tests.control" +ttcn3_test_groups = [ + 'BTS_Tests', +] hlr_dummy = tenv.hlr() mgw_dummy = tenv.mgw() @@ -46,4 +48,4 @@ osmocon.start() testdir = os.path.dirname(os.path.realpath(__file__)) -run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) +run_ttcn3(tenv, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_groups) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3 Gerrit-Change-Number: 19530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Hoernchen 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 Sat Aug 8 08:22:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB, LAPDm} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 ) Change subject: ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} ...................................................................... ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm} Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index 7f0b24f..c999aaa 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -8,6 +8,8 @@ ttcn3_test_groups = [ 'BTS_Tests', + 'BTS_Tests_SMSCB', + 'BTS_Tests_LAPDm', ] hlr_dummy = tenv.hlr() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523 Gerrit-Change-Number: 19531 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 Sat Aug 8 08:22:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Aug 2020 08:22:40 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 ) Change subject: ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' ...................................................................... ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1' Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh index 535268a..76df04b 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh @@ -71,6 +71,7 @@ fi docker run --rm \ --network $NET_NAME --ip 172.18.9.10 \ + --ulimit core=-1 \ -p ${BSC_RSL_ADDR}:3003:3003 \ -e "TTCN3_PCAP_PATH=/data" \ --mount type=bind,source=$VOL_BASE_DIR/bts-tester,destination=/data \ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie3457f10f1a398c8cce6737002410f42ad908702 Gerrit-Change-Number: 19532 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 9 01:34:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:34:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f2f52b756453_65e2aadc67b45f09695c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 117s] [COMPILING libboard/qmod/source/i2c.c] [ 118s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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] [ 119s] Memory region Used Size Region Size %age Used [ 119s] rom: 16584 B 16 KB 101.22% [ 119s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 119s] collect2: error: ld returned 1 exit status [ 119s] % [ 119s] Makefile:234: recipe for target 'flash' failed [ 119s] make[2]: *** [flash] Error 1 [ 119s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 119s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 119s] make[1]: *** [fw-qmod-dfu] Error 2 [ 119s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 119s] dh_auto_build: make -j1 returned exit code 2 [ 119s] debian/rules:16: recipe for target 'build' failed [ 119s] make: *** [build] Error 2 [ 119s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 119s] ### VM INTERACTION START ### [ 122s] [ 114.300612] sysrq: Power Off [ 122s] [ 114.305886] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:34:24 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:34:28 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:34:28 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f2f52b7c33b4_65e2aadc67b45f096969a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 128s] [COMPILING libboard/qmod/source/i2c.c] [ 128s] [COMPILING libboard/qmod/source/board_qmod.c] [ 128s] [COMPILING apps/dfu/main.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 129s] Memory region Used Size Region Size %age Used [ 129s] rom: 16576 B 16 KB 101.17% [ 129s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 129s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 129s] collect2: error: ld returned 1 exit status [ 129s] % [ 129s] Makefile:234: recipe for target 'flash' failed [ 129s] make[2]: *** [flash] Error 1 [ 129s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 129s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 129s] make[1]: *** [fw-qmod-dfu] Error 2 [ 129s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 129s] dh_auto_build: make -j1 returned exit code 2 [ 129s] debian/rules:16: recipe for target 'build' failed [ 129s] make: *** [build] Error 2 [ 129s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 129s] ### VM INTERACTION START ### [ 132s] [ 124.877761] sysrq: Power Off [ 132s] [ 124.883719] reboot: Power down [ 132s] ### VM INTERACTION END ### [ 132s] [ 132s] lamb28 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:34:26 UTC 2020. [ 132s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:35:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:35:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f2f52d7bc495_65e2aadc67b45f0969797@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 169s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 169s] [COMPILING libboard/qmod/source/card_pres.c] [ 169s] [COMPILING libboard/qmod/source/wwan_led.c] [ 169s] [COMPILING libboard/qmod/source/i2c.c] [ 169s] [COMPILING libboard/qmod/source/board_qmod.c] [ 170s] [COMPILING apps/dfu/main.c] [ 170s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 170s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 170s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 170s] Memory region Used Size Region Size %age Used [ 170s] rom: 16504 B 16 KB 100.73% [ 170s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 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: make -j1 returned exit code 2 [ 170s] make: *** [debian/rules:16: build] Error 255 [ 170s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 170s] ### VM INTERACTION START ### [ 173s] [ 165.069045] sysrq: Power Off [ 173s] [ 165.074137] reboot: Power down [ 173s] ### VM INTERACTION END ### [ 173s] [ 173s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:34:53 UTC 2020. [ 173s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:36:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:36:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f2f5331960da_65e2aadc67b45f09698d9@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 libboard/common/source/uart_console.c] [ 125s] [COMPILING libboard/common/source/led.c] [ 125s] [COMPILING libboard/common/source/boardver_adc.c] [ 125s] [COMPILING libboard/common/source/manifest.c] [ 125s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 125s] [COMPILING apps/dfu/main.c] [ 125s] [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: 16460 B 16 KB 100.46% [ 126s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 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:10: fw-simtrace-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] [ 118.704700] sysrq: Power Off [ 129s] [ 118.709149] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] cloud136 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:36:26 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:36:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:36:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f2f5332ae44_65e2aadc67b45f0969988@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 143s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 144s] [COMPILING libboard/qmod/source/card_pres.c] [ 144s] [COMPILING libboard/qmod/source/wwan_led.c] [ 144s] [COMPILING libboard/qmod/source/i2c.c] [ 144s] [COMPILING libboard/qmod/source/board_qmod.c] [ 144s] [COMPILING apps/dfu/main.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 145s] Memory region Used Size Region Size %age Used [ 145s] rom: 16504 B 16 KB 100.73% [ 145s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 145s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 145s] collect2: error: ld returned 1 exit status [ 145s] % [ 145s] make[2]: *** [Makefile:234: flash] Error 1 [ 145s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 145s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 145s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 145s] dh_auto_build: make -j1 returned exit code 2 [ 145s] make: *** [debian/rules:16: build] Error 2 [ 145s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 145s] ### VM INTERACTION START ### [ 148s] [ 139.369468] sysrq: Power Off [ 148s] [ 139.375808] reboot: Power down [ 148s] ### VM INTERACTION END ### [ 148s] [ 148s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:36:33 UTC 2020. [ 148s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:37:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:37:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f2f534bb90cc_65e2aadc67b45f097009a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 147s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 147s] [COMPILING libboard/qmod/source/card_pres.c] [ 147s] [COMPILING libboard/qmod/source/wwan_led.c] [ 148s] [COMPILING libboard/qmod/source/i2c.c] [ 148s] [COMPILING libboard/qmod/source/board_qmod.c] [ 148s] [COMPILING apps/dfu/main.c] [ 148s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 148s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 148s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 149s] Memory region Used Size Region Size %age Used [ 149s] rom: 16504 B 16 KB 100.73% [ 149s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 149s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 149s] collect2: error: ld returned 1 exit status [ 149s] % [ 149s] make[2]: *** [Makefile:234: flash] Error 1 [ 149s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 149s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 149s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 149s] dh_auto_build: make -j1 returned exit code 2 [ 149s] make: *** [debian/rules:16: build] Error 2 [ 149s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 149s] ### VM INTERACTION START ### [ 152s] [ 141.585985] sysrq: Power Off [ 152s] [ 141.608425] reboot: Power down [ 152s] ### VM INTERACTION END ### [ 152s] [ 152s] cloud103 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:36:57 UTC 2020. [ 152s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:37:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:37:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f2f534cb178f_65e2aadc67b45f097023c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 132s] [COMPILING libboard/qmod/source/i2c.c] [ 132s] [COMPILING libboard/qmod/source/board_qmod.c] [ 132s] [COMPILING apps/dfu/main.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 132s] Memory region Used Size Region Size %age Used [ 132s] rom: 16576 B 16 KB 101.17% [ 132s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 132s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 132s] collect2: error: ld returned 1 exit status [ 132s] % [ 132s] Makefile:234: recipe for target 'flash' failed [ 132s] make[2]: *** [flash] Error 1 [ 132s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 132s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 132s] make[1]: *** [fw-qmod-dfu] Error 2 [ 132s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 132s] dh_auto_build: make -j1 returned exit code 2 [ 132s] debian/rules:16: recipe for target 'build' failed [ 132s] make: *** [build] Error 2 [ 132s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 133s] ### VM INTERACTION START ### [ 136s] [ 128.226155] sysrq: Power Off [ 136s] [ 128.232706] reboot: Power down [ 136s] ### VM INTERACTION END ### [ 136s] [ 136s] lamb67 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:36:55 UTC 2020. [ 136s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:37:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:37:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f2f534d12e55_65e2aadc67b45f09703d4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 74s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 74s] [COMPILING libboard/qmod/source/card_pres.c] [ 74s] [COMPILING libboard/qmod/source/wwan_led.c] [ 74s] [COMPILING libboard/qmod/source/i2c.c] [ 74s] [COMPILING libboard/qmod/source/board_qmod.c] [ 74s] [COMPILING apps/dfu/main.c] [ 74s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 74s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 74s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 75s] Memory region Used Size Region Size %age Used [ 75s] rom: 16576 B 16 KB 101.17% [ 75s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 75s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 75s] collect2: error: ld returned 1 exit status [ 75s] % [ 75s] make[2]: *** [Makefile:234: flash] Error 1 [ 75s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 75s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 75s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 75s] dh_auto_build: make -j1 returned exit code 2 [ 75s] make: *** [debian/rules:16: build] Error 2 [ 75s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 75s] ### VM INTERACTION START ### [ 78s] [ 73.417254] sysrq: Power Off [ 78s] [ 73.423506] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 78s] [ 78s] goat15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:36:56 UTC 2020. [ 78s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:37:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:37:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2f536cc1402_65e2aadc67b45f09704a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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: 16464 B 16 KB 100.49% [ 118s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 118s] collect2: error: ld returned 1 exit status [ 118s] % [ 118s] make[2]: *** [Makefile:234: 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 ### [ 122s] [ 112.494474] sysrq: Power Off [ 122s] [ 112.499112] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] sheep87 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:37:35 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:37:53 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:37:53 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f2f538bf2e85_65e2aadc67b45f09705cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 133s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 133s] [COMPILING libboard/qmod/source/card_pres.c] [ 133s] [COMPILING libboard/qmod/source/wwan_led.c] [ 133s] [COMPILING libboard/qmod/source/i2c.c] [ 133s] [COMPILING libboard/qmod/source/board_qmod.c] [ 133s] [COMPILING apps/dfu/main.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 134s] Memory region Used Size Region Size %age Used [ 134s] rom: 16576 B 16 KB 101.17% [ 134s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 134s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 134s] collect2: error: ld returned 1 exit status [ 134s] % [ 134s] make[2]: *** [Makefile:234: flash] Error 1 [ 134s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 134s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 134s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 134s] dh_auto_build: make -j1 returned exit code 2 [ 134s] make: *** [debian/rules:16: build] Error 2 [ 134s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 134s] ### VM INTERACTION START ### [ 137s] [ 129.461901] sysrq: Power Off [ 137s] [ 129.467727] reboot: Power down [ 137s] ### VM INTERACTION END ### [ 137s] [ 137s] lamb64 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:37:44 UTC 2020. [ 137s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:38:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:38:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f2f53a854753_65e2aadc67b45f097087d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 94s] [COMPILING libboard/qmod/source/i2c.c] [ 94s] [COMPILING libboard/qmod/source/board_qmod.c] [ 94s] [COMPILING apps/dfu/main.c] [ 94s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 94s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 95s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 95s] Memory region Used Size Region Size %age Used [ 95s] rom: 16584 B 16 KB 101.22% [ 95s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 95s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 95s] collect2: error: ld returned 1 exit status [ 95s] % [ 95s] Makefile:234: recipe for target 'flash' failed [ 95s] make[2]: *** [flash] Error 1 [ 95s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 95s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 95s] make[1]: *** [fw-qmod-dfu] Error 2 [ 95s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 95s] dh_auto_build: make -j1 returned exit code 2 [ 95s] debian/rules:16: recipe for target 'build' failed [ 95s] make: *** [build] Error 2 [ 95s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 95s] ### VM INTERACTION START ### [ 98s] [ 90.745751] sysrq: Power Off [ 98s] [ 90.751816] reboot: Power down [ 98s] ### VM INTERACTION END ### [ 98s] [ 98s] lamb15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:38:42 UTC 2020. [ 98s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:38:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:38:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f2f53a8c5964_65e2aadc67b45f097097d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 206s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 206s] [COMPILING libboard/qmod/source/card_pres.c] [ 206s] [COMPILING libboard/qmod/source/wwan_led.c] [ 206s] [COMPILING libboard/qmod/source/i2c.c] [ 207s] [COMPILING libboard/qmod/source/board_qmod.c] [ 207s] [COMPILING apps/dfu/main.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 207s] Memory region Used Size Region Size %age Used [ 207s] rom: 16504 B 16 KB 100.73% [ 207s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 207s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 207s] collect2: error: ld returned 1 exit status [ 207s] % [ 207s] make[2]: *** [Makefile:234: flash] Error 1 [ 207s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 207s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 207s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 207s] dh_auto_build: make -j1 returned exit code 2 [ 207s] make: *** [debian/rules:16: build] Error 2 [ 207s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 207s] ### VM INTERACTION START ### [ 210s] [ 199.959778] sysrq: Power Off [ 210s] [ 199.966742] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] lamb58 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:38:31 UTC 2020. [ 210s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:39:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:39:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f2f53e1dd297_65e2aadc67b45f0971146@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 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] [ 113s] Memory region Used Size Region Size %age Used [ 113s] rom: 16464 B 16 KB 100.49% [ 113s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 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 ### [ 116s] [ 107.847013] sysrq: Power Off [ 116s] [ 107.850656] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] sheep86 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:39:34 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:43:19 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:43:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f2f54d32dfa8_65e2aadc67b45f09717a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 175s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 175s] [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] [ 178s] Memory region Used Size Region Size %age Used [ 178s] rom: 16504 B 16 KB 100.73% [ 178s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 178s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 178s] collect2: error: ld returned 1 exit status [ 178s] % [ 178s] make[2]: *** [Makefile:234: flash] Error 1 [ 178s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 178s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 178s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 178s] dh_auto_build: make -j1 returned exit code 2 [ 178s] make: *** [debian/rules:16: build] Error 2 [ 178s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 178s] ### VM INTERACTION START ### [ 181s] [ 164.947853] sysrq: Power Off [ 181s] [ 164.988594] reboot: Power down [ 181s] ### VM INTERACTION END ### [ 181s] [ 181s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:43:06 UTC 2020. [ 181s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 01:44:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 01:44:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f2f54f42f9b5_65e2aadc67b45f09719c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 146s] [COMPILING libboard/qmod/source/i2c.c] [ 146s] [COMPILING libboard/qmod/source/board_qmod.c] [ 146s] [COMPILING apps/dfu/main.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 147s] Memory region Used Size Region Size %age Used [ 147s] rom: 16584 B 16 KB 101.22% [ 147s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 147s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 147s] collect2: error: ld returned 1 exit status [ 147s] % [ 147s] Makefile:234: recipe for target 'flash' failed [ 147s] make[2]: *** [flash] Error 1 [ 147s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 147s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 147s] make[1]: *** [fw-qmod-dfu] Error 2 [ 147s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 147s] dh_auto_build: make -j1 returned exit code 2 [ 147s] debian/rules:16: recipe for target 'build' failed [ 147s] make: *** [build] Error 2 [ 147s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 147s] ### VM INTERACTION START ### [ 150s] [ 136.606939] sysrq: Power Off [ 150s] [ 136.608598] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 01:44:02 UTC 2020. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 03:10:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 03:10:27 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2f693531016_65e2aadc67b45f09808bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 121s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 121s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 121s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 121s] | | [ 121s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 121s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 121s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 121s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 121s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 121s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 121s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 121s] cc1: all warnings being treated as errors [ 121s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 121s] make[3]: *** Waiting for unfinished jobs.... [ 121s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 121s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 121s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 121s] make[1]: *** [Makefile:166: all] Error 2 [ 121s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 121s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 121s] make: *** [debian/rules:9: build] Error 25 [ 121s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 121s] ### VM INTERACTION START ### [ 125s] [ 113.303180] sysrq: Power Off [ 125s] [ 113.310306] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] lamb61 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 03:10:18 UTC 2020. [ 125s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 03:10:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 03:10:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2f6955601_65e2aadc67b45f098096f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 81s] [COMPILING apps/dfu/main.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 81s] Memory region Used Size Region Size %age Used [ 81s] rom: 16464 B 16 KB 100.49% [ 81s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 81s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 81s] collect2: error: ld returned 1 exit status [ 81s] % [ 81s] make[2]: *** [Makefile:234: flash] Error 1 [ 81s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 81s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 81s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 81s] dh_auto_build: error: make -j1 returned exit code 2 [ 81s] make: *** [debian/rules:16: build] Error 25 [ 81s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 81s] ### VM INTERACTION START ### [ 84s] [ 77.965873] sysrq: Power Off [ 84s] [ 77.972103] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] goat03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 03:10:37 UTC 2020. [ 84s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 03:12:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 03:12:27 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2f69ad40f7f_65e2aadc67b45f098136a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 125s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 125s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 125s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 125s] | | [ 125s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 125s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 125s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 125s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 125s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 125s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 125s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 126s] cc1: all warnings being treated as errors [ 126s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 126s] make[3]: *** Waiting for unfinished jobs.... [ 126s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 126s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 126s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 126s] make[1]: *** [Makefile:166: all] Error 2 [ 126s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 126s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 126s] make: *** [debian/rules:9: build] Error 25 [ 126s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 126s] ### VM INTERACTION START ### [ 129s] [ 118.759622] sysrq: Power Off [ 129s] [ 118.766450] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb17 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 03:12:26 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 07:12:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 07:12:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f2fa1dd327d_65e2aadc67b45f01036541@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: [ 595s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 595s] [COMPILING libboard/qmod/source/card_pres.c] [ 596s] [COMPILING libboard/qmod/source/wwan_led.c] [ 596s] [COMPILING libboard/qmod/source/i2c.c] [ 596s] [COMPILING libboard/qmod/source/board_qmod.c] [ 597s] [COMPILING apps/dfu/main.c] [ 597s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 598s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 598s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 599s] Memory region Used Size Region Size %age Used [ 599s] rom: 16504 B 16 KB 100.73% [ 599s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 599s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 599s] collect2: error: ld returned 1 exit status [ 599s] % [ 599s] make[2]: *** [Makefile:234: flash] Error 1 [ 599s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 599s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 599s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 599s] dh_auto_build: make -j1 returned exit code 2 [ 599s] make: *** [debian/rules:16: build] Error 2 [ 599s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 599s] ### VM INTERACTION START ### [ 602s] [ 573.736120] sysrq: SysRq : Power Off [ 602s] [ 573.759652] reboot: Power down [ 603s] ### VM INTERACTION END ### [ 603s] [ 603s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 07:11:43 UTC 2020. [ 603s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 07:53:26 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 07:53:26 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f2fabaf6485b_65e2aadc67b45f0105862b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 189s] [COMPILING libboard/qmod/source/i2c.c] [ 189s] [COMPILING libboard/qmod/source/board_qmod.c] [ 189s] [COMPILING apps/dfu/main.c] [ 190s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 190s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 190s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 191s] Memory region Used Size Region Size %age Used [ 191s] rom: 16584 B 16 KB 101.22% [ 191s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 191s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 191s] collect2: error: ld returned 1 exit status [ 191s] % [ 191s] Makefile:234: recipe for target 'flash' failed [ 191s] make[2]: *** [flash] Error 1 [ 191s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 191s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 191s] make[1]: *** [fw-qmod-dfu] Error 2 [ 191s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 191s] dh_auto_build: make -j1 returned exit code 2 [ 191s] debian/rules:16: recipe for target 'build' failed [ 191s] make: *** [build] Error 2 [ 191s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 191s] ### VM INTERACTION START ### [ 194s] [ 180.656450] sysrq: SysRq : Power Off [ 194s] [ 180.658196] reboot: Power down [ 194s] ### VM INTERACTION END ### [ 194s] [ 194s] armbuild21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 07:53:21 UTC 2020. [ 194s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 08:06:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 08:06:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f2faea5be6dc_65e2aadc67b45f0106874@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: [ 234s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 235s] [COMPILING libboard/qmod/source/card_pres.c] [ 235s] [COMPILING libboard/qmod/source/wwan_led.c] [ 235s] [COMPILING libboard/qmod/source/i2c.c] [ 235s] [COMPILING libboard/qmod/source/board_qmod.c] [ 236s] [COMPILING apps/dfu/main.c] [ 236s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 236s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 236s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 237s] Memory region Used Size Region Size %age Used [ 237s] rom: 16504 B 16 KB 100.73% [ 237s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 237s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 237s] collect2: error: ld returned 1 exit status [ 237s] % [ 237s] make[2]: *** [Makefile:234: flash] Error 1 [ 237s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 237s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 237s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 237s] dh_auto_build: make -j1 returned exit code 2 [ 237s] make: *** [debian/rules:16: build] Error 2 [ 237s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 237s] ### VM INTERACTION START ### [ 240s] [ 214.037370] sysrq: SysRq : Power Off [ 240s] [ 214.038886] reboot: Power down [ 240s] ### VM INTERACTION END ### [ 240s] [ 240s] armbuild02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 08:06:31 UTC 2020. [ 240s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 09:11:08 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 09:11:08 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2fbdc039ba_65e2aadc67b45f01078746@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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] [ 83s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 83s] Memory region Used Size Region Size %age Used [ 83s] rom: 16464 B 16 KB 100.49% [ 83s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 83s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 83s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 83s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 83s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 83s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 83s] collect2: error: ld returned 1 exit status [ 83s] % [ 83s] make[2]: *** [Makefile:234: 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.719118] sysrq: Power Off [ 86s] [ 78.725344] reboot: Power down [ 86s] ### VM INTERACTION END ### [ 86s] [ 86s] goat17 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 9 09:10:54 UTC 2020. [ 86s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 09:12:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 09:12:34 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2fbe18b5b77_65e2aadc67b45f010788da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 115s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 115s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 115s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 115s] | | [ 115s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 115s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 115s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 115s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 115s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 115s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 115s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 116s] cc1: all warnings being treated as errors [ 116s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 116s] make[3]: *** Waiting for unfinished jobs.... [ 116s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[1]: *** [Makefile:166: all] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 116s] make: *** [debian/rules:9: build] Error 25 [ 116s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 99.859707] sysrq: Power Off [ 119s] [ 99.863845] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] cloud108 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 09:12:27 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 09:13:08 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 09:13:08 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f2fbe39282fc_65e2aadc67b45f01079052@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 123s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 123s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 123s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 123s] | | [ 123s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 123s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 123s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 123s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 123s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 123s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 123s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 124s] cc1: all warnings being treated as errors [ 124s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 124s] make[3]: *** Waiting for unfinished jobs.... [ 124s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 124s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[1]: *** [Makefile:166: all] Error 2 [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 124s] make: *** [debian/rules:9: build] Error 25 [ 124s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 124s] ### VM INTERACTION START ### [ 127s] [ 116.194658] sysrq: Power Off [ 127s] [ 116.200346] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] lamb12 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 09:12:51 UTC 2020. [ 127s] -- 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 Aug 9 11:04:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Aug 2020 11:04:21 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Remove limesuite-debian10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19549 ) Change subject: osmocom-latest-packages: Remove limesuite-debian10 ...................................................................... osmocom-latest-packages: Remove limesuite-debian10 Since LimeSuite v20.07.x has been released, we don't need a debian10 specific package anymore. Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05 --- M scripts/osmocom-latest-packages.sh 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/49/19549/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 212bb4c..308efbc 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -154,11 +154,9 @@ cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals - osmo_obs_checkout_copy debian10 limesuite build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" - build limesuite-debian10 --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05 Gerrit-Change-Number: 19549 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 Aug 9 11:04:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Aug 2020 11:04:38 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Remove limesuite-debian10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19549 ) Change subject: osmocom-latest-packages: Remove limesuite-debian10 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05 Gerrit-Change-Number: 19549 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 09 Aug 2020 11:04: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 Aug 9 11:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Aug 2020 11:04:47 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Remove limesuite-debian10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19549 ) Change subject: osmocom-latest-packages: Remove limesuite-debian10 ...................................................................... osmocom-latest-packages: Remove limesuite-debian10 Since LimeSuite v20.07.x has been released, we don't need a debian10 specific package anymore. Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05 --- M scripts/osmocom-latest-packages.sh 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 212bb4c..308efbc 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -154,11 +154,9 @@ cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals - osmo_obs_checkout_copy debian10 limesuite build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" - build limesuite-debian10 --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05 Gerrit-Change-Number: 19549 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 Sun Aug 9 11:29:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 11:29:26 +0000 Subject: Change in osmo-bsc[master]: vty: ensure that all warning messages are prefixed with '%%' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19550 ) Change subject: vty: ensure that all warning messages are prefixed with '%%' ...................................................................... vty: ensure that all warning messages are prefixed with '%%' Change-Id: I6f2348c481ed43904d05b42fd7d5ce04dedbf46b --- M src/osmo-bsc/bsc_vty.c 1 file changed, 57 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/19550/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index e4842f7..c1228be 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1771,7 +1771,7 @@ } if (!new_bts) { - vty_out(vty, "Unable to trigger handover, specified bts #%u does not exist %s", + vty_out(vty, "%% Unable to trigger handover, specified bts #%u does not exist %s", bts_nr_new, VTY_NEWLINE); return CMD_WARNING; } @@ -1793,7 +1793,7 @@ } } - vty_out(vty, "Unable to trigger %s, specified connection (bts=%u,trx=%u,ts=%u,ss=%u) does not exist%s", + vty_out(vty, "%% Unable to trigger %s, specified connection (bts=%u,trx=%u,ts=%u,ss=%u) does not exist%s", action, bts_nr, trx_nr, ts_nr, ss_nr, VTY_NEWLINE); return CMD_WARNING; @@ -1865,7 +1865,7 @@ random_idx %= count; } - vty_out(vty, "Cannot find any ongoing voice calls%s", VTY_NEWLINE); + vty_out(vty, "%% Cannot find any ongoing voice calls%s", VTY_NEWLINE); return NULL; } @@ -1892,7 +1892,7 @@ return bts; } } - vty_out(vty, "Cannot find any BTS (other than BTS %u) with free %s lchan%s", + vty_out(vty, "%% Cannot find any BTS (other than BTS %u) with free %s lchan%s", not_this_bts? not_this_bts->nr : 255, gsm_lchant_name(free_type), VTY_NEWLINE); return NULL; } @@ -2036,7 +2036,7 @@ page_group = gsm0502_calc_paging_group(&bts->si_common.chan_desc, str_to_imsi(argv[1])); - vty_out(vty, "%%Paging group for IMSI %" PRIu64 " on BTS #%d is %u%s", + vty_out(vty, "%% Paging group for IMSI %" PRIu64 " on BTS #%d is %u%s", str_to_imsi(argv[1]), bts->nr, page_group, VTY_NEWLINE); return CMD_SUCCESS; @@ -3197,7 +3197,7 @@ enum bts_gprs_mode mode = bts_gprs_mode_parse(argv[0], NULL); if (!bts_gprs_mode_is_compat(bts, mode)) { - vty_out(vty, "This BTS type does not support %s%s", argv[0], + vty_out(vty, "%% This BTS type does not support %s%s", argv[0], VTY_NEWLINE); return CMD_WARNING; } @@ -3305,7 +3305,7 @@ type = get_string_value(osmo_sitype_strs, argv[0]); if (type < 0) { - vty_out(vty, "Error SI Type%s", VTY_NEWLINE); + vty_out(vty, "%% Error SI Type%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3328,12 +3328,12 @@ type = get_string_value(osmo_sitype_strs, argv[0]); if (type < 0) { - vty_out(vty, "Error SI Type%s", VTY_NEWLINE); + vty_out(vty, "%% Error SI Type%s", VTY_NEWLINE); return CMD_WARNING; } if (!(bts->si_mode_static & (1 << type))) { - vty_out(vty, "SI Type %s is not configured in static mode%s", + vty_out(vty, "%% SI Type %s is not configured in static mode%s", get_value_string(osmo_sitype_strs, type), VTY_NEWLINE); return CMD_WARNING; } @@ -3344,7 +3344,7 @@ /* Parse the user-specified SI in hex format, [partially] overwriting padding */ rc = osmo_hexparse(argv[1], GSM_BTS_SI(bts, type), GSM_MACBLOCK_LEN); if (rc < 0 || rc > GSM_MACBLOCK_LEN) { - vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing HEXSTRING%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3376,7 +3376,7 @@ struct gsm_bts *bts = vty->index; if (!is_ipaccess_bts(bts) || is_sysmobts_v2(bts)) { - vty_out(vty, "This command is only intended for ipaccess nanoBTS. See OS#3707.%s", + vty_out(vty, "%% This command is only intended for ipaccess nanoBTS. See OS#3707.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3497,24 +3497,24 @@ switch (r) { case 1: - vty_out(vty, "Warning: multiple threshold-high are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple threshold-high are not supported, overriding with %u%s", thresh_hi, VTY_NEWLINE); break; case EARFCN_THRESH_LOW_INVALID: - vty_out(vty, "Warning: multiple threshold-low are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple threshold-low are not supported, overriding with %u%s", thresh_lo, VTY_NEWLINE); break; case EARFCN_QRXLV_INVALID + 1: - vty_out(vty, "Warning: multiple QRXLEVMIN are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple QRXLEVMIN are not supported, overriding with %u%s", qrx, VTY_NEWLINE); break; case EARFCN_PRIO_INVALID: - vty_out(vty, "Warning: multiple priorities are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple priorities are not supported, overriding with %u%s", prio, VTY_NEWLINE); break; default: if (r < 0) { - vty_out(vty, "Unable to add ARFCN %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); + vty_out(vty, "%% Unable to add ARFCN %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); return CMD_WARNING; } } @@ -3522,7 +3522,7 @@ if (si2q_num(bts) <= SI2Q_MAX_NUM) return CMD_SUCCESS; - vty_out(vty, "Warning: not enough space in SI2quater (%u/%u used) for a given EARFCN %u%s", + vty_out(vty, "%% Warning: not enough space in SI2quater (%u/%u used) for a given EARFCN %u%s", bts->si2q_count, SI2Q_MAX_NUM, arfcn, VTY_NEWLINE); osmo_earfcn_del(e, arfcn); @@ -3542,7 +3542,7 @@ uint16_t arfcn = atoi(argv[0]); int r = osmo_earfcn_del(e, arfcn); if (r < 0) { - vty_out(vty, "Unable to delete arfcn %u: %s%s", arfcn, + vty_out(vty, "%% Unable to delete arfcn %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); return CMD_WARNING; } @@ -3562,14 +3562,16 @@ switch(bts_uarfcn_add(bts, arfcn, scramble, atoi(argv[2]))) { case -ENOMEM: - vty_out(vty, "Unable to add UARFCN: max number of UARFCNs (%u) reached%s", MAX_EARFCN_LIST, VTY_NEWLINE); + vty_out(vty, "%% Unable to add UARFCN: max number of UARFCNs (%u) reached%s", + MAX_EARFCN_LIST, VTY_NEWLINE); return CMD_WARNING; case -ENOSPC: - vty_out(vty, "Warning: not enough space in SI2quater for a given UARFCN (%u, %u)%s", + vty_out(vty, "%% Warning: not enough space in SI2quater for a given UARFCN (%u, %u)%s", arfcn, scramble, VTY_NEWLINE); return CMD_WARNING; case -EADDRINUSE: - vty_out(vty, "Unable to add UARFCN: (%u, %u) is already added%s", arfcn, scramble, VTY_NEWLINE); + vty_out(vty, "%% Unable to add UARFCN: (%u, %u) is already added%s", + arfcn, scramble, VTY_NEWLINE); return CMD_WARNING; } @@ -3588,7 +3590,7 @@ struct gsm_bts *bts = vty->index; if (bts_uarfcn_del(bts, atoi(argv[0]), atoi(argv[1])) < 0) { - vty_out(vty, "Unable to delete uarfcn: pair not found%s", + vty_out(vty, "%% Unable to delete uarfcn: pair not found%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3734,9 +3736,9 @@ error = acc_ramp_set_step_interval(&bts->acc_ramp, atoi(argv[0])); if (error != 0) { if (error == -ERANGE) - vty_out(vty, "Unable to set ACC ramp step interval: value out of range%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step interval: value out of range%s", VTY_NEWLINE); else - vty_out(vty, "Unable to set ACC ramp step interval: unknown error%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step interval: unknown error%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3757,9 +3759,9 @@ error = acc_ramp_set_step_size(&bts->acc_ramp, atoi(argv[0])); if (error != 0) { if (error == -ERANGE) - vty_out(vty, "Unable to set ACC ramp step size: value out of range%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step size: value out of range%s", VTY_NEWLINE); else - vty_out(vty, "Unable to set ACC ramp step size: unknown error%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step size: unknown error%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3778,7 +3780,7 @@ rc = acc_ramp_set_chan_load_thresholds(&bts->acc_ramp, atoi(argv[0]), atoi(argv[1])); if (rc < 0) { - vty_out(vty, "Unable to set ACC channel load thresholds%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC channel load thresholds%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3909,20 +3911,20 @@ if (!is_ipaccess_bts(bts)) { - vty_out(vty, "This feature is only available for IP systems.%s", + vty_out(vty, "%% This feature is only available for IP systems.%s", VTY_NEWLINE); return CMD_WARNING; } other_bts = gsm_bts_num(bts->network, dep); if (!other_bts || !is_ipaccess_bts(other_bts)) { - vty_out(vty, "This feature is only available for IP systems.%s", + vty_out(vty, "%% This feature is only available for IP systems.%s", VTY_NEWLINE); return CMD_WARNING; } if (dep >= bts->nr) { - vty_out(vty, "%%Need to depend on an already declared unit.%s", + vty_out(vty, "%% Need to depend on an already declared unit.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3964,13 +3966,13 @@ for (i = 0; i < argc; i++) { mode = atoi(argv[i]); if (mode_prev > mode) { - vty_out(vty, "Modes must be listed in order%s", + vty_out(vty, "%% Modes must be listed in order%s", VTY_NEWLINE); return -1; } if (mode_prev == mode) { - vty_out(vty, "Modes must be unique %s", VTY_NEWLINE); + vty_out(vty, "%% Modes must be unique %s", VTY_NEWLINE); return -2; } mode_prev = mode; @@ -4063,7 +4065,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->ms_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-f, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-f, ms) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4071,7 +4073,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->bts_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-f, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-f, bts) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4081,7 +4083,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->ms_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-h, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-h, ms) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4089,7 +4091,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->bts_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-h, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-h, bts) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4330,7 +4332,7 @@ bts->T3113_dynamic = true; break; default: - vty_out(vty, "T%d cannot be set to dynamic%s", d->T, VTY_NEWLINE); + vty_out(vty, "%% T%d cannot be set to dynamic%s", d->T, VTY_NEWLINE); return CMD_WARNING; } @@ -4356,7 +4358,7 @@ bts->T3113_dynamic = false; break; default: - vty_out(vty, "T%d already is non-dynamic%s", d->T, VTY_NEWLINE); + vty_out(vty, "%% T%d already is non-dynamic%s", d->T, VTY_NEWLINE); return CMD_WARNING; } @@ -4613,7 +4615,7 @@ int enabled = atoi(argv[0]); if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "BTS model does not support hopping%s", + vty_out(vty, "%% BTS model does not support hopping%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4742,19 +4744,19 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } if (!is_ipaccess_bts(bts)) { - vty_out(vty, "This command only works for ipaccess.%s", VTY_NEWLINE); + vty_out(vty, "%% This command only works for ipaccess.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4768,7 +4770,7 @@ ipaccess_drop_rsl(trx, "vty"); } } else { - vty_out(vty, "Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); + vty_out(vty, "%% Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4789,19 +4791,19 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } if (!is_ipaccess_bts(bts) || is_sysmobts_v2(bts)) { - vty_out(vty, "This command only works for ipaccess nanoBTS.%s", + vty_out(vty, "%% This command only works for ipaccess nanoBTS.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4826,14 +4828,14 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -4872,7 +4874,7 @@ } rc = osmo_hexparse(argv[3], buf, sizeof(buf)); if (rc < 0 || rc > sizeof(buf)) { - vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing HEXSTRING%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4885,7 +4887,7 @@ else if (!strcmp(type_str, "default")) cb_cmd.command = RSL_CB_CMD_TYPE_DEFAULT; else { - vty_out(vty, "Error parsing type%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing type%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4903,7 +4905,7 @@ cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_4; break; default: - vty_out(vty, "Error parsing LASTBLOCK%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing LASTBLOCK%s", VTY_NEWLINE); return CMD_WARNING; } @@ -5019,14 +5021,14 @@ rc = gsm48_multirate_config(lchan->mr_ms_lv, mr_conf, mr.ms_mode, mr.num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (%s, amr mode %d, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (%s, amr mode %d, ms) - check parameters%s", gsm_lchant_name(lchan->type), amr_mode, VTY_NEWLINE); vty_rc = CMD_WARNING; } rc = gsm48_multirate_config(lchan->mr_bts_lv, mr_conf, mr.bts_mode, mr.num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (%s, amr mode %d, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (%s, amr mode %d, bts) - check parameters%s", gsm_lchant_name(lchan->type), amr_mode, VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -5485,7 +5487,7 @@ msc = osmo_msc_data_alloc(bsc_gsmnet, index); if (!msc) { - vty_out(vty, "%%Failed to allocate MSC data.%s", VTY_NEWLINE); + vty_out(vty, "%% Failed to allocate MSC data.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -6141,7 +6143,7 @@ bsc_subscr = bsc_subscr_find_or_create_by_imsi(bsc_gsmnet->bsc_subscribers, imsi); if (!bsc_subscr) { - vty_out(vty, "%%failed to enable logging for subscriber with IMSI(%s)%s", + vty_out(vty, "%% failed to enable logging for subscriber with IMSI(%s)%s", imsi, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f2348c481ed43904d05b42fd7d5ce04dedbf46b Gerrit-Change-Number: 19550 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 Aug 9 11:29:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 11:29:27 +0000 Subject: Change in osmo-bsc[master]: vty: fix missing comma in a warning message References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19551 ) Change subject: vty: fix missing comma in a warning message ...................................................................... vty: fix missing comma in a warning message Change-Id: I4219bff4286ddff3339d5da40b11ee360c239358 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/19551/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c1228be..fc4ebd6 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4770,7 +4770,7 @@ ipaccess_drop_rsl(trx, "vty"); } } else { - vty_out(vty, "%% Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); + vty_out(vty, "%% Argument must be 'oml' or 'rsl'.%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4219bff4286ddff3339d5da40b11ee360c239358 Gerrit-Change-Number: 19551 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 Aug 9 11:29:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 11:29:28 +0000 Subject: Change in osmo-bsc[master]: vty: introduce and use GPRS_CHECK_ENABLED() macro References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19552 ) Change subject: vty: introduce and use GPRS_CHECK_ENABLED() macro ...................................................................... vty: introduce and use GPRS_CHECK_ENABLED() macro Change-Id: I39907a569e80344fc73596bea32a1b474ec720e0 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 21 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/19552/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index fc4ebd6..16935d3 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2916,6 +2916,15 @@ #define GPRS_TEXT "GPRS Packet Network\n" +#define GPRS_CHECK_ENABLED(bts) \ + do { \ + if (bts->gprs.mode == BTS_GPRS_NONE) { \ + vty_out(vty, "%% GPRS is not enabled on BTS %u%s", \ + bts->nr, VTY_NEWLINE); \ + return CMD_WARNING; \ + } \ + } while (0) + DEFUN(cfg_bts_prs_bvci, cfg_bts_gprs_bvci_cmd, "gprs cell bvci <2-65535>", GPRS_TEXT @@ -2926,10 +2935,7 @@ /* ETSI TS 101 343: values 0 and 1 are reserved for signalling and PTM */ struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.cell.bvci = atoi(argv[0]); @@ -2944,10 +2950,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nse.nsei = atoi(argv[0]); @@ -2966,10 +2969,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].nsvci = atoi(argv[1]); @@ -2987,10 +2987,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].local_port = atoi(argv[1]); @@ -3008,10 +3005,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].remote_port = atoi(argv[1]); @@ -3029,10 +3023,7 @@ int idx = atoi(argv[0]); struct in_addr ia; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); inet_aton(argv[1], &ia); bts->gprs.nsvc[idx].remote_ip = ntohl(ia.s_addr); @@ -3062,10 +3053,7 @@ int idx = get_string_value(gprs_ns_timer_strs, argv[0]); int val = atoi(argv[1]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); if (idx < 0 || idx >= ARRAY_SIZE(bts->gprs.nse.timer)) return CMD_WARNING; @@ -3099,10 +3087,7 @@ int idx = get_string_value(gprs_bssgp_cfg_strs, argv[0]); int val = atoi(argv[1]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); if (idx < 0 || idx >= ARRAY_SIZE(bts->gprs.cell.timer)) return CMD_WARNING; @@ -3121,10 +3106,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.rac = atoi(argv[0]); @@ -3138,10 +3120,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.ctrl_ack_type_use_block = false; @@ -3155,10 +3134,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.ctrl_ack_type_use_block = true; @@ -3175,10 +3151,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.net_ctrl_ord = atoi(argv[0] + 2); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I39907a569e80344fc73596bea32a1b474ec720e0 Gerrit-Change-Number: 19552 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 Aug 9 12:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 12:18:11 +0000 Subject: Change in osmo-bsc[master]: vty: allow enabling freq. hopping regardless of the feature vector References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19553 ) Change subject: vty: allow enabling freq. hopping regardless of the feature vector ...................................................................... vty: allow enabling freq. hopping regardless of the feature vector The hard-coded per-BTS feature vector for osmo-bts currently lacks BTS_FEAT_HOPPING, and this is unlikely to change, because only the recent osmo-bts-trx does support freq. hopping, while the other (DSP based) back-ends do not seem to be capable of doing it. Let's allow enabling freq. hopping regardless of the feature vector, so either it would work if it's supported, or the BTS would reject Set Channel Attributes message by sending NACK on the A-bis/OML. Change-Id: Iff23109cacb5d314f7bcbf34b25e89af9281ce40 Related: SYS#4868, OS#4546 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/19553/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 16935d3..9bb650f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4588,9 +4588,10 @@ int enabled = atoi(argv[0]); if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "%% BTS model does not support hopping%s", - VTY_NEWLINE); - return CMD_WARNING; + vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); + /* Allow enabling frequency hopping anyway, because the BTS might not have + * connected yet (thus not sent the feature vector), so we cannot know for + * sure. Jet print a warning and let it go. */ } ts->hopping.enabled = enabled; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iff23109cacb5d314f7bcbf34b25e89af9281ce40 Gerrit-Change-Number: 19553 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 Aug 9 13:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:04:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: Hello lynxis lazus, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 to look at the new patch set (#11). Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... library/PCUIF_Types: version 10: add frequency hopping parameters This change introduces new version 10 specific extensions, in particular: the frequency hopping parameters of each timeslot. These parameters are used to compose Channel Description IE in the packet resource assignment messages. In order to maintain backwards compatibility with version 9 of the PCUIF, and thus to still be able to run test cases against the latest release of osmo-pcu, I kept the old parts of the INFO.ind and gruoped them together with the new records into union 'PCUIF_InfoTrxs'. During decoding, the content of this union is resolved by the TITAN's RAW codec itself, depending on value of the 'version' field. During the encoding, it's the responsibility of the API user to set a proper field of the union. I implemented both f_PCUIF_ver_INFO_{Trxs,PDCHMask} helpers for that. Version 9 is kept as default, so this change can be merged independently of the actual implementation. We can bump it and remove the compatibility glue once the new versions of both osmo-bts and osmo-pcu are released. Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Related: SYS#4868, OS#4547 --- M bts/BTS_Tests.ttcn M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 107 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/19323/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 13:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:04:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 to look at the new patch set (#4). Change subject: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs ...................................................................... library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd --- M library/PCUIF_Types.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/19516/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd Gerrit-Change-Number: 19516 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 13:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:04:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: verify handling of frequency hopping parameters In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19324 to look at the new patch set (#11). Change subject: PCU_Tests: verify handling of frequency hopping parameters ...................................................................... PCU_Tests: verify handling of frequency hopping parameters Change-Id: I1beda9224998848f9243237413e5ae3e0ddab8a5 Related: SYS#4868, OS#4547 --- M pcu/PCU_Tests.ttcn 1 file changed, 271 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/19324/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1beda9224998848f9243237413e5ae3e0ddab8a5 Gerrit-Change-Number: 19324 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 13:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:04:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 to look at the new patch set (#5). Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... BTS_Tests: compose the MA bitmask in f_resolve_fh_params() Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Related: SYS#4868, OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19517/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 13:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:04:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 to look at the new patch set (#5). Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... BTS_Tests: verify hopping parameters in the INFO.ind message Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Related: I04782222b499d0488269544910fbd4ed9929c05d Related: SYS#4868, OS#4546, OS#4547 --- M bts/BTS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19518/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 13:06:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 9 Aug 2020 13:06:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 11: > Patch Set 10: > > what I'm trying to say this kind of information belongs into the commitlog. Done. We can merge this change set now without breaking anything. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 09 Aug 2020 13:06:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 9 21:11:33 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 21:11:33 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f30669166c2a_65e2aadc67b45f01144385@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 62s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 62s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 62s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 62s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 62s] | | [ 62s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 62s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 62s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 62s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 62s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 62s] 2425 | MHD_start_daemon (unsigned int flags, [ 62s] | ^~~~~~~~~~~~~~~~ [ 62s] cc1: all warnings being treated as errors [ 62s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 62s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 62s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] make[1]: *** [Makefile:166: all] Error 2 [ 62s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 62s] make: *** [debian/rules:9: build] Error 25 [ 62s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 62s] ### VM INTERACTION START ### [ 65s] [ 59.498196] sysrq: Power Off [ 65s] [ 59.499690] reboot: Power down [ 65s] ### VM INTERACTION END ### [ 65s] [ 65s] build75 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 21:11:23 UTC 2020. [ 65s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 9 21:12:24 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Aug 2020 21:12:24 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f3066cb285d7_65e2aadc67b45f01144596@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 112s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 112s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 112s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 112s] | | [ 112s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 112s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 112s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 112s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 112s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 112s] 2425 | MHD_start_daemon (unsigned int flags, [ 112s] | ^~~~~~~~~~~~~~~~ [ 112s] cc1: all warnings being treated as errors [ 112s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 112s] make[3]: *** Waiting for unfinished jobs.... [ 112s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 112s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 112s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 112s] make[1]: *** [Makefile:166: all] Error 2 [ 112s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 112s] dh_auto_build: error: cd build && make -j4 "INSTALL=install --strip-program=true" returned exit code 2 [ 112s] make: *** [debian/rules:9: build] Error 25 [ 112s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 112s] ### VM INTERACTION START ### [ 115s] [ 98.743170] sysrq: Power Off [ 115s] [ 98.746849] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] cloud122 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 9 21:12:15 UTC 2020. [ 115s] -- 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 Aug 9 21:36:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 9 Aug 2020 21:36:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 ) Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... fix mscpool cleanup (fixes LCLS tests) osmo-bsc takes a while to notice that a connected MSC is no longer connected. Once the mscpool tests have run, the additional msc 1 and msc 2 still linger around even though the BSSMAP link is no longer served by the bsc-tester. The easiest way to ensure that only expected MSCs are contacted is to set 'no allow-attach' for each MSC that should not be in use. So, the default setup is 'allow-attach' on msc 0, and 'no allow-attach' on mscs 1 and 2. In f_init(), allow attach on those MSCs indicated by the nr_msc amount. The entire vty transaction to configure attach/no attach for all three MSCs takes about 4 micro seconds in my test setup, so it is fine to do this during f_init() for each BSC test. After this, tests running after the MSC pooling tests (the LCLS tests) no longer round-robin their subscribers across disconnected MSCs. NOTE: it would be good to somehow detect more reliably in osmo-bsc that an MSC is gone and not use it anymore. That is however not so trivial. To get the LCLS tests back online, this is a workaround to avoid that complexity for now. Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca --- M bsc/BSC_Tests.ttcn 1 file changed, 27 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/19554/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5bd0e4f..c35100e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -832,6 +832,23 @@ } } +/* TODO: use BooleanList from COMMON/src/General_Types.ttcn */ +private type record of boolean my_BooleanList; + +private function f_vty_msc_allow_attach(TELNETasp_PT pt, my_BooleanList allow_attach_list) +{ + for (var integer msc_nr := 0; msc_nr < sizeof(allow_attach_list); msc_nr := msc_nr+1) { + f_vty_enter_cfg_msc(pt, msc_nr); + if (allow_attach_list[msc_nr]) { + f_vty_transceive(pt, "allow-attach"); + } else { + f_vty_transceive(pt, "no allow-attach"); + } + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); + } +} + /* global initialization function * \param nr_bts Number of BTSs we should start/bring up * \param handler_mode Start an RSL_Emulation_CT component (true) or not (false). @@ -854,7 +871,9 @@ f_vty_allow_osmux(allow_osmux); } + var my_BooleanList allow_attach := { false, false, false }; for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { + allow_attach[bssap_idx] := true; /* Call a function of our 'parent component' RAN_Adapter_CT to start the * MSC-side BSSAP emulation */ if (handler_mode) { @@ -871,6 +890,9 @@ } } + /* start the test with exactly all enabled MSCs allowed to attach */ + f_vty_msc_allow_attach(BSCVTY, allow_attach); + f_ipa_ctrl_start(mp_bsc_ip, mp_bsc_ctrl_port); f_init_mgcp("VirtMSC"); @@ -5850,17 +5872,13 @@ f_init(nr_bts := 3, handler_mode := true, nr_msc := 3); f_sleep(1.0); + /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ + f_vty_msc_allow_attach(BSCVTY, {true, false, true}); /* Control which MSC gets chosen next by the round-robin, otherwise * would be randomly affected by which other tests ran before this. */ f_vty_transceive(BSCVTY, "mscpool roundrobin next 0"); - /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "no allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); - f_ctrs_msc_init(); var MSC_ConnHdlr vc_conn1; @@ -5886,11 +5904,6 @@ vc_conn3 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars3); vc_conn3.done; f_ctrs_msc_expect(0, "mscpool:subscr:new"); - - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); } /* An MSC that has 'no allow-attach' set should still serve subscribers that are already attached according to their @@ -5900,16 +5913,13 @@ f_init(nr_bts := 3, handler_mode := true, nr_msc := 3); f_sleep(1.0); + /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ + f_vty_msc_allow_attach(BSCVTY, {true, false, true}); + /* Control which MSC gets chosen next by the round-robin, otherwise * would be randomly affected by which other tests ran before this. */ f_vty_transceive(BSCVTY, "mscpool roundrobin next 0"); - /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "no allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); - f_ctrs_msc_init(); /* Round robin points at msc 0, but the valid NRI directs to msc 1, even though msc 1 has 'no allow-attach'. */ @@ -5937,11 +5947,6 @@ vc_conn3 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars3); vc_conn3.done; f_ctrs_msc_expect(2, "mscpool:subscr:new"); - - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); } /* Dyn PDCH todo: -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 21:38:33 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 9 Aug 2020 21:38:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 ) Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... Patch Set 1: argh, latest build doesn't have the 'allow-attach' option yet... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 09 Aug 2020 21:38:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 21:59:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 9 Aug 2020 21:59:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 to look at the new patch set (#2). Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... fix mscpool cleanup (fixes LCLS tests) osmo-bsc takes a while to notice that a connected MSC is no longer connected. Once the mscpool tests have run, the additional msc 1 and msc 2 still linger around even though the BSSMAP link is no longer served by the bsc-tester. The easiest way to ensure that only expected MSCs are contacted is to set 'no allow-attach' for each MSC that should not be in use. So, the default setup is 'allow-attach' on msc 0, and 'no allow-attach' on mscs 1 and 2. In f_init(), allow attach on those MSCs indicated by the nr_msc amount. The entire vty transaction to configure attach/no attach for all three MSCs takes about 4 micro seconds in my test setup, so it is fine to do this during f_init() for each BSC test. After this, tests running after the MSC pooling tests (the LCLS tests) no longer round-robin their subscribers across disconnected MSCs. NOTE: it would be good to somehow detect more reliably in osmo-bsc that an MSC is gone and not use it anymore. That is however not so trivial. To get the LCLS tests back online, this is a workaround to avoid that complexity for now. Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca --- M bsc/BSC_Tests.ttcn 1 file changed, 28 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/19554/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 9 21:59:23 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 9 Aug 2020 21:59:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_vty_transceive: allow to ignore unknown vty commands References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 ) Change subject: f_vty_transceive: allow to ignore unknown vty commands ...................................................................... f_vty_transceive: allow to ignore unknown vty commands When a new test uses a VTY configuration that may not yet be available in the 'latest' build, it can be useful to ignore the "Unknown VTY Command" error. To be used by f_init() for multiple MSCs, setting a default 'allow-attach' flag per MSC implicitly -- such vty config is not yet supported in the latest build. Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/19555/1 diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 823d79f..4cf37c4 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -56,7 +56,7 @@ } /* wait for any of the permitted prompts; buffer + return all intermediate output */ - function f_vty_wait_for_prompt(TELNETasp_PT pt) return charstring { + function f_vty_wait_for_prompt(TELNETasp_PT pt, boolean strict := true) return charstring { var charstring rx, buf := ""; var integer fd; timer T := 2.0; @@ -67,7 +67,11 @@ [] pt.receive(pattern "[\w-]+\# ") { }; [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; [] pt.receive(t_vty_unknown) { - testcase.stop(fail, "VTY: Unknown Command"); + if (strict) { + testcase.stop(fail, "VTY: Unknown Command"); + } else { + log("VTY: Unknown Command (ignored)"); + } }; [] pt.receive(charstring:?) -> value rx { buf := buf & rx; repeat }; [] pt.receive(integer:?) -> value fd { @@ -88,14 +92,14 @@ } /* send a VTY command and obtain response until prompt is received */ - function f_vty_transceive_ret(TELNETasp_PT pt, charstring tx) return charstring { + function f_vty_transceive_ret(TELNETasp_PT pt, charstring tx, boolean strict := true) return charstring { pt.send(tx); - return f_vty_wait_for_prompt(pt); + return f_vty_wait_for_prompt(pt, strict); } /* send a VTY command and obtain response until prompt is received */ - function f_vty_transceive(TELNETasp_PT pt, charstring tx) { - var charstring unused := f_vty_transceive_ret(pt, tx); + function f_vty_transceive(TELNETasp_PT pt, charstring tx, boolean strict := true) { + var charstring unused := f_vty_transceive_ret(pt, tx, strict); } type integer BtsNr (0..255); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 Gerrit-Change-Number: 19555 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 Aug 10 00:03:00 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 00:03:00 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19415/7/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19415/7/src/socket.c at 1589 PS7, Line 1589: /* fallback to memcmp for remaing AF */ : return memcmp(a, b, sizeof(struct osmo_sockaddr)); > might be worth moving this into a "default:" clause of the switch statement to clearly see it's thre [?] Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 10 Aug 2020 00:03:00 +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 Aug 10 00:55:37 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 00:55:37 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19141 to look at the new patch set (#9). Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints When dealing with IPv4 and IPv6 address, the struct sockaddr allows to hold IPv4 and IPv6. However even when struct sockaddr is being used, a cast to the IPv4 or IPv6 family must happen. To work around this additional code, use a union for the most common types. Change-Id: If80172373735193401af872b18e1ff00c93880e7 --- M include/osmocom/core/socket.h 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/19141/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 00:55:37 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 00:55:37 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19415 to look at the new patch set (#10). Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... socket: add osmo_sockaddr_cmp() Compare two osmo_sockaddr. Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/19415/10 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Mon Aug 10 00:57:34 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 00:57:34 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 12: > Patch Set 11: > > > Patch Set 9: > > > > doest it make sense to keep a completely separate implementation for osmo_sock_init2_ofd, rather than "redirecting" the old code to the new? > > ping? I don't think it's possible. While osmo_sock_init2 can take AF_UNSPEC, init3 can't. Also osmo_sock_init2 does name resolution, what init3 doesn't. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 00:57: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 Aug 10 00:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 00:58:00 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19415/7/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19415/7/src/socket.c at 1589 PS7, Line 1589: /* fallback to memcmp for remaing AF */ : return memcmp(a, b, sizeof(struct osmo_sockaddr)); > Ack Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 10 Aug 2020 00:58:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 10 01:34:12 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:34:12 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f30a416baf14_65e2aadc67b45f01156719@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 125s] [COMPILING libboard/qmod/source/i2c.c] [ 125s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [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: 16576 B 16 KB 101.17% [ 126s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 126s] collect2: error: ld returned 1 exit status [ 126s] % [ 126s] Makefile:234: recipe for target 'flash' failed [ 126s] make[2]: *** [flash] Error 1 [ 126s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 126s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 126s] make[1]: *** [fw-qmod-dfu] Error 2 [ 126s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 126s] dh_auto_build: make -j1 returned exit code 2 [ 126s] debian/rules:16: recipe for target 'build' failed [ 126s] make: *** [build] Error 2 [ 126s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 126s] ### VM INTERACTION START ### [ 129s] [ 122.541206] sysrq: Power Off [ 129s] [ 122.548304] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb23 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:34:08 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:34:12 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:34:12 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f30a4159523d_65e2aadc67b45f01156535@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 109s] [COMPILING libboard/qmod/source/i2c.c] [ 110s] [COMPILING libboard/qmod/source/board_qmod.c] [ 110s] [COMPILING apps/dfu/main.c] [ 110s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 110s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 110s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 110s] Memory region Used Size Region Size %age Used [ 110s] rom: 16576 B 16 KB 101.17% [ 110s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 110s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 110s] collect2: error: ld returned 1 exit status [ 110s] % [ 110s] Makefile:234: recipe for target 'flash' failed [ 110s] make[2]: *** [flash] Error 1 [ 110s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 110s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 110s] make[1]: *** [fw-qmod-dfu] Error 2 [ 110s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 110s] dh_auto_build: make -j1 returned exit code 2 [ 110s] debian/rules:16: recipe for target 'build' failed [ 110s] make: *** [build] Error 2 [ 110s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 110s] ### VM INTERACTION START ### [ 113s] [ 106.218754] sysrq: Power Off [ 113s] [ 106.221852] reboot: Power down [ 113s] ### VM INTERACTION END ### [ 113s] [ 113s] old-atreju4 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:33:54 UTC 2020. [ 113s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:34:12 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:34:12 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f30a4163a0ef_65e2aadc67b45f01156677@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 76s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 76s] [COMPILING libboard/qmod/source/card_pres.c] [ 76s] [COMPILING libboard/qmod/source/wwan_led.c] [ 76s] [COMPILING libboard/qmod/source/i2c.c] [ 76s] [COMPILING libboard/qmod/source/board_qmod.c] [ 76s] [COMPILING apps/dfu/main.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 76s] Memory region Used Size Region Size %age Used [ 76s] rom: 16504 B 16 KB 100.73% [ 76s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 76s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 76s] collect2: error: ld returned 1 exit status [ 76s] % [ 76s] make[2]: *** [Makefile:234: flash] Error 1 [ 76s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 76s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 76s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 76s] dh_auto_build: make -j1 returned exit code 2 [ 76s] make: *** [debian/rules:16: build] Error 255 [ 76s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 76s] ### VM INTERACTION START ### [ 79s] [ 74.522469] sysrq: Power Off [ 79s] [ 74.528885] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] goat17 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:34:05 UTC 2020. [ 79s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:34:29 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:34:29 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f30a4357f8ce_65e2aadc67b45f0115688d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 136s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 136s] [COMPILING libboard/qmod/source/card_pres.c] [ 136s] [COMPILING libboard/qmod/source/wwan_led.c] [ 137s] [COMPILING libboard/qmod/source/i2c.c] [ 137s] [COMPILING libboard/qmod/source/board_qmod.c] [ 137s] [COMPILING apps/dfu/main.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 137s] Memory region Used Size Region Size %age Used [ 137s] rom: 16504 B 16 KB 100.73% [ 137s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 137s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 137s] collect2: error: ld returned 1 exit status [ 137s] % [ 137s] make[2]: *** [Makefile:234: flash] Error 1 [ 137s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 137s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 137s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 137s] dh_auto_build: make -j1 returned exit code 2 [ 137s] make: *** [debian/rules:16: build] Error 2 [ 137s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 137s] ### VM INTERACTION START ### [ 141s] [ 132.832546] sysrq: Power Off [ 141s] [ 132.839800] reboot: Power down [ 141s] ### VM INTERACTION END ### [ 141s] [ 141s] lamb62 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:34:27 UTC 2020. [ 141s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:34:46 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:34:46 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f30a454685da_65e2aadc67b45f011569aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 135s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 136s] [COMPILING libboard/qmod/source/card_pres.c] [ 136s] [COMPILING libboard/qmod/source/wwan_led.c] [ 136s] [COMPILING libboard/qmod/source/i2c.c] [ 136s] [COMPILING libboard/qmod/source/board_qmod.c] [ 136s] [COMPILING apps/dfu/main.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 137s] Memory region Used Size Region Size %age Used [ 137s] rom: 16576 B 16 KB 101.17% [ 137s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 137s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 137s] collect2: error: ld returned 1 exit status [ 137s] % [ 137s] make[2]: *** [Makefile:234: flash] Error 1 [ 137s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 137s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 137s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 137s] dh_auto_build: make -j1 returned exit code 2 [ 137s] make: *** [debian/rules:16: build] Error 2 [ 137s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 137s] ### VM INTERACTION START ### [ 140s] [ 131.343697] sysrq: Power Off [ 140s] [ 131.348371] reboot: Power down [ 140s] ### VM INTERACTION END ### [ 140s] [ 140s] cloud129 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:34:31 UTC 2020. [ 140s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:35:03 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:35:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f30a454ea76d_65e2aadc67b45f011570b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 133s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 133s] [COMPILING libboard/qmod/source/card_pres.c] [ 133s] [COMPILING libboard/qmod/source/wwan_led.c] [ 133s] [COMPILING libboard/qmod/source/i2c.c] [ 133s] [COMPILING libboard/qmod/source/board_qmod.c] [ 133s] [COMPILING apps/dfu/main.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 134s] Memory region Used Size Region Size %age Used [ 134s] rom: 16576 B 16 KB 101.17% [ 134s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 134s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 134s] collect2: error: ld returned 1 exit status [ 134s] % [ 134s] make[2]: *** [Makefile:234: flash] Error 1 [ 134s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 134s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 134s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 134s] dh_auto_build: make -j1 returned exit code 2 [ 134s] make: *** [debian/rules:16: build] Error 2 [ 134s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 134s] ### VM INTERACTION START ### [ 137s] [ 130.116253] sysrq: Power Off [ 137s] [ 130.122925] reboot: Power down [ 137s] ### VM INTERACTION END ### [ 137s] [ 137s] lamb62 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:34:58 UTC 2020. [ 137s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:37:03 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:37:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f30a4ca8e8ee_65e2aadc67b45f01157228@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 96s] [COMPILING libboard/qmod/source/i2c.c] [ 97s] [COMPILING libboard/qmod/source/board_qmod.c] [ 97s] [COMPILING apps/dfu/main.c] [ 97s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 97s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 97s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 97s] Memory region Used Size Region Size %age Used [ 97s] rom: 16584 B 16 KB 101.22% [ 97s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 97s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 97s] collect2: error: ld returned 1 exit status [ 97s] % [ 97s] Makefile:234: recipe for target 'flash' failed [ 97s] make[2]: *** [flash] Error 1 [ 97s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 97s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 97s] make[1]: *** [fw-qmod-dfu] Error 2 [ 97s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 97s] dh_auto_build: make -j1 returned exit code 2 [ 97s] debian/rules:16: recipe for target 'build' failed [ 97s] make: *** [build] Error 2 [ 97s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 97s] ### VM INTERACTION START ### [ 100s] [ 93.620507] sysrq: Power Off [ 100s] [ 93.627994] reboot: Power down [ 100s] ### VM INTERACTION END ### [ 100s] [ 100s] lamb63 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:36:48 UTC 2020. [ 100s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:37:03 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:37:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f30a4cad37b2_65e2aadc67b45f01157327@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: [ 124s] [COMPILING libboard/common/source/uart_console.c] [ 124s] [COMPILING libboard/common/source/led.c] [ 124s] [COMPILING libboard/common/source/boardver_adc.c] [ 124s] [COMPILING libboard/common/source/manifest.c] [ 124s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 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: 16460 B 16 KB 100.46% [ 125s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] make[2]: *** [Makefile:234: flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] make[1]: *** [Makefile:10: fw-simtrace-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] [ 119.966374] sysrq: Power Off [ 128s] [ 119.973635] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] lamb07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:36:52 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:37:37 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:37:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f30a4ea807c_65e2aadc67b45f01157466@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 142s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 142s] [COMPILING libboard/qmod/source/card_pres.c] [ 142s] [COMPILING libboard/qmod/source/wwan_led.c] [ 142s] [COMPILING libboard/qmod/source/i2c.c] [ 143s] [COMPILING libboard/qmod/source/board_qmod.c] [ 143s] [COMPILING apps/dfu/main.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 143s] Memory region Used Size Region Size %age Used [ 143s] rom: 16504 B 16 KB 100.73% [ 143s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 143s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 143s] collect2: error: ld returned 1 exit status [ 143s] % [ 143s] make[2]: *** [Makefile:234: flash] Error 1 [ 143s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 143s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 143s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 143s] dh_auto_build: make -j1 returned exit code 2 [ 143s] make: *** [debian/rules:16: build] Error 2 [ 143s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 143s] ### VM INTERACTION START ### [ 146s] [ 138.772446] sysrq: Power Off [ 146s] [ 138.782932] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] lamb58 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:37:25 UTC 2020. [ 147s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:38:29 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:38:29 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f30a522850c6_65e2aadc67b45f01157524@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 95s] [COMPILING libboard/qmod/source/i2c.c] [ 95s] [COMPILING libboard/qmod/source/board_qmod.c] [ 95s] [COMPILING apps/dfu/main.c] [ 95s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 96s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 96s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 96s] Memory region Used Size Region Size %age Used [ 96s] rom: 16584 B 16 KB 101.22% [ 96s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 96s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 96s] collect2: error: ld returned 1 exit status [ 96s] % [ 96s] Makefile:234: recipe for target 'flash' failed [ 96s] make[2]: *** [flash] Error 1 [ 96s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 96s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 96s] make[1]: *** [fw-qmod-dfu] Error 2 [ 96s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 96s] dh_auto_build: make -j1 returned exit code 2 [ 96s] debian/rules:16: recipe for target 'build' failed [ 96s] make: *** [build] Error 2 [ 96s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 96s] ### VM INTERACTION START ### [ 99s] [ 92.417017] sysrq: Power Off [ 99s] [ 92.423711] reboot: Power down [ 99s] ### VM INTERACTION END ### [ 99s] [ 99s] lamb26 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:38:14 UTC 2020. [ 99s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:39:03 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:39:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f30a54177783_65e2aadc67b45f01157687@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 123s] [COMPILING apps/dfu/main.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 123s] Memory region Used Size Region Size %age Used [ 123s] rom: 16464 B 16 KB 100.49% [ 123s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 123s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 123s] collect2: error: ld returned 1 exit status [ 123s] % [ 123s] make[2]: *** [Makefile:234: flash] Error 1 [ 123s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 123s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 123s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 123s] dh_auto_build: error: make -j1 returned exit code 2 [ 123s] make: *** [debian/rules:16: build] Error 25 [ 123s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 123s] ### VM INTERACTION START ### [ 126s] [ 115.992962] sysrq: Power Off [ 127s] [ 115.995341] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] old-atreju5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:38:59 UTC 2020. [ 127s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:39:37 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:39:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f30a5607769b_65e2aadc67b45f01157767@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 146s] [COMPILING apps/dfu/main.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 147s] Memory region Used Size Region Size %age Used [ 147s] rom: 16464 B 16 KB 100.49% [ 147s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 147s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 147s] collect2: error: ld returned 1 exit status [ 147s] % [ 147s] make[2]: *** [Makefile:234: flash] Error 1 [ 147s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 147s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 147s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 147s] dh_auto_build: error: make -j1 returned exit code 2 [ 147s] make: *** [debian/rules:16: build] Error 25 [ 147s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 147s] ### VM INTERACTION START ### [ 150s] [ 140.454108] sysrq: Power Off [ 150s] [ 140.461134] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] lamb69 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:39:28 UTC 2020. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:39:37 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:39:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f30a560b1ddd_65e2aadc67b45f011578b7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 138s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 138s] [COMPILING libboard/qmod/source/card_pres.c] [ 138s] [COMPILING libboard/qmod/source/wwan_led.c] [ 138s] [COMPILING libboard/qmod/source/i2c.c] [ 138s] [COMPILING libboard/qmod/source/board_qmod.c] [ 138s] [COMPILING apps/dfu/main.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 139s] Memory region Used Size Region Size %age Used [ 139s] rom: 16504 B 16 KB 100.73% [ 139s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 139s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 139s] collect2: error: ld returned 1 exit status [ 139s] % [ 139s] make[2]: *** [Makefile:234: flash] Error 1 [ 139s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 139s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 139s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 139s] dh_auto_build: make -j1 returned exit code 2 [ 139s] make: *** [debian/rules:16: build] Error 2 [ 139s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 139s] ### VM INTERACTION START ### [ 142s] [ 133.747495] sysrq: Power Off [ 142s] [ 133.754081] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:39:28 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:41:37 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:41:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f30a5d5c6aee_65e2aadc67b45f0115806@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 116s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 116s] [COMPILING libboard/qmod/source/card_pres.c] [ 117s] [COMPILING libboard/qmod/source/wwan_led.c] [ 117s] [COMPILING libboard/qmod/source/i2c.c] [ 117s] [COMPILING libboard/qmod/source/board_qmod.c] [ 117s] [COMPILING apps/dfu/main.c] [ 117s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 117s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 117s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 118s] Memory region Used Size Region Size %age Used [ 118s] rom: 16504 B 16 KB 100.73% [ 118s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 118s] collect2: error: ld returned 1 exit status [ 118s] % [ 118s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 118s] make: *** [debian/rules:16: build] Error 2 [ 118s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 118s] ### VM INTERACTION START ### [ 121s] [ 111.600493] sysrq: Power Off [ 121s] [ 111.601525] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:41:27 UTC 2020. [ 121s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 01:42:29 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 01:42:29 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f30a6134593d_65e2aadc67b45f01158115@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 115s] [COMPILING libboard/qmod/source/i2c.c] [ 115s] [COMPILING libboard/qmod/source/board_qmod.c] [ 115s] [COMPILING apps/dfu/main.c] [ 115s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 115s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 116s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 116s] Memory region Used Size Region Size %age Used [ 116s] rom: 16584 B 16 KB 101.22% [ 116s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 116s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 116s] collect2: error: ld returned 1 exit status [ 116s] % [ 116s] Makefile:234: recipe for target 'flash' failed [ 116s] make[2]: *** [flash] Error 1 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 116s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 116s] make[1]: *** [fw-qmod-dfu] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 116s] dh_auto_build: make -j1 returned exit code 2 [ 116s] debian/rules:16: recipe for target 'build' failed [ 116s] make: *** [build] Error 2 [ 116s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 107.484886] sysrq: Power Off [ 119s] [ 107.485970] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 01:42:12 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 02:50:46 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 02:50:46 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f30b622a2020_65e2aadc67b45f01159040@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: [ 239s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 239s] [COMPILING libboard/qmod/source/card_pres.c] [ 240s] [COMPILING libboard/qmod/source/wwan_led.c] [ 240s] [COMPILING libboard/qmod/source/i2c.c] [ 240s] [COMPILING libboard/qmod/source/board_qmod.c] [ 241s] [COMPILING apps/dfu/main.c] [ 241s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 241s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 242s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 242s] Memory region Used Size Region Size %age Used [ 242s] rom: 16504 B 16 KB 100.73% [ 242s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 242s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 242s] collect2: error: ld returned 1 exit status [ 242s] % [ 242s] make[2]: *** [Makefile:234: flash] Error 1 [ 242s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 242s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 242s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 242s] dh_auto_build: make -j1 returned exit code 2 [ 242s] make: *** [debian/rules:16: build] Error 2 [ 242s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 242s] ### VM INTERACTION START ### [ 245s] [ 211.385205] sysrq: SysRq : Power Off [ 245s] [ 211.386396] reboot: Power down [ 245s] ### VM INTERACTION END ### [ 245s] [ 245s] armbuild01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 02:50:43 UTC 2020. [ 245s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 03:05:20 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 03:05:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f30b989d8bba_65e2aadc67b45f01159225@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: [ 362s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 362s] [COMPILING libboard/qmod/source/card_pres.c] [ 362s] [COMPILING libboard/qmod/source/wwan_led.c] [ 363s] [COMPILING libboard/qmod/source/i2c.c] [ 363s] [COMPILING libboard/qmod/source/board_qmod.c] [ 363s] [COMPILING apps/dfu/main.c] [ 363s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 364s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 364s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 364s] Memory region Used Size Region Size %age Used [ 364s] rom: 16504 B 16 KB 100.73% [ 364s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 364s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 364s] collect2: error: ld returned 1 exit status [ 364s] % [ 364s] make[2]: *** [Makefile:234: flash] Error 1 [ 364s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 364s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 364s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 364s] dh_auto_build: make -j1 returned exit code 2 [ 364s] make: *** [debian/rules:16: build] Error 2 [ 364s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 364s] ### VM INTERACTION START ### [ 367s] [ 345.111908] sysrq: SysRq : Power Off [ 367s] [ 345.115011] reboot: Power down [ 368s] ### VM INTERACTION END ### [ 368s] [ 368s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 03:05:07 UTC 2020. [ 368s] -- 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 Aug 10 03:08:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 Aug 2020 03:08:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_vty_transceive: allow to ignore unknown vty commands In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 ) Change subject: f_vty_transceive: allow to ignore unknown vty commands ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 Gerrit-Change-Number: 19555 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 Aug 2020 03:08:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 10 03:17:54 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 03:17:54 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f30bc7897bcf_65e2aadc67b45f01159450@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 267s] [COMPILING libboard/qmod/source/i2c.c] [ 268s] [COMPILING libboard/qmod/source/board_qmod.c] [ 268s] [COMPILING apps/dfu/main.c] [ 269s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 269s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 269s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 270s] Memory region Used Size Region Size %age Used [ 270s] rom: 16584 B 16 KB 101.22% [ 270s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 270s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 270s] collect2: error: ld returned 1 exit status [ 270s] % [ 270s] Makefile:234: recipe for target 'flash' failed [ 270s] make[2]: *** [flash] Error 1 [ 270s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 270s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 270s] make[1]: *** [fw-qmod-dfu] Error 2 [ 270s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 270s] dh_auto_build: make -j1 returned exit code 2 [ 270s] debian/rules:16: recipe for target 'build' failed [ 270s] make: *** [build] Error 2 [ 270s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 270s] ### VM INTERACTION START ### [ 273s] [ 250.721845] sysrq: SysRq : Power Off [ 273s] [ 250.727171] reboot: Power down [ 273s] ### VM INTERACTION END ### [ 273s] [ 273s] armbuild01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Mon Aug 10 03:17:38 UTC 2020. [ 273s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Aug 10 03:22:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 Aug 2020 03:22:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 ) Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 10 Aug 2020 03:22:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 10 11:54:44 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 11:54:44 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f31359a1e382_65e2aadc67b45f012576bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 83s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 83s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 83s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 83s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 83s] | | [ 83s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 83s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 83s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 83s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 83s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 83s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 83s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 84s] cc1: all warnings being treated as errors [ 84s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 84s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 84s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 84s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 84s] make[1]: *** [Makefile:166: all] Error 2 [ 84s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 84s] dh_auto_build: error: cd build && make -j6 "INSTALL=install --strip-program=true" returned exit code 2 [ 84s] make: *** [debian/rules:9: build] Error 25 [ 84s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 84s] ### VM INTERACTION START ### [ 87s] [ 77.903937] sysrq: Power Off [ 87s] [ 77.908639] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] sheep86 failed "build ulfius_2.5.2-4.1.dsc" at Mon Aug 10 11:54:27 UTC 2020. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Aug 10 11:55:00 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Aug 2020 11:55:00 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f3135b75dbbb_65e2aadc67b45f01258281@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 121s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 121s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 121s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 121s] | | [ 121s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 121s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 121s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 121s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 121s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 121s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 121s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 122s] cc1: all warnings being treated as errors [ 122s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 122s] make[3]: *** Waiting for unfinished jobs.... [ 122s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 122s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 122s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 122s] make[1]: *** [Makefile:166: all] Error 2 [ 122s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 122s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 122s] make: *** [debian/rules:9: build] Error 25 [ 122s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 122s] ### VM INTERACTION START ### [ 125s] [ 114.713127] sysrq: Power Off [ 125s] [ 114.723216] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] lamb21 failed "build ulfius_2.5.2-4.1.dsc" at Mon Aug 10 11:54:51 UTC 2020. [ 125s] -- 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 Aug 10 14:11:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 14:11:16 +0000 Subject: Change in libosmocore[master]: vty: Introduce support to set cpu-affinity and scheduler policy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19442 ) Change subject: vty: Introduce support to set cpu-affinity and scheduler policy ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Gerrit-Change-Number: 19442 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 14:11:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 14:11:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 14:11:18 +0000 Subject: Change in libosmocore[master]: vty: Introduce support to set cpu-affinity and scheduler policy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19442 ) Change subject: vty: Introduce support to set cpu-affinity and scheduler policy ...................................................................... vty: Introduce support to set cpu-affinity and scheduler policy Process willing to support this kind of configuration through VTY simply need to call "osmo_sched_vty_init(tall_ctx);" during startup to register the commands. For multithreaded processes, new threads willing to get their cpu-affinity mask according to VTY config should call osmo_sched_vty_apply_localthread() (potentially after setting the thread name through pthread_setname_np()). Related: SYS#4986 Change-Id: If76a4bd2cc7b3c7adf5d84790a944d78be70e10a --- M include/Makefile.am M include/osmocom/vty/command.h A include/osmocom/vty/cpu_sched_vty.h M src/vty/Makefile.am A src/vty/cpu_sched_vty.c 5 files changed, 714 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index 7af7e01..b0a72bc 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -164,6 +164,7 @@ osmocom/vty/vector.h \ osmocom/vty/vty.h \ osmocom/vty/ports.h \ + osmocom/vty/cpu_sched_vty.h \ osmocom/vty/tdef_vty.h \ osmocom/ctrl/control_vty.h endif diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 29206ce..e3692dc 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -97,6 +97,7 @@ L_CS7_SCCPADDR_NODE, /*!< SS7 SCCP Address */ L_CS7_SCCPADDR_GT_NODE, /*!< SS7 SCCP Global Title */ + L_CPU_SCHED_NODE, /*!< CPU Sched related options node */ /* * When adding new nodes to the libosmocore project, these nodes can be * used to avoid ABI changes for unrelated projects. diff --git a/include/osmocom/vty/cpu_sched_vty.h b/include/osmocom/vty/cpu_sched_vty.h new file mode 100644 index 0000000..171f168 --- /dev/null +++ b/include/osmocom/vty/cpu_sched_vty.h @@ -0,0 +1,37 @@ +/*! \file cpu_sched_vty.h + * API to CPU / Threading / Scheduler properties from VTY configuration. + */ +/* (C) 2020 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 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 . + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#pragma once + +#include + +/*! \defgroup cpu_sched_VTY Configuration + * @{ + * \file cpu_sched_vty.h + */ + +void osmo_cpu_sched_vty_init(void *tall_ctx); +int osmo_cpu_sched_vty_apply_localthread(void); + +/*! @} */ diff --git a/src/vty/Makefile.am b/src/vty/Makefile.am index 35350cc..81ff104 100644 --- a/src/vty/Makefile.am +++ b/src/vty/Makefile.am @@ -12,7 +12,7 @@ libosmovty_la_SOURCES = buffer.c command.c vty.c vector.c utils.c \ telnet_interface.c logging_vty.c stats_vty.c \ fsm_vty.c talloc_ctx_vty.c \ - tdef_vty.c + cpu_sched_vty.c tdef_vty.c libosmovty_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined libosmovty_la_LIBADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) endif diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c new file mode 100644 index 0000000..3b6067a --- /dev/null +++ b/src/vty/cpu_sched_vty.c @@ -0,0 +1,674 @@ +/*! \file cpu_sched_vty.c + * Implementation to CPU / Threading / Scheduler properties from VTY configuration. + */ +/* (C) 2020 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 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 . + * + * SPDX-License-Identifier: GPLv2+ + */ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/*! \addtogroup Tdef_VTY + * + * CPU Scheduling related VTY API. + * + * @{ + * \file cpu_sched_vty.c + */ + +enum sched_vty_thread_id { + SCHED_VTY_THREAD_SELF, + SCHED_VTY_THREAD_ALL, + SCHED_VTY_THREAD_ID, + SCHED_VTY_THREAD_NAME, + SCHED_VTY_THREAD_UNKNOWN, +}; + +struct cpu_affinity_it { + struct llist_head entry; + enum sched_vty_thread_id tid_type; + char bufname[64]; + cpu_set_t *cpuset; + size_t cpuset_size; + bool delay; +}; + +struct sched_vty_opts { + void *tall_ctx; + int sched_rr_prio; + struct llist_head cpu_affinity_li; + pthread_mutex_t cpu_affinity_li_mutex; +}; + +static struct sched_vty_opts *sched_vty_opts; + +static struct cmd_node sched_node = { + L_CPU_SCHED_NODE, + "%s(config-sched)# ", + 1, +}; + +/* returns number of configured CPUs in the system, or negative otherwise */ +static int get_num_cpus() { + static unsigned int num_cpus = 0; + long ln; + + if (num_cpus) + return num_cpus; + + /* This is expensive (goes across /sys, so let's do it only once. It is + * guaranteed it won't change during process span anyway). */ + ln = sysconf(_SC_NPROCESSORS_CONF); + if (ln < 0) { + LOGP(DLGLOBAL, LOGL_ERROR, "sysconf(_SC_NPROCESSORS_CONF) failed: %s\n", + strerror(errno)); + return -1; + } + num_cpus = (unsigned int) ln; + return num_cpus; +} + +/* Parses string with CPU hex Affinity Mask, with right-most bit being CPU0, and + * fills a cpuset of size cpuset_size. + */ +static int parse_cpu_hex_mask(const char *str, cpu_set_t *cpuset, size_t cpuset_size) +{ + int len = strlen(str); + const char *ptr = str + len - 1; + int cpu = 0; + + /* skip optional '0x' prefix format */ + if (len >= 2 && str[0] == '0' && str[1] == 'x') + str += 2; + CPU_ZERO_S(cpuset_size, cpuset); + + while (ptr >= str) { + char c = *ptr; + uint8_t val; + + if (c >= '0' && c <= '9') { + val = c - '0'; + } else { + c = (char)tolower((int)c); + if (c >= 'a' && c <= 'f') + val = c + (10 - 'a'); + else + return -1; + } + if (val & 0x01) + CPU_SET_S(cpu, cpuset_size, cpuset); + if (val & 0x02) + CPU_SET_S(cpu + 1, cpuset_size, cpuset); + if (val & 0x04) + CPU_SET_S(cpu + 2, cpuset_size, cpuset); + if (val & 0x08) + CPU_SET_S(cpu + 3, cpuset_size, cpuset); + ptr--; + cpu += 4; + } + + return 0; +} + +/* Generates a hexstring in str from cpuset of size cpuset_size */ +static int generate_cpu_hex_mask(char *str, size_t str_buf_size, + cpu_set_t *cpuset, size_t cpuset_size) +{ + char *ptr = str; + int cpu; + bool first_nonzero_found = false; + + /* 2 char per byte, + '0x' prefix + '\0' */ + if (cpuset_size * 2 + 2 + 1 > str_buf_size) + return -1; + + *ptr++ = '0'; + *ptr++ = 'x'; + + for (cpu = cpuset_size*8 - 4; cpu >= 0; cpu -= 4) { + uint8_t val = 0; + + if (CPU_ISSET_S(cpu, cpuset_size, cpuset)) + val |= 0x01; + if (CPU_ISSET_S(cpu + 1, cpuset_size, cpuset)) + val |= 0x02; + if (CPU_ISSET_S(cpu + 2, cpuset_size, cpuset)) + val |= 0x04; + if (CPU_ISSET_S(cpu + 3, cpuset_size, cpuset)) + val |= 0x08; + + if (val >= 0 && val < 10) + *ptr = '0' + val; + else + *ptr = ('a' - 10) + val; + if (val) + first_nonzero_found = true; + if (first_nonzero_found) + ptr++; + + } + if (!first_nonzero_found) + *ptr++ = '0'; + *ptr = '\0'; + return 0; +} + +/* Checks whther a thread identified by tid exists and belongs to the running process */ +static bool proc_tid_exists(pid_t tid) +{ + DIR *proc_dir; + struct dirent *entry; + char dirname[100]; + int tid_it; + bool found = false; + + snprintf(dirname, sizeof(dirname), "/proc/%ld/task", (long int)getpid()); + proc_dir = opendir(dirname); + if (!proc_dir) + return false; /*FIXME; print error */ + + while ((entry = readdir(proc_dir))) { + if (entry->d_name[0] == '.') + continue; + tid_it = atoi(entry->d_name); + if (tid_it == tid) { + found = true; + break; + } + } + + closedir(proc_dir); + return found; +} + +/* Checks whther a thread identified by name exists and belongs to the running + * process, and returns its disocevered TID in res_pid. + */ +static bool proc_name_exists(const char *name, pid_t *res_pid) +{ + DIR *proc_dir; + struct dirent *entry; + char path[100]; + char buf[17]; /* 15 + \n + \0 */ + int tid_it; + int fd; + pid_t mypid = getpid(); + bool found = false; + int rc; + + *res_pid = 0; + + snprintf(path, sizeof(path), "/proc/%ld/task", (long int)mypid); + proc_dir = opendir(path); + if (!proc_dir) + return false; + + while ((entry = readdir(proc_dir))) + { + if (entry->d_name[0] == '.') + continue; + + tid_it = atoi(entry->d_name); + snprintf(path, sizeof(path), "/proc/%ld/task/%ld/comm", (long int)mypid, (long int) tid_it); + if ((fd = open(path, O_RDONLY)) == -1) + continue; + rc = read(fd, buf, sizeof(buf) - 1); + if (rc >= 0) { + /* Last may char contain a '\n', get rid of it */ + if (rc > 0 && buf[rc - 1] == '\n') + buf[rc - 1] = '\0'; + else + buf[rc] = '\0'; + if (strcmp(name, buf) == 0) { + *res_pid = tid_it; + found = true; + } + } + close(fd); + + if (found) + break; + } + + closedir(proc_dir); + return found; +} + +/* Parse VTY THREADNAME variable, return its type and fill discovered res_pid if required */ +static enum sched_vty_thread_id procname2pid(pid_t *res_pid, const char *str, bool applynow) +{ + size_t i, len; + char *end; + bool is_pid = true; + + if (strcmp(str, "all") == 0) { + *res_pid = 0; + return SCHED_VTY_THREAD_ALL; + } + + if (strcmp(str, "self") == 0) { + *res_pid = 0; + return SCHED_VTY_THREAD_SELF; + } + + len = strlen(str); + for (i = 0; i < len; i++) { + if (!isdigit(str[i])) { + is_pid = false; + break; + } + } + if (is_pid) { + errno = 0; + *res_pid = strtoul(str, &end, 0); + if ((errno == ERANGE && *res_pid == ULONG_MAX) || (errno && !*res_pid) || + str == end) { + return SCHED_VTY_THREAD_UNKNOWN; + } + if (!applynow || proc_tid_exists(*res_pid)) + return SCHED_VTY_THREAD_ID; + else + return SCHED_VTY_THREAD_UNKNOWN; + } + + if (len > 15) { + /* Thread names only allow up to 15+1 null chars, see man pthread_setname_np */ + return SCHED_VTY_THREAD_UNKNOWN; + } + + if (applynow) { + if (proc_name_exists(str, res_pid)) + return SCHED_VTY_THREAD_NAME; + else + return SCHED_VTY_THREAD_UNKNOWN; + } else { + /* assume a thread will be named after it */ + *res_pid = 0; + return SCHED_VTY_THREAD_NAME; + } +} + +/* Wrapper for sched_setaffinity applying to single thread or all threads in process based on tid_type. */ +static int my_sched_setaffinity(enum sched_vty_thread_id tid_type, pid_t pid, + cpu_set_t *cpuset, size_t cpuset_size) +{ + DIR *proc_dir; + struct dirent *entry; + char dirname[100]; + char str_mask[1024]; + int tid_it; + int rc = 0; + + if (generate_cpu_hex_mask(str_mask, sizeof(str_mask), cpuset, cpuset_size) < 0) + str_mask[0] = '\0'; + + if (tid_type != SCHED_VTY_THREAD_ALL) { + LOGP(DLGLOBAL, LOGL_NOTICE, "Setting CPU affinity mask for tid %lu to: %s\n", + (unsigned long) pid, str_mask); + + rc = sched_setaffinity(pid, sizeof(cpu_set_t), cpuset); + return rc; + } + + snprintf(dirname, sizeof(dirname), "/proc/%ld/task", (long int)getpid()); + proc_dir = opendir(dirname); + if (!proc_dir) + return -EINVAL; + + while ((entry = readdir(proc_dir))) + { + if (entry->d_name[0] == '.') + continue; + tid_it = atoi(entry->d_name); + LOGP(DLGLOBAL, LOGL_NOTICE, "Setting CPU affinity mask for tid %lu to: %s\n", + (unsigned long) tid_it, str_mask); + + rc = sched_setaffinity(tid_it, sizeof(cpu_set_t), cpuset); + if (rc == -1) + break; + } + + closedir(proc_dir); + return rc; + +} + +DEFUN(cfg_sched_cpu_affinity, cfg_sched_cpu_affinity_cmd, + "cpu-affinity (self|all|<0-4294967295>|THREADNAME) CPUHEXMASK [delay]", + "Set CPU affinity mask on a (group of) thread(s)\n" + "Set CPU affinity mask on thread running the VTY\n" + "Set CPU affinity mask on all process' threads\n" + "Set CPU affinity mask on a thread with specified PID\n" + "Set CPU affinity mask on a thread with specified thread name\n" + "CPU affinity mask\n" + "If set, delay applying the affinity mask now and let the app handle it at a later point\n") +{ + const char* str_who = argv[0]; + const char *str_mask = argv[1]; + bool applynow = (argc != 3); + int rc; + pid_t pid; + enum sched_vty_thread_id tid_type; + struct cpu_affinity_it *it, *it_next; + cpu_set_t *cpuset; + size_t cpuset_size; + + tid_type = procname2pid(&pid, str_who, applynow); + if (tid_type == SCHED_VTY_THREAD_UNKNOWN) { + vty_out(vty, "%% Failed parsing target thread %s%s", + str_who, VTY_NEWLINE); + return CMD_WARNING; + } + + if (tid_type == SCHED_VTY_THREAD_ID && !applynow) { + vty_out(vty, "%% It makes no sense to delay applying cpu-affinity on tid %lu%s", + (unsigned long)pid, VTY_NEWLINE); + return CMD_WARNING; + } + if (tid_type == SCHED_VTY_THREAD_ALL && !applynow) { + vty_out(vty, "%% It makes no sense to delay applying cpu-affinity on all threads%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + cpuset = CPU_ALLOC(get_num_cpus()); + cpuset_size = CPU_ALLOC_SIZE(get_num_cpus()); + if (parse_cpu_hex_mask(str_mask, cpuset, cpuset_size) < 0) { + vty_out(vty, "%% Failed parsing CPU Affinity Mask %s%s", + str_mask, VTY_NEWLINE); + CPU_FREE(cpuset); + return CMD_WARNING; + } + + if (applynow) { + rc = my_sched_setaffinity(tid_type, pid, cpuset, cpuset_size); + if (rc == -1) { + vty_out(vty, "%% Failed setting sched CPU Affinity Mask %s: %s%s", + str_mask, strerror(errno), VTY_NEWLINE); + CPU_FREE(cpuset); + return CMD_WARNING; + } + } + + /* Keep history of cmds applied to be able to rewrite config. If PID was passed + directly it makes no sense to store it since PIDs are temporary */ + if (tid_type == SCHED_VTY_THREAD_SELF || + tid_type == SCHED_VTY_THREAD_ALL || + tid_type == SCHED_VTY_THREAD_NAME) { + pthread_mutex_lock(&sched_vty_opts->cpu_affinity_li_mutex); + + /* Drop previous entries matching, since they will be overwritten */ + llist_for_each_entry_safe(it, it_next, &sched_vty_opts->cpu_affinity_li, entry) { + if (strcmp(it->bufname, str_who) == 0) { + llist_del(&it->entry); + CPU_FREE(it->cpuset); + talloc_free(it); + break; + } + } + it = talloc_zero(sched_vty_opts->tall_ctx, struct cpu_affinity_it); + OSMO_STRLCPY_ARRAY(it->bufname, str_who); + it->tid_type = tid_type; + it->cpuset = cpuset; + it->cpuset_size = cpuset_size; + it->delay = !applynow; + llist_add_tail(&it->entry, &sched_vty_opts->cpu_affinity_li); + + pthread_mutex_unlock(&sched_vty_opts->cpu_affinity_li_mutex); + } else { + /* We don't need cpuset for later, free it: */ + CPU_FREE(cpuset); + } + return CMD_SUCCESS; +} + +static int set_sched_rr(unsigned int prio) +{ + struct sched_param param; + int rc; + memset(¶m, 0, sizeof(param)); + param.sched_priority = prio; + LOGP(DLGLOBAL, LOGL_NOTICE, "Setting SCHED_RR priority %d\n", param.sched_priority); + rc = sched_setscheduler(getpid(), SCHED_RR, ¶m); + if (rc == -1) { + LOGP(DLGLOBAL, LOGL_FATAL, "Setting SCHED_RR priority %d failed: %s\n", + param.sched_priority, strerror(errno)); + return -1; + } + return 0; +} + +DEFUN(cfg_sched_policy, cfg_sched_policy_cmd, + "policy rr <1-32>", + "Set the scheduling policy to use for the process\n" + "Use the SCHED_RR real-time scheduling algorithm\n" + "Set the SCHED_RR real-time priority\n") +{ + sched_vty_opts->sched_rr_prio = atoi(argv[0]); + + if (set_sched_rr(sched_vty_opts->sched_rr_prio) < 0) { + vty_out(vty, "%% Failed setting SCHED_RR priority %d%s", + sched_vty_opts->sched_rr_prio, VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN(cfg_sched, + cfg_sched_cmd, + "cpu-sched", "Configure CPU Scheduler related settings") +{ + vty->index = NULL; + vty->node = L_CPU_SCHED_NODE; + + return CMD_SUCCESS; +} + +DEFUN(show_sched_threads, show_sched_threads_cmd, + "show cpu-sched threads", + SHOW_STR + "Show Sched section information\n" + "Show information about running threads)\n") +{ + DIR *proc_dir; + struct dirent *entry; + char path[100]; + char name[17]; + char str_mask[1024]; + int tid_it; + int fd; + pid_t mypid = getpid(); + int rc; + cpu_set_t *cpuset; + size_t cpuset_size; + + vty_out(vty, "Thread list for PID %lu:%s", (unsigned long) mypid, VTY_NEWLINE); + + snprintf(path, sizeof(path), "/proc/%ld/task", (long int)mypid); + proc_dir = opendir(path); + if (!proc_dir) { + vty_out(vty, "%% Failed opening dir%s%s", path, VTY_NEWLINE); + return CMD_WARNING; + } + + while ((entry = readdir(proc_dir))) + { + if (entry->d_name[0] == '.') + continue; + + tid_it = atoi(entry->d_name); + snprintf(path, sizeof(path), "/proc/%ld/task/%ld/comm", (long int)mypid, (long int)tid_it); + if ((fd = open(path, O_RDONLY)) != -1) { + rc = read(fd, name, sizeof(name) - 1); + if (rc >= 0) { + /* Last may char contain a '\n', get rid of it */ + if (rc > 0 && name[rc - 1] == '\n') + name[rc - 1] = '\0'; + else + name[rc] = '\0'; + } + close(fd); + } else { + name[0] = '\0'; + } + + str_mask[0] = '\0'; + cpuset = CPU_ALLOC(get_num_cpus()); + cpuset_size = CPU_ALLOC_SIZE(get_num_cpus()); + CPU_ZERO_S(cpuset_size, cpuset); + if (sched_getaffinity(tid_it, cpuset_size, cpuset) == 0) { + if (generate_cpu_hex_mask(str_mask, sizeof(str_mask), cpuset, cpuset_size) < 0) + str_mask[0] = '\0'; + } + CPU_FREE(cpuset); + + vty_out(vty, " TID: %lu, NAME: '%s', cpu-affinity: %s%s", + (unsigned long) tid_it, name, str_mask, VTY_NEWLINE); + } + + closedir(proc_dir); + return CMD_SUCCESS; +} + +static int config_write_sched(struct vty *vty) +{ + struct cpu_affinity_it *it; + char str_mask[1024]; + + /* Only add the node if there's something to write under it */ + if (sched_vty_opts->sched_rr_prio || !llist_empty(&sched_vty_opts->cpu_affinity_li)) + vty_out(vty, "cpu-sched%s", VTY_NEWLINE); + + if (sched_vty_opts->sched_rr_prio) + vty_out(vty, " policy rr %d%s", sched_vty_opts->sched_rr_prio, VTY_NEWLINE); + + llist_for_each_entry(it, &sched_vty_opts->cpu_affinity_li, entry) { + if (generate_cpu_hex_mask(str_mask, sizeof(str_mask), it->cpuset, it->cpuset_size) < 0) + OSMO_STRLCPY_ARRAY(str_mask, "ERROR"); + vty_out(vty, " cpu-affinity %s %s%s%s", it->bufname, str_mask, + it->delay ? " delay" : "", VTY_NEWLINE); + } + + return CMD_SUCCESS; +} + +/*! Initialize sched VTY nodes + * \param[in] tall_ctx Talloc context to use internally by vty_sched subsystem. + * \return 0 on success, non-zero on error. + */ +int osmo_cpu_sched_vty_init(void *tall_ctx) +{ + OSMO_ASSERT(!sched_vty_opts); /* assert only called once */ + + sched_vty_opts = talloc_zero(tall_ctx, struct sched_vty_opts); + sched_vty_opts->tall_ctx = tall_ctx; + INIT_LLIST_HEAD(&sched_vty_opts->cpu_affinity_li); + pthread_mutex_init(&sched_vty_opts->cpu_affinity_li_mutex, NULL); + + install_element(CONFIG_NODE, &cfg_sched_cmd); + install_node(&sched_node, config_write_sched); + + install_element(L_CPU_SCHED_NODE, &cfg_sched_policy_cmd); + install_element(L_CPU_SCHED_NODE, &cfg_sched_cpu_affinity_cmd); + + install_element_ve(&show_sched_threads_cmd); + + /* Initialize amount of cpus now */ + if (get_num_cpus() < 0) + return -1; + + return 0; +} + +/*! Apply cpu-affinity on calling thread based on VTY configuration + * \return 0 on success, non-zero on error. + */ +int osmo_cpu_sched_vty_apply_localthread(void) +{ + struct cpu_affinity_it *it, *it_match = NULL; + char name[16]; /* 15 + \0 */ + char str_mask[1024]; + bool has_name = false; + int rc = 0; + + /* Assert subsystem was inited and structs are preset */ + OSMO_ASSERT(sched_vty_opts); + + if (pthread_getname_np(pthread_self(), name, sizeof(name)) == 0) + has_name = true; + + /* Get latest matching mask for the thread */ + pthread_mutex_lock(&sched_vty_opts->cpu_affinity_li_mutex); + llist_for_each_entry(it, &sched_vty_opts->cpu_affinity_li, entry) { + switch (it->tid_type) { + case SCHED_VTY_THREAD_SELF: + continue; /* self to the VTY thread, not us */ + case SCHED_VTY_THREAD_ALL: + it_match = it; + break; + case SCHED_VTY_THREAD_NAME: + if (!has_name) + continue; + if (strcmp(name, it->bufname) != 0) + continue; + it_match = it; + break; + default: + OSMO_ASSERT(0); + } + } + + if (it_match) { + rc = my_sched_setaffinity(SCHED_VTY_THREAD_SELF, 0, it_match->cpuset, it_match->cpuset_size); + if (rc == -1) { + if (generate_cpu_hex_mask(str_mask, sizeof(str_mask), + it_match->cpuset, it_match->cpuset_size) < 0) + str_mask[0] = '\0'; + LOGP(DLGLOBAL, LOGL_FATAL, "Setting cpu-affinity mask %s failed: %s\n", + str_mask, strerror(errno)); + } + } + pthread_mutex_unlock(&sched_vty_opts->cpu_affinity_li_mutex); + return rc; +} + +/*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Gerrit-Change-Number: 19442 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 Mon Aug 10 14:35:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 14:35:07 +0000 Subject: Change in osmo-gsm-manuals[master]: chapters: Introduce vty_cpu_sched.adoc chapter In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 ) Change subject: chapters: Introduce vty_cpu_sched.adoc chapter ...................................................................... chapters: Introduce vty_cpu_sched.adoc chapter Documents new features added in libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a. This file will be imported in user manuals of programs using the mentioned libosmovty features. Related: SYS#4986 Change-Id: Icd75769ef630c3fa985fc5e2154d5521689cdd3c --- A common/chapters/vty_cpu_sched.adoc 1 file changed, 117 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/43/19443/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 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: Icd75769ef630c3fa985fc5e2154d5521689cdd3c Gerrit-Change-Number: 19443 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 14:35:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 14:35:14 +0000 Subject: Change in osmo-gsm-manuals[master]: chapters: Introduce vty_cpu_sched.adoc chapter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 ) Change subject: chapters: Introduce vty_cpu_sched.adoc chapter ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 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: Icd75769ef630c3fa985fc5e2154d5521689cdd3c Gerrit-Change-Number: 19443 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 14:35:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 15:04:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 15:04:03 +0000 Subject: Change in osmo-gsm-manuals[master]: chapters: Introduce vty_cpu_sched.adoc chapter In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 ) Change subject: chapters: Introduce vty_cpu_sched.adoc chapter ...................................................................... chapters: Introduce vty_cpu_sched.adoc chapter Documents new features added in libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a. This file will be imported in user manuals of programs using the mentioned libosmovty features. Related: SYS#4986 Change-Id: Icd75769ef630c3fa985fc5e2154d5521689cdd3c --- A common/chapters/vty_cpu_sched.adoc 1 file changed, 117 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/common/chapters/vty_cpu_sched.adoc b/common/chapters/vty_cpu_sched.adoc new file mode 100644 index 0000000..f3a7c09 --- /dev/null +++ b/common/chapters/vty_cpu_sched.adoc @@ -0,0 +1,117 @@ +[[vty_cpu_sched]] +== VTY Process and Thread management + +Most Osmocom programs provide, some support to tune some system +settings related to the running process, its threads, its scheduling policies, +etc. + +All of these settings can be configured through the VTY, either during startup +by means of usual config files or through direct human interaction at the telnet +VTY interface while the process is running. + +[[vty_cpu_sched_policy]] +=== Scheduling Policy + +The scheduler to use as well as some of its properties (such as realtime +priority) can be configured at any time for the entire process. This sort of +functionality is useful in order to increase priority for processes running +time-constrained procedures, such as those acting on the Um interface, like +_osmo-trx_ or _osmo-bts_, where use of this feature is highly recommended. + +.Example: Set process to use RR scheduler +---- +cpu-sched + policy rr 1 <1> +---- +<1> Configure process to use _SCHED_RR_ policy with real time priority 1 + +[[vty_cpu_sched_cpu_affinity_mask]] +=== CPU-Affinity Mask + +Most operating systems allow for some sort of configuration on restricting the +amount of CPUs a given process or thread can run on. The procedure is sometimes +called as _cpu-pinning_ since it allows to keep different processes pinned on a +subset of CPUs to make sure the scheduler won't run two CPU-hungry processes on +the same CPU. + +The set of CPUs where each thread is allowed to run on is expressed by means of +a bitmask in hexadecimal representation, where the right most bit relates to +CPU 0, and the Nth most significant bit relates to CPU _N-1_. Setting the bit +means the process is allowed to run on that CPU, while clearing it means the +process is forbidden to run on that CPU. + +Hence, for instance a cpu-affinity mask of _0x00_ means the thread is not +allowed on any CPU, which will cause the thread to stall until a new value is +applied. A mask of _0x01_ means the thread is only allowed to run on the 1st CPU +(CPU 0). A mask of _0xff00_ means CPUs 8-15 are allowed, while 0-7 are not. + +For single-threaded processes (most of Osmocom are), it is usually enough to set +this line in VTY config file as follows: +---- +cpu-sched + cpu-affinity self 0x01 <1> +---- +<1> Allow main thread (the one managing the VTY) only on CPU 0 + +Or otherwise: +---- +cpu-sched + cpu-affinity all 0x01 <1> +---- +<1> Allow all threads only on CPU 0 + + +For multi-threaded processes, it may be desired to run some threads on a subset +of CPUs while another subset may run on another one. In order to identify +threads, one can either use the TID of the thread (each thread has its own PID +in Linux), or its specific Thread Name in case it has been set by the +application. + +The related information on all threads available in the process can be listed +through VTY. This allows identifying quickly the different threads, its current +cpu-affinity mask, etc. + +.Example: Get osmo-trx Thread list information from VTY +---- +OsmoTRX> show cpu-sched threads +Thread list for PID 338609: + TID: 338609, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338610, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338611, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338629, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338630, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338631, NAME: 'osmo-trx-uhd', cpu-affinity: 0x3 + TID: 338634, NAME: 'UHDAsyncEvent', cpu-affinity: 0x3 + TID: 338635, NAME: 'TxLower', cpu-affinity: 0x3 + TID: 338636, NAME: 'RxLower', cpu-affinity: 0x3 + TID: 338637, NAME: 'RxUpper0', cpu-affinity: 0x3 + TID: 338638, NAME: 'TxUpper0', cpu-affinity: 0x3 + TID: 338639, NAME: 'RxUpper1', cpu-affinity: 0x3 + TID: 338640, NAME: 'TxUpper1', cpu-affinity: 0x3 +---- + +At runtime, one can change the cpu-affinity mask for a given thread identifying +it by either TID or name: + +.Example: Set CPU-affinity from VTY telnet interface +---- +OsmoTRX> cpu-affinity TxLower 0x02 <1> +OsmoTRX> cpu-affinity TxLower 0x03 <2> +---- +<1> Allow thread named _TxLower_ (_338635_) only on CPU 1 +<2> Allow with TID _338636_ (_RxLower_) only on CPU 0 and 1 + +Since thread names are set dynamically by the process during startup or at a +later point after creating the thread itself, One may need to specify in the +config file that the mask must be applied by the thread itself once being +configured rather than trying to apply it immediately. To specify so, the +_delay_ keyword is using when configuring in the VTY. If the _delay_ keyword is +not used, the VTY will report and error and fail at startup when trying to apply +a cpu-affinity mask for a yet-to-be-created thread. + +.Example: Set CPU-affinity from VTY config file +---- +cpu-sched + cpu-affinity TxLower 0x01 delay <1> +---- +<1> Allow thread named _TxLower_ (_338635_) only on CPU 1. It will be applied by the thread itself when created. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19443 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: Icd75769ef630c3fa985fc5e2154d5521689cdd3c Gerrit-Change-Number: 19443 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 Mon Aug 10 15:38:12 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 10 Aug 2020 15:38:12 +0000 Subject: Change in osmo-ccid-firmware[master]: proper card powerup handling 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-ccid-firmware/+/19473 to look at the new patch set (#5). Change subject: proper card powerup handling ...................................................................... proper card powerup handling Now that the timers work as intended other voltages (that lead to timeouts) may be used. Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb --- M ccid_common/ccid_slot_fsm.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c M ccid_host/cuart_fsm_test.c M sysmoOCTSIM/cuart_driver_asf4_usart_async.c 5 files changed, 40 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/73/19473/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb Gerrit-Change-Number: 19473 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 16:00:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 Aug 2020 16:00:53 +0000 Subject: Change in osmo-trx[master]: Use new libosmovty cpu sched config features In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19445 ) Change subject: Use new libosmovty cpu sched config features ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3798603779b88ea37da03033cf7737a6e4751d6e Gerrit-Change-Number: 19445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 Aug 2020 16:00:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 16:01:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 10 Aug 2020 16:01:53 +0000 Subject: Change in osmo-bts[master]: common: Support setting rt prio through new libosmovty sched VTY cmds In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19444 ) Change subject: common: Support setting rt prio through new libosmovty sched VTY cmds ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice46e406b84fa11afcc7ba31e521e7677df73cf3 Gerrit-Change-Number: 19444 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 10 Aug 2020 16:01: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 Aug 10 16:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 16:31:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 11: Code-Review+1 i don't really understand deeply, but looks sane to me -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 16:31:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 19:32:57 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 19:32:57 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: typo s/more/less in test 19 description References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19556 ) Change subject: handover_test.c: typo s/more/less in test 19 description ...................................................................... handover_test.c: typo s/more/less in test 19 description Change-Id: Ia46fa9bb4f340d35515168f82dd23a1270f6fcd5 --- M tests/handover/handover_test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/19556/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index f9bafe5..6fb145e 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -956,7 +956,7 @@ "2", "Congestion check: Balancing over congested cells\n\n" - "Two cells are congested, but the second cell is more congested.\n" + "Two cells are congested, but the second cell is less congested.\n" "Handover is performed to solve the congestion.\n", "create-bts", "2", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia46fa9bb4f340d35515168f82dd23a1270f6fcd5 Gerrit-Change-Number: 19556 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 Aug 10 19:32:58 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 19:32:58 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix logging of requirements flags References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19557 ) Change subject: hodec2: fix logging of requirements flags ...................................................................... hodec2: fix logging of requirements flags Fix typo to log the "C" requirements accurately. Change-Id: I15ce607f354918167ba81192230db63a5948c742 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/19557/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 8caa2e3..4c32c38 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -809,7 +809,7 @@ candidate->requirements & REQUIREMENT_A_TCH##TCHX ? "A" : \ (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ - candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "C" : "", \ + candidate->requirements & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ ((candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ " more congestion" : \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ce607f354918167ba81192230db63a5948c742 Gerrit-Change-Number: 19557 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 Aug 10 19:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 19:32:59 +0000 Subject: Change in osmo-bsc[master]: hodec2 congestion: consider only congested pchan types References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19558 ) Change subject: hodec2 congestion: consider only congested pchan types ...................................................................... hodec2 congestion: consider only congested pchan types If no TCH/H need to be moved, then don't collect TCH/H candidates. Same for TCH/F. Examining a specific congestion scenario, I realized that ho decision 2 collects candidates of pchan types that are not actually considered congested: - handover decision 2 wants to move 2 TCH/F only; TCH/H is fine. - still it collects active TCH/H lchans as candidates. (BTS 0) Congestion check: (free/want-free) TCH/F=0/2 TCH/H=12/0 (BTS 0) Attempting to resolve congestion... (BTS 0) congested: 2 TCH/F and 0 TCH/H should be moved [...] (BTS 0) Considering 8 candidates to solve congestion: (lchan 0.020 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #0: req=0x0 avg-rxlev=42 (lchan 0.030 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #1: req=0x0 avg-rxlev=42 (lchan 0.040 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #2: req=0x0 avg-rxlev=42 (lchan 0.050 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #3: req=0x0 avg-rxlev=42 (lchan 0.160 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #4: req=0x0 avg-rxlev=42 (lchan 0.161 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #5: req=0x0 avg-rxlev=42 (lchan 0.170 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #6: req=0x0 avg-rxlev=42 (lchan 0.171 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #7: req=0x0 avg-rxlev=42 Change-Id: I5077a62c6d77838513eecf3f0e4810c3d3d3a247 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/19558/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 4c32c38..26a8840 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1445,6 +1445,10 @@ /* (Do not consider dynamic TS that are in PDCH mode) */ switch (ts->pchan_is) { case GSM_PCHAN_TCH_F: + /* No need to collect TCH/F candidates if no TCH/F needs to be moved. */ + if (tchf_congestion == 0) + continue; + lc = &ts->lchan[0]; /* omit if channel not active */ if (lc->type != GSM_LCHAN_TCH_F @@ -1459,6 +1463,10 @@ collect_candidates_for_lchan(lc, clist, &candidates, NULL, true); break; case GSM_PCHAN_TCH_H: + /* No need to collect TCH/H candidates if no TCH/H needs to be moved. */ + if (tchh_congestion == 0) + continue; + for (j = 0; j < 2; j++) { lc = &ts->lchan[j]; /* omit if channel not active */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5077a62c6d77838513eecf3f0e4810c3d3d3a247 Gerrit-Change-Number: 19558 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 Aug 10 19:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 19:32:59 +0000 Subject: Change in osmo-bsc[master]: hodec2: do not keep candidates with zero requirements met References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19559 ) Change subject: hodec2: do not keep candidates with zero requirements met ...................................................................... hodec2: do not keep candidates with zero requirements met When check_requirements() returns zero, do not keep such an entry in the candidates list at all. This removes logging confusion, where some "candidates" are still listed even though not meeting any handover requirements. Change-Id: I12e48292d5731cb601165c870b9570003bc488ec --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/19559/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 26a8840..3191957 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -861,6 +861,10 @@ }; debug_candidate(&c, 0, tchf_count, tchh_count); + + if (!c.requirements) + return; + clist[*candidates] = c; (*candidates)++; } @@ -966,6 +970,9 @@ debug_candidate(&c, av_rxlev, tchf_count, tchh_count); + if (!c.requirements) + return; + clist[*candidates] = c; (*candidates)++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12e48292d5731cb601165c870b9570003bc488ec Gerrit-Change-Number: 19559 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 Aug 10 19:33:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 19:33:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: log requirements of best candidate, log rxlev in dBm References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19560 ) Change subject: hodec2: log requirements of best candidate, log rxlev in dBm ...................................................................... hodec2: log requirements of best candidate, log rxlev in dBm Instead of logging a hex value for the met requirements, fully expand the "ABC" flags for both TCH/F and TCH/H. >From HO_CANDIDATE_FMT/_ARGS, split off into REQUIREMENTS_FMT/_ARGS and use that when logging the chosen HO candidates. Also change the RX level to dBm, to match general logging and reduce confusion between rxlev number variants in the log. Change-Id: I1b30a6e98bdb4bd92e72864fafdd2f4f3ae3134c --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 21 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/19560/1 diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3191957..c818dbb 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -797,26 +797,30 @@ return trigger_remote_bss_ho(c, requirements); } +#define REQUIREMENTS_FMT "[%s%s%s]%s" +#define REQUIREMENTS_ARGS(REQUIREMENTS, TCHX) \ + (REQUIREMENTS) & REQUIREMENT_A_TCH##TCHX ? "A" : \ + ((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ + (REQUIREMENTS) & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ + (REQUIREMENTS) & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ + ((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ + (((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ + " more congestion" : \ + ((REQUIREMENTS) & REQUIREMENT_B_TCH##TCHX ? \ + " good" : \ + /* now has to be (REQUIREMENTS) & REQUIREMENT_C_TCHX != 0: */ \ + " less-or-equal congestion")) + /* verbosely log about a handover candidate */ static inline void debug_candidate(struct ho_candidate *candidate, int8_t rxlev, int tchf_count, int tchh_count) { struct gsm_lchan *lchan = candidate->lchan; -#define HO_CANDIDATE_FMT(tchx, TCHX) "TCH/" #TCHX "={free %d (want %d), [%s%s%s]%s}" +#define HO_CANDIDATE_FMT(tchx, TCHX) "TCH/" #TCHX "={free %d (want %d), " REQUIREMENTS_FMT "}" #define HO_CANDIDATE_ARGS(tchx, TCHX) \ tch##tchx##_count, ho_get_hodec2_tch##tchx##_min_slots(candidate->bts->ho), \ - candidate->requirements & REQUIREMENT_A_TCH##TCHX ? "A" : \ - (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ - candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ - candidate->requirements & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ - (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ - ((candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ - " more congestion" : \ - (candidate->requirements & REQUIREMENT_B_TCH##TCHX ? \ - " good" : \ - /* now has to be candidate->requirements & REQUIREMENT_C_TCHX != 0: */ \ - " less-or-equal congestion")) + REQUIREMENTS_ARGS(candidate->requirements, TCHX) if (!candidate->bts && !candidate->cil) LOGPHOLCHAN(lchan, LOGL_DEBUG, "Empty candidate\n"); @@ -1503,8 +1507,11 @@ if (log_check_level(DHODEC, LOGL_DEBUG)) { LOGPHOBTS(bts, LOGL_DEBUG, "Considering %u candidates to solve congestion:\n", candidates); for (i = 0; i < candidates; i++) { - LOGPHOCAND(&clist[i], LOGL_DEBUG, "#%d: req=0x%x avg-rxlev=%d\n", - i, clist[i].requirements, clist[i].avg); + + LOGPHOCAND(&clist[i], LOGL_DEBUG, "#%d: req={TCH/F:" REQUIREMENTS_FMT ", TCH/H:" REQUIREMENTS_FMT "} avg-rxlev=%d dBm\n", + i, REQUIREMENTS_ARGS(clist[i].requirements, F), + REQUIREMENTS_ARGS(clist[i].requirements, H), + rxlev2dbm(clist[i].avg)); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1b30a6e98bdb4bd92e72864fafdd2f4f3ae3134c Gerrit-Change-Number: 19560 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 Aug 10 19:40:26 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 19:40:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add E1 related testscases References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 ) Change subject: MGCP_Test: add E1 related testscases ...................................................................... MGCP_Test: add E1 related testscases osmo-mgw recently added support for E1 trunks via libosmoabis. While the actual E1 plane may be difficult to test, there is some functionality that can already be tested without having E1 support in TTCN3. Lets add three testcases: - TC_e1_crcx_and_dlcx_ep: Does a CRCX to an E1 endpoint followed by a DLCX - TC_e1_crcx_with_overlap: Not all E1 endpoint combinations are possible at the same time. This test verifies that invalid endpoint combinations are prevented. - TC_e1_crcx_loopback: Opes an E1 endpoint and tests if RTP loopback works (NO E1 traffic involved) Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Related: OS#2659 --- M mgw/MGCP_Test.ttcn 1 file changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/19561/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 6caef79..24bfdaf 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2146,6 +2146,88 @@ setverdict(pass); } + /* Test (valid) CRCX followed by (valid) DLCX containing EP (E1) */ + testcase TC_e1_crcx_and_dlcx_ep() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id := '8376F297'H; + + f_init(ep); + + cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + + f_dlcx_ok(ep); + + setverdict(pass); + } + + /* Test what happens when overlapping endpoints are selected (E1) */ + testcase TC_e1_crcx_with_overlap() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep_1 := "ds/e1-1/s-1/su8-0@" & c_mgw_domain; + var MgcpEndpoint ep_2 := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id_1 := '8376F297'H; + var MgcpCallId call_id_2 := '837AF2A7'H; + + f_init(); + + /* ep_1 and ep_2 are overlapping, selecting both one after + * another should work fine: */ + cmd := ts_CRCX(get_next_trans_id(), ep_1, "recvonly", call_id_1); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + f_dlcx_ok(ep_1); + cmd := ts_CRCX(get_next_trans_id(), ep_2, "recvonly", call_id_2); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + f_dlcx_ok(ep_2); + + /* When ep_1 is serving a call we can not select ep_2 becaus + * it is overlapping with ep_1 */ + cmd := ts_CRCX(get_next_trans_id(), ep_1, "recvonly", call_id_1); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + cmd := ts_CRCX(get_next_trans_id(), ep_2, "recvonly", call_id_2); + resp := mgcp_transceive_mgw(cmd, ?); + if (resp.line.code != "501") { + setverdict(fail, "unexpected CRCX returncode, CRCX should fail!"); + } + f_dlcx_ok(ep_1); + + setverdict(pass); + } + + /* Create one connection in loopback mode, test if the RTP packets are + * actually reflected */ + testcase TC_e1_crcx_loopback() runs on dummy_CT { + var RtpFlowData flow; + var MgcpEndpoint ep := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id := '12250989'H; + var RtpemStats stats; + + f_init(ep); + flow := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000/1")); + flow.em.portnr := 10000; + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(1.0); + f_flow_delete(RTPEM[0], ep, call_id); + + stats := f_rtpem_stats_get(RTPEM[0]); + + if (stats.num_pkts_tx != stats.num_pkts_rx) { + setverdict(fail); + } + if (stats.bytes_payload_tx != stats.bytes_payload_rx) { + setverdict(fail); + } + + f_rtpem_stats_err_check(stats); + + setverdict(pass); + } + control { execute(TC_selftest()); execute(TC_crcx()); @@ -2201,5 +2283,10 @@ execute(TC_amr_bwe_bwe_rtp_conversion()); execute(TC_conn_timeout()); + + execute(TC_e1_crcx_and_dlcx_ep()); + execute(TC_e1_crcx_with_overlap()); + execute(TC_e1_crcx_loopback()); + } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Gerrit-Change-Number: 19561 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 Aug 10 19:45:36 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 19:45:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 to look at the new patch set (#2). Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... mgcp_e1: finish E1 support, add E1 support from libosmoabis Currently only the endpoint handling for E1 exists, but there is no actual code behind it that handles the E1 traffic. Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Related: OS#2659 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/debug.h M include/osmocom/mgcp/mgcp_conn.h A include/osmocom/mgcp/mgcp_e1.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_conn.c A src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c M tests/mgcp/Makefile.am M tests/mgcp/mgcp_test.c 22 files changed, 1,076 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/24/19524/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 2 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 Aug 10 19:45:36 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 19:45:36 +0000 Subject: Change in osmo-mgw[master]: get rid of mgcp_internal.h In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 to look at the new patch set (#2). Change subject: get rid of mgcp_internal.h ...................................................................... get rid of mgcp_internal.h The file mgcp_internal.h still contains mostly definitions and types that are relevant for mgcp_network.c and mgcp_protocol.c. Lets give the network and protocol module its own header files, also move stuff that does not relate to protocol and network to the appropiate places. Change-Id: I837eaad771ed7252304db4a81c37953b70766fff --- M include/Makefile.am M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_conn.h D include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_network.h A include/osmocom/mgcp/mgcp_protocol.h M include/osmocom/mgcp/mgcp_stat.h M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c M src/libosmo-mgcp/mgcp_stat.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 23 files changed, 306 insertions(+), 331 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/25/19525/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I837eaad771ed7252304db4a81c37953b70766fff Gerrit-Change-Number: 19525 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 Mon Aug 10 19:45:38 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 19:45:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix comments in header file References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19562 ) Change subject: mgcp_ratectr: fix comments in header file ...................................................................... mgcp_ratectr: fix comments in header file Change-Id: Idd9d7b108e81b44501b78264284dfa46e679d994 --- M include/osmocom/mgcp/mgcp_ratectr.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/62/19562/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index ff59ea4..657e897 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -11,7 +11,7 @@ MGCP_GENERAL_RX_FAIL_NO_ENDPOINT, }; -/* Global MCGP CRCX related rate counters */ +/* Trunk-global MCGP CRCX related rate counters */ enum { MGCP_CRCX_SUCCESS, MGCP_CRCX_FAIL_BAD_ACTION, @@ -32,7 +32,7 @@ MGCP_CRCX_FAIL_CLAIM, }; -/* Global MCGP MDCX related rate counters */ +/* Trunk-global MCGP MDCX related rate counters */ enum { MGCP_MDCX_SUCCESS, MGCP_MDCX_FAIL_WILDCARD, @@ -51,7 +51,7 @@ MGCP_MDCX_FAIL_AVAIL, }; -/* Global MCGP DLCX related rate counters */ +/* Trunk-global MCGP DLCX related rate counters */ enum { MGCP_DLCX_SUCCESS, MGCP_DLCX_FAIL_WILDCARD, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idd9d7b108e81b44501b78264284dfa46e679d994 Gerrit-Change-Number: 19562 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 Aug 10 20:00:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:00:40 +0000 Subject: Change in osmo-mgw[master]: get rid of mgcp_internal.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19525 ) Change subject: get rid of mgcp_internal.h ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I837eaad771ed7252304db4a81c37953b70766fff Gerrit-Change-Number: 19525 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:00:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:06:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:06:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19524 ) Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/19524/2/src/libosmo-mgcp/mgcp_e1.c File src/libosmo-mgcp/mgcp_e1.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19524/2/src/libosmo-mgcp/mgcp_e1.c at 57 PS2, Line 57: const ubit_t idle_tf_efr[] = { 0, 0, 0, 0, 0, 0, 0, 0, well, now it's const. But it shoud still be static, if it's only used within this file. static +const are not a contadiction... https://gerrit.osmocom.org/c/osmo-mgw/+/19524/2/src/libosmo-mgcp/mgcp_e1.c at 142 PS2, Line 142: /* Idle speech frame, see also GSM 08.60, chapter 3.4 */ same as above. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:06: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 Aug 10 20:07:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:07:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix comments in header file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19562 ) Change subject: mgcp_ratectr: fix comments in header file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idd9d7b108e81b44501b78264284dfa46e679d994 Gerrit-Change-Number: 19562 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:07: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 Aug 10 20:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:07:26 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: typo s/more/less in test 19 description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19556 ) Change subject: handover_test.c: typo s/more/less in test 19 description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia46fa9bb4f340d35515168f82dd23a1270f6fcd5 Gerrit-Change-Number: 19556 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:07:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:07:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:07:37 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix logging of requirements flags In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19557 ) Change subject: hodec2: fix logging of requirements flags ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ce607f354918167ba81192230db63a5948c742 Gerrit-Change-Number: 19557 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:07: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 Aug 10 20:08:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:08:09 +0000 Subject: Change in osmo-bsc[master]: hodec2 congestion: consider only congested pchan types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19558 ) Change subject: hodec2 congestion: consider only congested pchan types ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5077a62c6d77838513eecf3f0e4810c3d3d3a247 Gerrit-Change-Number: 19558 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:08:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:08:21 +0000 Subject: Change in osmo-bsc[master]: hodec2: do not keep candidates with zero requirements met In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19559 ) Change subject: hodec2: do not keep candidates with zero requirements met ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12e48292d5731cb601165c870b9570003bc488ec Gerrit-Change-Number: 19559 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:08: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 Aug 10 20:08:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:08:57 +0000 Subject: Change in osmo-bsc[master]: hodec2: log requirements of best candidate, log rxlev in dBm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19560 ) Change subject: hodec2: log requirements of best candidate, log rxlev in dBm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1b30a6e98bdb4bd92e72864fafdd2f4f3ae3134c Gerrit-Change-Number: 19560 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:08:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:08:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:08:59 +0000 Subject: Change in osmo-bsc[master]: handover_test.c: typo s/more/less in test 19 description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19556 ) Change subject: handover_test.c: typo s/more/less in test 19 description ...................................................................... handover_test.c: typo s/more/less in test 19 description Change-Id: Ia46fa9bb4f340d35515168f82dd23a1270f6fcd5 --- M tests/handover/handover_test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index f9bafe5..6fb145e 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -956,7 +956,7 @@ "2", "Congestion check: Balancing over congested cells\n\n" - "Two cells are congested, but the second cell is more congested.\n" + "Two cells are congested, but the second cell is less congested.\n" "Handover is performed to solve the congestion.\n", "create-bts", "2", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia46fa9bb4f340d35515168f82dd23a1270f6fcd5 Gerrit-Change-Number: 19556 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 10 20:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: fix logging of requirements flags In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19557 ) Change subject: hodec2: fix logging of requirements flags ...................................................................... hodec2: fix logging of requirements flags Fix typo to log the "C" requirements accurately. Change-Id: I15ce607f354918167ba81192230db63a5948c742 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 8caa2e3..4c32c38 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -809,7 +809,7 @@ candidate->requirements & REQUIREMENT_A_TCH##TCHX ? "A" : \ (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ - candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "C" : "", \ + candidate->requirements & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ ((candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ " more congestion" : \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ce607f354918167ba81192230db63a5948c742 Gerrit-Change-Number: 19557 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 10 20:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:00 +0000 Subject: Change in osmo-bsc[master]: hodec2 congestion: consider only congested pchan types In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19558 ) Change subject: hodec2 congestion: consider only congested pchan types ...................................................................... hodec2 congestion: consider only congested pchan types If no TCH/H need to be moved, then don't collect TCH/H candidates. Same for TCH/F. Examining a specific congestion scenario, I realized that ho decision 2 collects candidates of pchan types that are not actually considered congested: - handover decision 2 wants to move 2 TCH/F only; TCH/H is fine. - still it collects active TCH/H lchans as candidates. (BTS 0) Congestion check: (free/want-free) TCH/F=0/2 TCH/H=12/0 (BTS 0) Attempting to resolve congestion... (BTS 0) congested: 2 TCH/F and 0 TCH/H should be moved [...] (BTS 0) Considering 8 candidates to solve congestion: (lchan 0.020 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #0: req=0x0 avg-rxlev=42 (lchan 0.030 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #1: req=0x0 avg-rxlev=42 (lchan 0.040 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #2: req=0x0 avg-rxlev=42 (lchan 0.050 TCH_F SPEECH_V1)->(BTS 0) (subscr unknown) #3: req=0x0 avg-rxlev=42 (lchan 0.160 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #4: req=0x0 avg-rxlev=42 (lchan 0.161 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #5: req=0x0 avg-rxlev=42 (lchan 0.170 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #6: req=0x0 avg-rxlev=42 (lchan 0.171 TCH_H SPEECH_V1)->(BTS 0) (subscr IMSI:9017000000xxxxx) #7: req=0x0 avg-rxlev=42 Change-Id: I5077a62c6d77838513eecf3f0e4810c3d3d3a247 --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 4c32c38..26a8840 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1445,6 +1445,10 @@ /* (Do not consider dynamic TS that are in PDCH mode) */ switch (ts->pchan_is) { case GSM_PCHAN_TCH_F: + /* No need to collect TCH/F candidates if no TCH/F needs to be moved. */ + if (tchf_congestion == 0) + continue; + lc = &ts->lchan[0]; /* omit if channel not active */ if (lc->type != GSM_LCHAN_TCH_F @@ -1459,6 +1463,10 @@ collect_candidates_for_lchan(lc, clist, &candidates, NULL, true); break; case GSM_PCHAN_TCH_H: + /* No need to collect TCH/H candidates if no TCH/H needs to be moved. */ + if (tchh_congestion == 0) + continue; + for (j = 0; j < 2; j++) { lc = &ts->lchan[j]; /* omit if channel not active */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5077a62c6d77838513eecf3f0e4810c3d3d3a247 Gerrit-Change-Number: 19558 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 10 20:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: do not keep candidates with zero requirements met In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19559 ) Change subject: hodec2: do not keep candidates with zero requirements met ...................................................................... hodec2: do not keep candidates with zero requirements met When check_requirements() returns zero, do not keep such an entry in the candidates list at all. This removes logging confusion, where some "candidates" are still listed even though not meeting any handover requirements. Change-Id: I12e48292d5731cb601165c870b9570003bc488ec --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 26a8840..3191957 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -861,6 +861,10 @@ }; debug_candidate(&c, 0, tchf_count, tchh_count); + + if (!c.requirements) + return; + clist[*candidates] = c; (*candidates)++; } @@ -966,6 +970,9 @@ debug_candidate(&c, av_rxlev, tchf_count, tchh_count); + if (!c.requirements) + return; + clist[*candidates] = c; (*candidates)++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12e48292d5731cb601165c870b9570003bc488ec Gerrit-Change-Number: 19559 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 10 20:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: log requirements of best candidate, log rxlev in dBm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19560 ) Change subject: hodec2: log requirements of best candidate, log rxlev in dBm ...................................................................... hodec2: log requirements of best candidate, log rxlev in dBm Instead of logging a hex value for the met requirements, fully expand the "ABC" flags for both TCH/F and TCH/H. >From HO_CANDIDATE_FMT/_ARGS, split off into REQUIREMENTS_FMT/_ARGS and use that when logging the chosen HO candidates. Also change the RX level to dBm, to match general logging and reduce confusion between rxlev number variants in the log. Change-Id: I1b30a6e98bdb4bd92e72864fafdd2f4f3ae3134c --- M src/osmo-bsc/handover_decision_2.c 1 file changed, 21 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3191957..c818dbb 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -797,26 +797,30 @@ return trigger_remote_bss_ho(c, requirements); } +#define REQUIREMENTS_FMT "[%s%s%s]%s" +#define REQUIREMENTS_ARGS(REQUIREMENTS, TCHX) \ + (REQUIREMENTS) & REQUIREMENT_A_TCH##TCHX ? "A" : \ + ((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ + (REQUIREMENTS) & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ + (REQUIREMENTS) & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ + ((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ + (((REQUIREMENTS) & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ + " more congestion" : \ + ((REQUIREMENTS) & REQUIREMENT_B_TCH##TCHX ? \ + " good" : \ + /* now has to be (REQUIREMENTS) & REQUIREMENT_C_TCHX != 0: */ \ + " less-or-equal congestion")) + /* verbosely log about a handover candidate */ static inline void debug_candidate(struct ho_candidate *candidate, int8_t rxlev, int tchf_count, int tchh_count) { struct gsm_lchan *lchan = candidate->lchan; -#define HO_CANDIDATE_FMT(tchx, TCHX) "TCH/" #TCHX "={free %d (want %d), [%s%s%s]%s}" +#define HO_CANDIDATE_FMT(tchx, TCHX) "TCH/" #TCHX "={free %d (want %d), " REQUIREMENTS_FMT "}" #define HO_CANDIDATE_ARGS(tchx, TCHX) \ tch##tchx##_count, ho_get_hodec2_tch##tchx##_min_slots(candidate->bts->ho), \ - candidate->requirements & REQUIREMENT_A_TCH##TCHX ? "A" : \ - (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0? "-" : "", \ - candidate->requirements & REQUIREMENT_B_TCH##TCHX ? "B" : "", \ - candidate->requirements & REQUIREMENT_C_TCH##TCHX ? "C" : "", \ - (candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == 0 ? " not a candidate" : \ - ((candidate->requirements & REQUIREMENT_TCH##TCHX##_MASK) == REQUIREMENT_A_TCH##TCHX ? \ - " more congestion" : \ - (candidate->requirements & REQUIREMENT_B_TCH##TCHX ? \ - " good" : \ - /* now has to be candidate->requirements & REQUIREMENT_C_TCHX != 0: */ \ - " less-or-equal congestion")) + REQUIREMENTS_ARGS(candidate->requirements, TCHX) if (!candidate->bts && !candidate->cil) LOGPHOLCHAN(lchan, LOGL_DEBUG, "Empty candidate\n"); @@ -1503,8 +1507,11 @@ if (log_check_level(DHODEC, LOGL_DEBUG)) { LOGPHOBTS(bts, LOGL_DEBUG, "Considering %u candidates to solve congestion:\n", candidates); for (i = 0; i < candidates; i++) { - LOGPHOCAND(&clist[i], LOGL_DEBUG, "#%d: req=0x%x avg-rxlev=%d\n", - i, clist[i].requirements, clist[i].avg); + + LOGPHOCAND(&clist[i], LOGL_DEBUG, "#%d: req={TCH/F:" REQUIREMENTS_FMT ", TCH/H:" REQUIREMENTS_FMT "} avg-rxlev=%d dBm\n", + i, REQUIREMENTS_ARGS(clist[i].requirements, F), + REQUIREMENTS_ARGS(clist[i].requirements, H), + rxlev2dbm(clist[i].avg)); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1b30a6e98bdb4bd92e72864fafdd2f4f3ae3134c Gerrit-Change-Number: 19560 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 10 20:09:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add E1 related testscases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 ) Change subject: MGCP_Test: add E1 related testscases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Gerrit-Change-Number: 19561 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:09: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 Aug 10 20:09:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:09:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 20:09:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 ) Change subject: library/PCUIF_Types: version 10: add frequency hopping parameters ...................................................................... library/PCUIF_Types: version 10: add frequency hopping parameters This change introduces new version 10 specific extensions, in particular: the frequency hopping parameters of each timeslot. These parameters are used to compose Channel Description IE in the packet resource assignment messages. In order to maintain backwards compatibility with version 9 of the PCUIF, and thus to still be able to run test cases against the latest release of osmo-pcu, I kept the old parts of the INFO.ind and gruoped them together with the new records into union 'PCUIF_InfoTrxs'. During decoding, the content of this union is resolved by the TITAN's RAW codec itself, depending on value of the 'version' field. During the encoding, it's the responsibility of the API user to set a proper field of the union. I implemented both f_PCUIF_ver_INFO_{Trxs,PDCHMask} helpers for that. Version 9 is kept as default, so this change can be merged independently of the actual implementation. We can bump it and remove the compatibility glue once the new versions of both osmo-bts and osmo-pcu are released. Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Related: SYS#4868, OS#4547 --- M bts/BTS_Tests.ttcn M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 107 insertions(+), 13 deletions(-) Approvals: neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 1c8127b..dfda043 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5444,7 +5444,7 @@ var PCUIF_send_data sd; [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { - var bitstring pdch_mask := sd.data.u.info_ind.trx[trx_nr].pdch_mask; + var bitstring pdch_mask := f_PCUIF_ver_INFO_PDCHMask(sd.data.u.info_ind, trx_nr); if (substr(pdch_mask, g_chan_nr.tn, 1) != exp) { repeat; } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 089403c..1c5b0af 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -20,7 +20,7 @@ }; const charstring PCU_SOCK_DEFAULT := "/tmp/pcu_bts"; -type integer PCUIF_Version (9); /* supported versions */ +type integer PCUIF_Version (9..10); /* supported versions */ type enumerated PCUIF_MsgType { PCU_IF_MSG_DATA_REQ ('00'O), @@ -140,14 +140,38 @@ uint8_t ts_nr } with { variant "" }; -type record PCUIF_InfoTrx { +type record PCUIF_InfoTrxTs { + uint8_t tsc, + uint8_t hopping, + uint8_t hsn, + uint8_t maio, + bitstring ma length(64) +} 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 { + uint16_t arfcn, + BIT8 pdch_mask, + uint32_t hLayer1, + PCUIF_InfoTrxTsList ts +} with { variant (pdch_mask) "BITORDER(msb)" }; +private 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)" }; -type record length(8) of PCUIF_InfoTrx PCUIF_InfoTrxs; +private type record length(8) of PCUIF_InfoV09Trx PCUIF_InfoV09TrxList; + +type union PCUIF_InfoTrxs { + PCUIF_InfoV09TrxList v09, + PCUIF_InfoV10TrxList v10 +} with { variant "" }; type record PCUIF_info_ind { uint32_t version, @@ -187,7 +211,11 @@ record length(2) of uint16_t local_pprt, record length(2) of uint16_t remote_port, record length(2) of OCT4 remote_ip -} with { variant "" } +} 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)" +}; type record PCUIF_act_req { uint8_t is_activate, @@ -676,9 +704,41 @@ spare2 := '000'B }; -template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrx(template (value) uint16_t arfcn := 871, - template (value) BIT8 pdch_mask := '00000001'B, - OCT1 tsc := '07'O) := { +template (value) PCUIF_InfoTrxTs ts_PCUIF_InfoTrxTsH0(template (value) uint3_t tsc := 7) := { + tsc := tsc, + hopping := 0, + hsn := 0, maio := 0, + ma := f_pad_bit(''B, 64, '0'B) +}; + +template (value) PCUIF_InfoTrxTs ts_PCUIF_InfoTrxTsH1(template (value) uint3_t tsc := 7, + template (value) uint6_t hsn := 0, + template (value) uint6_t maio := 0, + template (value) bitstring ma := ''B) := { + tsc := tsc, + hopping := 1, + hsn := hsn, + maio := maio, + ma := f_pad_bit(valueof(ma), 64, '0'B) +}; + +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) := { + arfcn := arfcn, + pdch_mask := pdch_mask, + hLayer1 := 0, + ts := { + ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc), + ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc), + ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc), + ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc) + } +}; + +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, @@ -686,11 +746,25 @@ hLayer1 := 0 } -template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrxNULL := ts_PCUIF_InfoTrx(0, '00000000'B, '00'O); +template (value) PCUIF_InfoV09Trx ts_PCUIF_InfoV09TrxNULL := ts_PCUIF_InfoV09Trx(0, '00000000'B, '00'O); -template (value) PCUIF_InfoTrxs ts_PCUIF_InfoTrxs_def := { - ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, - ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL }; +template (value) PCUIF_InfoTrxs ts_PCUIF_InfoV09Trxs_def := { + v09 := { + ts_PCUIF_InfoV09Trx, 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 := { + v10 := { + ts_PCUIF_InfoV10Trx, ts_PCUIF_InfoV10Trx, + ts_PCUIF_InfoV10Trx, ts_PCUIF_InfoV10Trx, + ts_PCUIF_InfoV10Trx, ts_PCUIF_InfoV10Trx, + ts_PCUIF_InfoV10Trx, ts_PCUIF_InfoV10Trx + } +}; template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr, template (value) PCUIF_info_ind info_ind) := { @@ -830,4 +904,24 @@ } +/* TODO: remove this as soon as we drop version 9 support */ +function f_PCUIF_ver_INFO_Trxs() +return PCUIF_InfoTrxs { + if (PCUIF_Types.mp_pcuif_version >= 10) { + return valueof(ts_PCUIF_InfoV10Trxs_def); + } else { + return valueof(ts_PCUIF_InfoV09Trxs_def); + } +} + +function f_PCUIF_ver_INFO_PDCHMask(in PCUIF_info_ind info, uint8_t trx_nr) +return bitstring { + if (PCUIF_Types.mp_pcuif_version >= 10) { + return info.trx.v10[trx_nr].pdch_mask; + } else { + return info.trx.v09[trx_nr].pdch_mask; + } +} + + } with { encode "RAW" variant "BYTEORDER(first)" }; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f919dbe..dab87e0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -62,7 +62,7 @@ friend template (value) PCUIF_info_ind ts_PCUIF_INFO_default := { version := PCUIF_Types.mp_pcuif_version, flags := c_PCUIF_Flags_default, - trx := valueof(ts_PCUIF_InfoTrxs_def), + trx := f_PCUIF_ver_INFO_Trxs(), bsic := 7, mcc := 262, mnc := 42, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idf11bc4ba3ff0b00b32f2beab8fd020c67119d05 Gerrit-Change-Number: 19323 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 ) Change subject: library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs ...................................................................... library/PCUIF_Types: add receive templates for PCUIF_InfoTrxTs Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd --- M library/PCUIF_Types.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 1c5b0af..dbb1436 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -710,6 +710,12 @@ hsn := 0, maio := 0, ma := f_pad_bit(''B, 64, '0'B) }; +template PCUIF_InfoTrxTs tr_PCUIF_InfoTrxTsH0(template uint3_t tsc := ?) := { + tsc := tsc, + hopping := 0, + hsn := ?, maio := ?, + ma := ? +}; template (value) PCUIF_InfoTrxTs ts_PCUIF_InfoTrxTsH1(template (value) uint3_t tsc := 7, template (value) uint6_t hsn := 0, @@ -721,6 +727,16 @@ maio := maio, ma := f_pad_bit(valueof(ma), 64, '0'B) }; +template PCUIF_InfoTrxTs tr_PCUIF_InfoTrxTsH1(template uint3_t tsc := ?, + template uint6_t hsn := ?, + template uint6_t maio := ?, + template bitstring ma := ?) := { + tsc := tsc, + hopping := 1, + hsn := hsn, + maio := maio, + ma := ma +}; template (value) PCUIF_InfoV10Trx ts_PCUIF_InfoV10Trx(template (value) uint16_t arfcn := 871, template (value) BIT8 pdch_mask := '00000001'B, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I062079de4440d2c9c0a079cc4cc4328ea0ea37dd Gerrit-Change-Number: 19516 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: verify handling of frequency hopping parameters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19324 ) Change subject: PCU_Tests: verify handling of frequency hopping parameters ...................................................................... PCU_Tests: verify handling of frequency hopping parameters Change-Id: I1beda9224998848f9243237413e5ae3e0ddab8a5 Related: SYS#4868, OS#4547 --- M pcu/PCU_Tests.ttcn 1 file changed, 271 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/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index dab87e0..1c77256 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2069,6 +2069,266 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +private function f_TC_pcuif_fh_check_imm_ass(in PCUIF_info_ind info_ind, + 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 template PacketChannelDescription tr_pkt_chan_desc := { + channel_Type_spare := ?, + tn := ?, + tsc := ts.tsc, + presence := '1'B, + zero := omit, + one := { + maio := ts.maio, + hsn := ts.hsn + } + }; + + if (not match(ia.pkt_chan_desc, tr_pkt_chan_desc)) { + setverdict(fail, "Packet Channel Description does not match: ", + ia.pkt_chan_desc, " vs ", tr_pkt_chan_desc); + } + + var MobileAllocation tr_ma := { len := 0, ma := ''B }; + var octetstring ma_oct := bit2oct(ts.ma); + + /* Calculate length of the useful part of Mobile Allocation */ + for (var integer i := 0; i < lengthof(ma_oct); i := i + 1) { + if (ma_oct[i] != '00'O) { + tr_ma.len := i + 1; + } + } + + /* Strip zero bytes from the right side of MA */ + tr_ma.ma := substr(ts.ma, 0, tr_ma.len * 8); + + if (not match(ia.mobile_allocation, tr_ma)) { + setverdict(fail, "Mobile Allocation does not match: ", + ia.mobile_allocation, " vs ", tr_ma); + } + + setverdict(pass); +} + +/* Make sure that Immediate (UL EGPRS TBF) Assignment contains hopping parameters */ +testcase TC_pcuif_fh_imm_ass_ul_egprs() runs on RAW_PCU_Test_CT { + var template PCUIF_info_ind info_ind := ts_PCUIF_INFO_default; + var GprsMS ms := valueof(t_GprsMS_def); + + /* Enable frequency hopping of TRX0/TS7 */ + info_ind.trx.v10[0].ts[7] := ts_PCUIF_InfoTrxTsH1( + tsc := f_rnd_int(7), + hsn := f_rnd_int(63), + maio := f_rnd_int(63), + ma := f_rnd_bitstring(32)); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* EGPRS Packet Channel Request (cause=Signalling) */ + f_ms_use_ra(ms, bit2int('11001101010'B), ra_is_11bit := 1); + + /* Establish an Uplink EGPRS TBF */ + f_ms_establish_ul_tbf(ms); + + f_TC_pcuif_fh_check_imm_ass(valueof(info_ind), ms.ul_tbf.rr_imm_ass); + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Make sure that Immediate (UL TBF) Assignment contains hopping parameters */ +testcase TC_pcuif_fh_imm_ass_ul() runs on RAW_PCU_Test_CT { + var template PCUIF_info_ind info_ind := ts_PCUIF_INFO_default; + var GprsMS ms := valueof(t_GprsMS_def); + + /* Enable frequency hopping of TRX0/TS7 */ + info_ind.trx.v10[0].ts[7] := ts_PCUIF_InfoTrxTsH1( + tsc := f_rnd_int(7), + hsn := f_rnd_int(63), + maio := f_rnd_int(63), + ma := f_rnd_bitstring(32)); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + f_TC_pcuif_fh_check_imm_ass(valueof(info_ind), ms.ul_tbf.rr_imm_ass); + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Make sure that Immediate (DL TBF) Assignment contains hopping parameters */ +testcase TC_pcuif_fh_imm_ass_dl() runs on RAW_PCU_Test_CT { + var template PCUIF_info_ind info_ind := ts_PCUIF_INFO_default; + var GprsMS ms := valueof(t_GprsMS_def); + + /* Enable frequency hopping of TRX0/TS7 */ + info_ind.trx.v10[0].ts[7] := ts_PCUIF_InfoTrxTsH1( + tsc := f_rnd_int(7), + hsn := f_rnd_int(63), + maio := f_rnd_int(63), + ma := f_rnd_bitstring(16)); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(12))); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + f_TC_pcuif_fh_check_imm_ass(valueof(info_ind), ms.dl_tbf.rr_imm_ass); + f_shutdown(__BFILE__, __LINE__, final := true); +} + +private function f_TC_pcuif_fh_check_pkt_ass(in PCUIF_info_ind info_ind, + 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 integer ma_bit_len := 0; + + /* Calculate length of the useful part of Mobile Allocation */ + for (var integer i := 0; i < lengthof(ts.ma); i := i + 1) { + if (ts.ma[i] == '1'B) { + ma_bit_len := i + 1; + } + } + + /* Table 12.8.1: Frequency Parameters information elements */ + var template FrequencyParameters tr_fp := { + tsc := ts.tsc, + presence := '10'B, /* Direct encoding 1 */ + arfcn := omit, + indirect := omit, + direct1 := { + maio := ts.maio, + /* Table 12.10a.1: GPRS Mobile Allocation information elements */ + mobile_allocation := { + hsn := ts.hsn, + rfl_number_list_present := '0'B, + rfl_number_list := omit, + ma_present := '0'B, /* inverted logic */ + ma_length := ma_bit_len, + ma_bitmap := substr(ts.ma, 0, ma_bit_len) + } + }, + direct2 := omit + }; + + if (not match(fp, tr_fp)) { + setverdict(fail, "Frequency Parameters IE does not match: ", + fp, " vs ", tr_fp); + } + + setverdict(pass); +} + +/* Make sure that Packet Uplink Assignment contains hopping parameters */ +testcase TC_pcuif_fh_pkt_ass_ul() runs on RAW_PCU_Test_CT { + var template PCUIF_info_ind info_ind := ts_PCUIF_INFO_default; + var GprsMS ms := valueof(t_GprsMS_def); + var uint32_t poll_fn; + + /* Enable frequency hopping of TRX0/TS7 */ + info_ind.trx.v10[0].ts[7] := ts_PCUIF_InfoTrxTsH1( + tsc := f_rnd_int(7), + hsn := f_rnd_int(63), + maio := f_rnd_int(63), + ma := f_rnd_bitstring(33)); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Send Packet Resource Request, so the network will allocate an Uplink resource */ + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, omit))); + + /* Expect an RLC/MAC block with Packet Uplink Assignment on PACCH (see 11.2.29) */ + var RlcmacDlBlock blk := f_ms_rx_pkt_ass_pacch(ms, poll_fn, tr_RLCMAC_UL_PACKET_ASS); + var PacketUlAssignment ua := blk.ctrl.payload.u.ul_assignment; + + /* 3GPP TS 44.060, section 12.8 "Frequency Parameters" */ + var template (omit) FrequencyParameters fp; + if (ua.is_egprs == '1'B) { + fp := ua.egprs.freq_par; + } else { + fp := ua.gprs.freq_par; + } + + /* This is an optional IE, so it's worth to check its presence */ + if (istemplatekind(fp, "omit")) { + setverdict(fail, "Frequency Parameters IE is not present"); + f_shutdown(__BFILE__, __LINE__); + } + + f_TC_pcuif_fh_check_pkt_ass(valueof(info_ind), valueof(fp)); + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Make sure that Packet Downlink Assignment contains hopping parameters */ +testcase TC_pcuif_fh_pkt_ass_dl() runs on RAW_PCU_Test_CT { + var template PCUIF_info_ind info_ind := ts_PCUIF_INFO_default; + var octetstring data := f_rnd_octstring(10); + var GprsMS ms := valueof(t_GprsMS_def); + var RlcmacDlBlock dl_block; + var uint32_t poll_fn; + + /* Enable frequency hopping of TRX0/TS7 */ + info_ind.trx.v10[0].ts[7] := ts_PCUIF_InfoTrxTsH1( + tsc := f_rnd_int(7), + hsn := f_rnd_int(63), + maio := f_rnd_int(63), + ma := f_rnd_bitstring(33)); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Send an Uplink block, so this TBF becomes "active" */ + f_ms_tx_ul_data_block(ms, data, with_tlli := true); + + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, poll_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), poll_fn); + + /* SGSN sends some DL data, PCU will assign Downlink resource on PACCH */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + + /* Expect an RLC/MAC block with Packet Downlink Assignment on PACCH (see 11.2.29) */ + dl_block := f_ms_rx_pkt_ass_pacch(ms, poll_fn, tr_RLCMAC_DL_PACKET_ASS); + var PacketDlAssignment da := dl_block.ctrl.payload.u.dl_assignment; + + /* This is an optional IE, so it's worth to check its presence */ + if (not ispresent(da.freq_par)) { + setverdict(fail, "Frequency Parameters IE is not present"); + f_shutdown(__BFILE__, __LINE__); + } + + f_TC_pcuif_fh_check_pkt_ass(valueof(info_ind), da.freq_par); + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -2109,6 +2369,17 @@ execute( TC_egprs_pkt_chan_req_reject_exhaustion() ); 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() ); + } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1beda9224998848f9243237413e5ae3e0ddab8a5 Gerrit-Change-Number: 19324 Gerrit-PatchSet: 11 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 Aug 10 20:10:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 ) Change subject: BTS_Tests: compose the MA bitmask in f_resolve_fh_params() ...................................................................... BTS_Tests: compose the MA bitmask in f_resolve_fh_params() Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Related: SYS#4868, OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index dfda043..8a9e24a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -545,13 +545,21 @@ } if (ispresent(pars.maio_hsn)) { - /* Compose the Mobile Allocation */ + /* Prepare the Mobile Allocation bitmask (length & padding) */ + pars.ma_map.len := mp_transceiver_num / 8; + if (mp_transceiver_num mod 8 > 0) + { pars.ma_map.len := pars.ma_map.len + 1; } + pars.ma_map.ma := f_pad_bit('0'B, pars.ma_map.len * 8, '0'B); + + /* Compose the actual Mobile Allocation and the bitmask */ for (j := 0; j < lengthof(g.trx_maio); j := j + 1) { var FreqHopGroupItem gi := g.trx_maio[j]; pars.ma := pars.ma & { l1ctl_ma_def[gi.trx_nr] }; + pars.ma_map.ma[gi.trx_nr] := '1'B; } - log("Freq. hopping parameters: ", pars.maio_hsn, pars.ma); + log("Freq. hopping parameters: maio_hsn := ", pars.maio_hsn, + ", ma := ", pars.ma, ", ma_map := ", pars.ma_map); break; /* We're done */ } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0a07d9deb60712347a42d9aa7813c684eaccd01 Gerrit-Change-Number: 19517 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify hopping parameters in the INFO.ind message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 ) Change subject: BTS_Tests: verify hopping parameters in the INFO.ind message ...................................................................... BTS_Tests: verify hopping parameters in the INFO.ind message Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Related: I04782222b499d0488269544910fbd4ed9929c05d Related: SYS#4868, OS#4546, OS#4547 --- M bts/BTS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8a9e24a..8a478ba 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5442,6 +5442,48 @@ setverdict(pass); } +/* Verify hopping parameters in the INFO.ind message (version >= 10) */ +testcase TC_pcu_info_ind_fh_params() runs on test_CT { + var PCUIF_info_ind info_ind; + var ConnHdlrPars pars; + + f_init(); + + info_ind := g_pcu_last_info.u.info_ind; + + 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) { + /* Skip inactive timeslots */ + continue; + } + + pars := valueof(t_Pars(t_RslChanNr_PDCH(tn), ts_RSL_ChanMode_SIGN)); + if (mp_freq_hop_enabled and mp_transceiver_num > 1) + { f_resolve_fh_params(pars); } + + var template PCUIF_InfoTrxTs tr_ts; + if (ispresent(pars.maio_hsn)) { + tr_ts := tr_PCUIF_InfoTrxTsH1( + hsn := pars.maio_hsn.hsn, + maio := pars.maio_hsn.maio, + ma := f_pad_bit(pars.ma_map.ma, 64, '0'B)); + } else { + tr_ts := tr_PCUIF_InfoTrxTsH0; + } + + var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn]; + log("Checking timeslot #", tn, " of trx#", i, ": ", ts); + if (not match(ts, tr_ts)) { + setverdict(fail, "Hopping parameters do not match: ", + "received ", ts, " vs expected ", tr_ts); + } else { + setverdict(pass); + } + } + } +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -6844,6 +6886,9 @@ 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() ); + } } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c Gerrit-Change-Number: 19518 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:24 +0000 Subject: Change in osmo-trx[master]: Use new libosmovty cpu sched config features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19445 ) Change subject: Use new libosmovty cpu sched config features ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3798603779b88ea37da03033cf7737a6e4751d6e Gerrit-Change-Number: 19445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:10:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:10:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:27 +0000 Subject: Change in osmo-trx[master]: Use new libosmovty cpu sched config features In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19445 ) Change subject: Use new libosmovty cpu sched config features ...................................................................... Use new libosmovty cpu sched config features Using the new libosmovty features allow for: * Setting different cpu-affinity masks for each thread in the process, both at startup through .cfg file as well as changing it at runtime. * Unified VTY interface to change the scheduling policy of the process inherited by all osmocom processes enabling the feature. Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: I3798603779b88ea37da03033cf7737a6e4751d6e --- M CommonLibs/trx_vty.c A TODO-RELEASE M Transceiver52M/Transceiver.cpp M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/osmo-trx.cpp M Transceiver52M/radioInterface.cpp M doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg M doc/manuals/osmotrx-usermanual.adoc 11 files changed, 32 insertions(+), 7 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/trx_vty.c b/CommonLibs/trx_vty.c index e37ecaf..1cf4f5a 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -291,7 +291,7 @@ return CMD_SUCCESS; } -DEFUN(cfg_rt_prio, cfg_rt_prio_cmd, +DEFUN_DEPRECATED(cfg_rt_prio, cfg_rt_prio_cmd, "rt-prio <1-32>", "Set the SCHED_RR real-time priority\n" "Real time priority\n") @@ -299,6 +299,8 @@ struct trx_ctx *trx = trx_from_vty(vty); trx->cfg.sched_rr = atoi(argv[0]); + vty_out (vty, "%% 'rt-prio %u' is deprecated, use 'policy rr %u' under 'sched' node instead%s", + trx->cfg.sched_rr, trx->cfg.sched_rr, VTY_NEWLINE); return CMD_SUCCESS; } diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..75fe7b8 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,2 @@ +* update libosmocore dependency to > 1.3.x for osmo_sched_vty_init(), osmo_sched_vty_apply_localthread() +* update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include. diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index c3ef377..32e0226 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -37,6 +37,7 @@ #include #include #include +#include } #ifdef HAVE_CONFIG_H @@ -1273,6 +1274,7 @@ snprintf(thread_name, 16, "RxUpper%zu", num); set_selfthread_name(thread_name); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { if (!trx->driveReceiveFIFO(num)) { @@ -1288,6 +1290,7 @@ void *RxLowerLoopAdapter(Transceiver *transceiver) { set_selfthread_name("RxLower"); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { if (!transceiver->driveReceiveRadio()) { @@ -1303,6 +1306,7 @@ void *TxLowerLoopAdapter(Transceiver *transceiver) { set_selfthread_name("TxLower"); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { transceiver->driveTxFIFO(); @@ -1321,6 +1325,7 @@ snprintf(thread_name, 16, "TxUpper%zu", num); set_selfthread_name(thread_name); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { if (!trx->driveTxPriorityQueue(num)) { diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 854ed2e..b5dda28 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -34,7 +34,9 @@ #endif extern "C" { +#include #include +#include } #ifdef USE_UHD_3_11 @@ -150,6 +152,7 @@ void *async_event_loop(uhd_device *dev) { set_selfthread_name("UHDAsyncEvent"); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { dev->recv_async_msg(); diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 9fcbda5..4a92447 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include "convolve.h" #include "convert.h" @@ -435,7 +436,9 @@ int rc; memset(¶m, 0, sizeof(param)); param.sched_priority = prio; - LOG(INFO) << "Setting SCHED_RR priority " << param.sched_priority; + LOG(INFO) << "Setting SCHED_RR priority " << param.sched_priority + << ". This setting is DEPRECATED, please use 'policy rr " << param.sched_priority + << "' under the 'sched' VTY node instead."; rc = sched_setscheduler(getpid(), SCHED_RR, ¶m); if (rc != 0) { LOG(ERROR) << "Config: Setting SCHED_RR failed"; @@ -589,6 +592,7 @@ vty_init(&g_vty_info); logging_vty_add_cmds(); ctrl_vty_init(tall_trx_ctx); + osmo_cpu_sched_vty_init(tall_trx_ctx); trx_vty_init(g_trx_ctx); osmo_talloc_vty_add_cmds(); diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index adc2ee7..64a6f21 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -27,6 +27,9 @@ #include extern "C" { +#include +#include + #include "convert.h" } @@ -171,6 +174,7 @@ void *AlignRadioServiceLoopAdapter(RadioInterface *radioInterface) { set_selfthread_name("AlignRadio"); + OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); while (1) { sleep(60); radioInterface->alignRadio(); diff --git a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg index 6d787f6..ae55efe 100644 --- a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg @@ -9,13 +9,14 @@ line vty no login ! +cpu-sched + policy rr 18 trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 egprs disable tx-sps 4 rx-sps 4 - rt-prio 18 chan 0 tx-path BAND1 rx-path LNAW diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg index 6d787f6..ae55efe 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg @@ -9,13 +9,14 @@ line vty no login ! +cpu-sched + policy rr 18 trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 egprs disable tx-sps 4 rx-sps 4 - rt-prio 18 chan 0 tx-path BAND1 rx-path LNAW diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg index 2e45da9..1468e93 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg @@ -9,6 +9,8 @@ line vty no login ! +cpu-sched + policy rr 18 trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 @@ -17,6 +19,5 @@ tx-sps 4 rx-sps 4 rssi-offset 38 - rt-prio 18 chan 0 chan 1 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg index 1ecaec2..a924122 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -9,6 +9,8 @@ line vty no login ! +cpu-sched + policy rr 18 trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 @@ -19,6 +21,4 @@ tx-sps 4 rx-sps 4 clock-ref external - rt-prio 18 chan 0 - diff --git a/doc/manuals/osmotrx-usermanual.adoc b/doc/manuals/osmotrx-usermanual.adoc index a17a899..2d1caad 100644 --- a/doc/manuals/osmotrx-usermanual.adoc +++ b/doc/manuals/osmotrx-usermanual.adoc @@ -31,6 +31,8 @@ include::{srcdir}/chapters/code-architecture.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/trx_if.adoc[] include::./common/chapters/port_numbers.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3798603779b88ea37da03033cf7737a6e4751d6e Gerrit-Change-Number: 19445 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 Aug 10 20:10:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:47 +0000 Subject: Change in osmo-bts[master]: common: Support setting rt prio through new libosmovty sched VTY cmds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19444 ) Change subject: common: Support setting rt prio through new libosmovty sched VTY cmds ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice46e406b84fa11afcc7ba31e521e7677df73cf3 Gerrit-Change-Number: 19444 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:10: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 Aug 10 20:10:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:10:50 +0000 Subject: Change in osmo-bts[master]: common: Support setting rt prio through new libosmovty sched VTY cmds In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19444 ) Change subject: common: Support setting rt prio through new libosmovty sched VTY cmds ...................................................................... common: Support setting rt prio through new libosmovty sched VTY cmds We gain other features from libosmovty for free, like configuring cpu-affinity of the only thread in the process. Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ice46e406b84fa11afcc7ba31e521e7677df73cf3 --- M TODO-RELEASE M doc/manuals/osmobts-usermanual.adoc M src/common/main.c 3 files changed, 9 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/TODO-RELEASE b/TODO-RELEASE index 1dd5e79..72e4757 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,2 @@ -* update libosmocore dependency to > 1.3.x for lapdm_channel_init3() +* update libosmocore dependency to > 1.3.x for lapdm_channel_init3(), osmo_cpu_sched_vty_init() +* update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include. diff --git a/doc/manuals/osmobts-usermanual.adoc b/doc/manuals/osmobts-usermanual.adoc index 55087b2..b1b0747 100644 --- a/doc/manuals/osmobts-usermanual.adoc +++ b/doc/manuals/osmobts-usermanual.adoc @@ -30,6 +30,8 @@ include::{srcdir}/chapters/architecture.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/trx_if.adoc[] include::./common/chapters/control_if.adoc[] diff --git a/src/common/main.c b/src/common/main.c index f4dc505..dfdc2a7 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -74,7 +75,7 @@ " -T --timestamp Prefix every log line with a timestamp\n" " -V --version Print version information and exit\n" " -e --log-level Set a global log-level\n" - " -r --realtime PRIO Use SCHED_RR with the specified priority\n" + " -r --realtime PRIO Use SCHED_RR with the specified priority (deprecated, use VTY instead)\n" " -i --gsmtap-ip The destination IP used for GSMTAP.\n" ); bts_model_print_help(); @@ -145,6 +146,8 @@ break; case 'r': rt_prio = atoi(optarg); + fprintf(stderr, "Parameter -r is deprecated, use VTY cpu-sched " + "node setting 'policy rr %d' instead\n", rt_prio); break; case 'i': gsmtap_ip = optarg; @@ -238,6 +241,7 @@ osmo_stats_init(tall_bts_ctx); vty_init(&bts_vty_info); ctrl_vty_init(tall_bts_ctx); + osmo_cpu_sched_vty_init(tall_bts_ctx); rate_ctr_init(tall_bts_ctx); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice46e406b84fa11afcc7ba31e521e7677df73cf3 Gerrit-Change-Number: 19444 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 Mon Aug 10 20:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:11:56 +0000 Subject: Change in osmo-ccid-firmware[master]: proper card powerup handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 ) Change subject: proper card powerup handling ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb Gerrit-Change-Number: 19473 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20: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 Mon Aug 10 20:12:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:12:36 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19141 ) Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 20:12: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 Aug 10 20:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:13:25 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 20:13:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:13:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:13:51 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 10 Aug 2020 20:13: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 Aug 10 20:14:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:14:37 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19416 ) Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c at 1567 PS9, Line 1567: remote_ip > remote should be 'const' if it's an input argument. ping? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:14:37 +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 Aug 10 20:15:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:15:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 ) Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 10 Aug 2020 20:15:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:16:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_vty_transceive: allow to ignore unknown vty commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 ) Change subject: f_vty_transceive: allow to ignore unknown vty commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 Gerrit-Change-Number: 19555 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 20:16: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 Aug 10 20:16:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:16:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: f_vty_transceive: allow to ignore unknown vty commands In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 ) Change subject: f_vty_transceive: allow to ignore unknown vty commands ...................................................................... f_vty_transceive: allow to ignore unknown vty commands When a new test uses a VTY configuration that may not yet be available in the 'latest' build, it can be useful to ignore the "Unknown VTY Command" error. To be used by f_init() for multiple MSCs, setting a default 'allow-attach' flag per MSC implicitly -- such vty config is not yet supported in the latest build. Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 10 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/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 823d79f..4cf37c4 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -56,7 +56,7 @@ } /* wait for any of the permitted prompts; buffer + return all intermediate output */ - function f_vty_wait_for_prompt(TELNETasp_PT pt) return charstring { + function f_vty_wait_for_prompt(TELNETasp_PT pt, boolean strict := true) return charstring { var charstring rx, buf := ""; var integer fd; timer T := 2.0; @@ -67,7 +67,11 @@ [] pt.receive(pattern "[\w-]+\# ") { }; [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; [] pt.receive(t_vty_unknown) { - testcase.stop(fail, "VTY: Unknown Command"); + if (strict) { + testcase.stop(fail, "VTY: Unknown Command"); + } else { + log("VTY: Unknown Command (ignored)"); + } }; [] pt.receive(charstring:?) -> value rx { buf := buf & rx; repeat }; [] pt.receive(integer:?) -> value fd { @@ -88,14 +92,14 @@ } /* send a VTY command and obtain response until prompt is received */ - function f_vty_transceive_ret(TELNETasp_PT pt, charstring tx) return charstring { + function f_vty_transceive_ret(TELNETasp_PT pt, charstring tx, boolean strict := true) return charstring { pt.send(tx); - return f_vty_wait_for_prompt(pt); + return f_vty_wait_for_prompt(pt, strict); } /* send a VTY command and obtain response until prompt is received */ - function f_vty_transceive(TELNETasp_PT pt, charstring tx) { - var charstring unused := f_vty_transceive_ret(pt, tx); + function f_vty_transceive(TELNETasp_PT pt, charstring tx, boolean strict := true) { + var charstring unused := f_vty_transceive_ret(pt, tx, strict); } type integer BtsNr (0..255); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I284c42e10c0cb282c8410db87959b471867edef6 Gerrit-Change-Number: 19555 Gerrit-PatchSet: 2 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 Mon Aug 10 20:16:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 10 Aug 2020 20:16:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fix mscpool cleanup (fixes LCLS tests) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 ) Change subject: fix mscpool cleanup (fixes LCLS tests) ...................................................................... fix mscpool cleanup (fixes LCLS tests) osmo-bsc takes a while to notice that a connected MSC is no longer connected. Once the mscpool tests have run, the additional msc 1 and msc 2 still linger around even though the BSSMAP link is no longer served by the bsc-tester. The easiest way to ensure that only expected MSCs are contacted is to set 'no allow-attach' for each MSC that should not be in use. So, the default setup is 'allow-attach' on msc 0, and 'no allow-attach' on mscs 1 and 2. In f_init(), allow attach on those MSCs indicated by the nr_msc amount. The entire vty transaction to configure attach/no attach for all three MSCs takes about 4 micro seconds in my test setup, so it is fine to do this during f_init() for each BSC test. After this, tests running after the MSC pooling tests (the LCLS tests) no longer round-robin their subscribers across disconnected MSCs. NOTE: it would be good to somehow detect more reliably in osmo-bsc that an MSC is gone and not use it anymore. That is however not so trivial. To get the LCLS tests back online, this is a workaround to avoid that complexity for now. Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca --- M bsc/BSC_Tests.ttcn 1 file changed, 28 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5bd0e4f..1040a31 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -832,6 +832,24 @@ } } +/* TODO: use BooleanList from COMMON/src/General_Types.ttcn */ +private type record of boolean my_BooleanList; + +private function f_vty_msc_allow_attach(TELNETasp_PT pt, my_BooleanList allow_attach_list) +{ + for (var integer msc_nr := 0; msc_nr < sizeof(allow_attach_list); msc_nr := msc_nr+1) { + f_vty_enter_cfg_msc(pt, msc_nr); + if (allow_attach_list[msc_nr]) { + /* strict := false: ignore if osmo-bsc does not support this config option (latest build) */ + f_vty_transceive(pt, "allow-attach", strict := false); + } else { + f_vty_transceive(pt, "no allow-attach", strict := false); + } + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); + } +} + /* global initialization function * \param nr_bts Number of BTSs we should start/bring up * \param handler_mode Start an RSL_Emulation_CT component (true) or not (false). @@ -854,7 +872,9 @@ f_vty_allow_osmux(allow_osmux); } + var my_BooleanList allow_attach := { false, false, false }; for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { + allow_attach[bssap_idx] := true; /* Call a function of our 'parent component' RAN_Adapter_CT to start the * MSC-side BSSAP emulation */ if (handler_mode) { @@ -871,6 +891,9 @@ } } + /* start the test with exactly all enabled MSCs allowed to attach */ + f_vty_msc_allow_attach(BSCVTY, allow_attach); + f_ipa_ctrl_start(mp_bsc_ip, mp_bsc_ctrl_port); f_init_mgcp("VirtMSC"); @@ -5850,17 +5873,13 @@ f_init(nr_bts := 3, handler_mode := true, nr_msc := 3); f_sleep(1.0); + /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ + f_vty_msc_allow_attach(BSCVTY, {true, false, true}); /* Control which MSC gets chosen next by the round-robin, otherwise * would be randomly affected by which other tests ran before this. */ f_vty_transceive(BSCVTY, "mscpool roundrobin next 0"); - /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "no allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); - f_ctrs_msc_init(); var MSC_ConnHdlr vc_conn1; @@ -5886,11 +5905,6 @@ vc_conn3 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars3); vc_conn3.done; f_ctrs_msc_expect(0, "mscpool:subscr:new"); - - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); } /* An MSC that has 'no allow-attach' set should still serve subscribers that are already attached according to their @@ -5900,16 +5914,13 @@ f_init(nr_bts := 3, handler_mode := true, nr_msc := 3); f_sleep(1.0); + /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ + f_vty_msc_allow_attach(BSCVTY, {true, false, true}); + /* Control which MSC gets chosen next by the round-robin, otherwise * would be randomly affected by which other tests ran before this. */ f_vty_transceive(BSCVTY, "mscpool roundrobin next 0"); - /* Mark the second MSC as offloading, round-robin should skip this MSC now. */ - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "no allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); - f_ctrs_msc_init(); /* Round robin points at msc 0, but the valid NRI directs to msc 1, even though msc 1 has 'no allow-attach'. */ @@ -5937,11 +5948,6 @@ vc_conn3 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars3); vc_conn3.done; f_ctrs_msc_expect(2, "mscpool:subscr:new"); - - f_vty_enter_cfg_msc(BSCVTY, 1); - f_vty_transceive(BSCVTY, "allow-attach"); - f_vty_transceive(BSCVTY, "exit"); - f_vty_transceive(BSCVTY, "exit"); } /* Dyn PDCH todo: -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca Gerrit-Change-Number: 19554 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:34:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 20:34:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 ) Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217/3/bsc/BSC_Tests.ttcn at 1446 PS3, Line 1446: template RR_Cause expect_rr_cause := ? > I don't share this concern. [?] (I think adding expected things is the best choice, explained in comment on previous patch) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 10 Aug 2020 20:34:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 20:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 to look at the new patch set (#5). Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... bsc: test RR Channel Release EARFCNs Add a DCHAN and release to recently added SI2quater tests (because these tests already configure various amounts of EARFCNs in osmo-bsc). Verify that the RR Channel Release for CSFB contains all configured EARFCNs. In GSM_RR_Types.ttcn, add coding for "Cell selection indicator after release of all TCH and SDCCH IE". In f_expect_chan_rel(), add optional arg csfb_expect_cells, and, if present, decode the RR Channel Release message's L3 part, and in turn the Cell Selection Indicator Value contained. Match against csfb_expect_cells. In f_tc_si2quater_n_earfcns(), also compose a list of EARFCNs as found in the RR Channel Release, and pass to f_expect_chan_rel(). Depends: I59e427e4ebb1c6af99b27a15c40fed82457ac8ab (osmo-bsc) Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 170 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/19216/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 20:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 10 Aug 2020 20:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 to look at the new patch set (#5). Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... bsc: test RR Channel Release cause codes from Clear Command cause codes Invoke Clear Command with various Cause codes and verify that the RR Channel Release reflects them. Depends: I734cc55c501d61bbdadee81a223b26f9df57f959 (osmo-bsc) Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 89 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/19217/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 21:32:05 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 21:32:05 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19416 ) Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19416/9/src/socket.c at 1567 PS9, Line 1567: remote_ip > ping? Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 10 Aug 2020 21:32:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 21:32:27 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 10 Aug 2020 21:32:27 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... 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/+/19416 to look at the new patch set (#11). Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... add osmo_sockaddr_local_ip() to determine the local address for a remote. Similiar to osmo_sock_local_ip but for osmo_sockaddr. Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/19416/11 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 10 21:36:37 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 21:36:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 to look at the new patch set (#3). Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... mgcp_e1: finish E1 support, add E1 support from libosmoabis Currently only the endpoint handling for E1 exists, but there is no actual code behind it that handles the E1 traffic. Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Related: OS#2659 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/debug.h M include/osmocom/mgcp/mgcp_conn.h A include/osmocom/mgcp/mgcp_e1.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_conn.c A src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c M tests/mgcp/Makefile.am M tests/mgcp/mgcp_test.c 22 files changed, 1,076 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/24/19524/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 3 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 Aug 10 21:36:38 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 21:36:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop "trunk 0" limitation References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19563 ) Change subject: mgcp_trunk: drop "trunk 0" limitation ...................................................................... mgcp_trunk: drop "trunk 0" limitation Due to the internal handling of the trunks it was not possible to allow an E1 trunk that has the ID 0. However this limitation is no longer present, so we now can allow an E1 trunk with ID 0. Change-Id: I302c2007628f607033686e277c407232351e66ad Related: OS#2659 --- M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c 2 files changed, 3 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/19563/1 diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 617993f..84ad220 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -190,7 +190,7 @@ errno = 0; trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); - if (errno == ERANGE || trunk_nr > 64 || trunk_nr == 0 + if (errno == ERANGE || trunk_nr > 64 || epname + prefix_len == str_trunk_nr_end || str_trunk_nr_end[0] != '/') return -EINVAL; @@ -217,7 +217,7 @@ } trunk_nr = e1_trunk_nr_from_epname(epname); - if (trunk_nr > 0) + if (trunk_nr >= 0) return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr); /* Earlier versions of osmo-mgw were accepting endpoint names diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index d2d4b23..22863c7 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -866,16 +866,11 @@ "IPv4 Address of the callagent\n") DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd, - "trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") + "trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { struct mgcp_trunk *trunk; int index = atoi(argv[0]); - /* Due to historical reasons, the trunk id number 0 is reserved for the - * virtual trunk. This trunk is configured with separate VTY - * parameters, so we restrict the access to trunks with id numbers - * greater than 0. */ - trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index); if (!trunk) { trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I302c2007628f607033686e277c407232351e66ad Gerrit-Change-Number: 19563 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 Aug 10 21:39:18 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 10 Aug 2020 21:39:18 +0000 Subject: Change in osmo-bsc[master]: e1: encode line number as trunk number in MGCP endpoint References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19564 ) Change subject: e1: encode line number as trunk number in MGCP endpoint ...................................................................... e1: encode line number as trunk number in MGCP endpoint The MGCP endpoint name, that is generated when an E1 endpoint is selected does have a hardcoded trunk id number, which is permanantly set to 1. Lets use the E1 line number instead. Related: OS#2547 Change-Id: Ic5447bb4426e31d119667bdfddfd2c91fd591fc6 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/19564/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0faf3b2..ec8a4df 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -495,8 +495,11 @@ if (is_ipaccess_bts(for_lchan->ts->trx->bts)) /* use dynamic RTPBRIDGE endpoint allocation in MGW */ epname = mgcp_client_rtpbridge_wildcard(conn->network->mgw.client); - else - epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, 1, for_lchan->ts->e1_link.e1_ts, 16, for_lchan->ts->e1_link.e1_ts_ss*2); + else { + epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, for_lchan->ts->e1_link.e1_nr, + for_lchan->ts->e1_link.e1_ts, 16, + for_lchan->ts->e1_link.e1_ts_ss*2); + } conn->user_plane.mgw_endpoint = osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5447bb4426e31d119667bdfddfd2c91fd591fc6 Gerrit-Change-Number: 19564 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 11 01:33:37 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:33:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f31f591d8df0_65e2aadc67b45f0136905@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 104s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 104s] [COMPILING libboard/qmod/source/card_pres.c] [ 104s] [COMPILING libboard/qmod/source/wwan_led.c] [ 104s] [COMPILING libboard/qmod/source/i2c.c] [ 104s] [COMPILING libboard/qmod/source/board_qmod.c] [ 104s] [COMPILING apps/dfu/main.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 105s] Memory region Used Size Region Size %age Used [ 105s] rom: 16504 B 16 KB 100.73% [ 105s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 105s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 105s] collect2: error: ld returned 1 exit status [ 105s] % [ 105s] make[2]: *** [Makefile:234: flash] Error 1 [ 105s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 105s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 105s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 105s] dh_auto_build: make -j1 returned exit code 2 [ 105s] make: *** [debian/rules:16: build] Error 2 [ 105s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 105s] ### VM INTERACTION START ### [ 108s] [ 101.233992] sysrq: Power Off [ 108s] [ 101.238367] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:33:34 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:35:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:35:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f31f5d521e67_65e2aadc67b45f01369116@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 70s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 70s] [COMPILING libboard/qmod/source/card_pres.c] [ 70s] [COMPILING libboard/qmod/source/wwan_led.c] [ 70s] [COMPILING libboard/qmod/source/i2c.c] [ 70s] [COMPILING libboard/qmod/source/board_qmod.c] [ 70s] [COMPILING apps/dfu/main.c] [ 71s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 71s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 71s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 71s] Memory region Used Size Region Size %age Used [ 71s] rom: 16576 B 16 KB 101.17% [ 71s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 71s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 71s] collect2: error: ld returned 1 exit status [ 71s] % [ 71s] make[2]: *** [Makefile:234: flash] Error 1 [ 71s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 71s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 71s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 71s] dh_auto_build: make -j1 returned exit code 2 [ 71s] make: *** [debian/rules:16: build] Error 2 [ 71s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 71s] ### VM INTERACTION START ### [ 74s] [ 69.301460] sysrq: Power Off [ 74s] [ 69.307702] reboot: Power down [ 74s] ### VM INTERACTION END ### [ 74s] [ 74s] goat09 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:34:53 UTC 2020. [ 74s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:35:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:35:54 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f31f6125f641_65e2aadc67b45f013692fb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 98s] [COMPILING libboard/qmod/source/i2c.c] [ 99s] [COMPILING libboard/qmod/source/board_qmod.c] [ 99s] [COMPILING apps/dfu/main.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 99s] Memory region Used Size Region Size %age Used [ 99s] rom: 16584 B 16 KB 101.22% [ 99s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 99s] collect2: error: ld returned 1 exit status [ 99s] % [ 99s] Makefile:234: recipe for target 'flash' failed [ 99s] make[2]: *** [flash] Error 1 [ 99s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 99s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 99s] make[1]: *** [fw-qmod-dfu] Error 2 [ 99s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 99s] dh_auto_build: make -j1 returned exit code 2 [ 99s] debian/rules:16: recipe for target 'build' failed [ 99s] make: *** [build] Error 2 [ 99s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 99s] ### VM INTERACTION START ### [ 102s] [ 95.639057] sysrq: Power Off [ 102s] [ 95.645485] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] lamb62 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:35:42 UTC 2020. [ 102s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:35:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:35:54 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f31f612add9f_65e2aadc67b45f013693ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 103s] [COMPILING libboard/qmod/source/i2c.c] [ 103s] [COMPILING libboard/qmod/source/board_qmod.c] [ 104s] [COMPILING apps/dfu/main.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 104s] Memory region Used Size Region Size %age Used [ 104s] rom: 16576 B 16 KB 101.17% [ 104s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 104s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 104s] collect2: error: ld returned 1 exit status [ 104s] % [ 104s] Makefile:234: recipe for target 'flash' failed [ 104s] make[2]: *** [flash] Error 1 [ 104s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 104s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 104s] make[1]: *** [fw-qmod-dfu] Error 2 [ 104s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 104s] dh_auto_build: make -j1 returned exit code 2 [ 104s] debian/rules:16: recipe for target 'build' failed [ 104s] make: *** [build] Error 2 [ 104s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 104s] ### VM INTERACTION START ### [ 107s] [ 100.395015] sysrq: Power Off [ 107s] [ 100.398664] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] old-atreju5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:35:47 UTC 2020. [ 107s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:36:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:36:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f31f6132e474_65e2aadc67b45f013694ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 54s] [COMPILING libboard/qmod/source/i2c.c] [ 54s] [COMPILING libboard/qmod/source/board_qmod.c] [ 54s] [COMPILING apps/dfu/main.c] [ 54s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 54s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 54s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 54s] Memory region Used Size Region Size %age Used [ 54s] rom: 16584 B 16 KB 101.22% [ 54s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 54s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 54s] collect2: error: ld returned 1 exit status [ 54s] % [ 54s] Makefile:234: recipe for target 'flash' failed [ 54s] make[2]: *** [flash] Error 1 [ 54s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 54s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 54s] make[1]: *** [fw-qmod-dfu] Error 2 [ 54s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 54s] dh_auto_build: make -j1 returned exit code 2 [ 54s] debian/rules:16: recipe for target 'build' failed [ 54s] make: *** [build] Error 2 [ 54s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 54s] ### VM INTERACTION START ### [ 57s] [ 53.508931] sysrq: Power Off [ 57s] [ 53.516140] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] goat11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:02 UTC 2020. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:36:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:36:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f31f6136fdc4_65e2aadc67b45f01369519@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 73s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 73s] [COMPILING libboard/qmod/source/card_pres.c] [ 73s] [COMPILING libboard/qmod/source/wwan_led.c] [ 73s] [COMPILING libboard/qmod/source/i2c.c] [ 73s] [COMPILING libboard/qmod/source/board_qmod.c] [ 73s] [COMPILING apps/dfu/main.c] [ 73s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 73s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 73s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 73s] Memory region Used Size Region Size %age Used [ 73s] rom: 16504 B 16 KB 100.73% [ 73s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 73s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 73s] collect2: error: ld returned 1 exit status [ 73s] % [ 73s] make[2]: *** [Makefile:234: flash] Error 1 [ 73s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 73s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 73s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 73s] dh_auto_build: make -j1 returned exit code 2 [ 73s] make: *** [debian/rules:16: build] Error 2 [ 73s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 73s] ### VM INTERACTION START ### [ 76s] [ 71.612733] sysrq: Power Off [ 76s] [ 71.618929] reboot: Power down [ 77s] ### VM INTERACTION END ### [ 77s] [ 77s] goat19 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:03 UTC 2020. [ 77s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:36:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:36:28 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f31f6321d583_65e2aadc67b45f01369651@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 120s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 120s] [COMPILING libboard/qmod/source/card_pres.c] [ 120s] [COMPILING libboard/qmod/source/wwan_led.c] [ 120s] [COMPILING libboard/qmod/source/i2c.c] [ 120s] [COMPILING libboard/qmod/source/board_qmod.c] [ 120s] [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] [ 121s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 121s] Memory region Used Size Region Size %age Used [ 121s] rom: 16504 B 16 KB 100.73% [ 121s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 121s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 121s] collect2: error: ld returned 1 exit status [ 121s] % [ 121s] make[2]: *** [Makefile:234: flash] Error 1 [ 121s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 121s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 121s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 121s] dh_auto_build: make -j1 returned exit code 2 [ 121s] make: *** [debian/rules:16: build] Error 255 [ 121s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 121s] ### VM INTERACTION START ### [ 124s] [ 116.346399] sysrq: Power Off [ 124s] [ 116.349047] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] old-atreju3 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:13 UTC 2020. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:36:46 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:36:46 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f31f632c32bf_65e2aadc67b45f013697fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 126s] [COMPILING libboard/qmod/source/i2c.c] [ 126s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [COMPILING apps/dfu/main.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16576 B 16 KB 101.17% [ 127s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 127s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] Makefile:234: recipe for target 'flash' failed [ 127s] make[2]: *** [flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 127s] make[1]: *** [fw-qmod-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: make -j1 returned exit code 2 [ 127s] debian/rules:16: recipe for target 'build' failed [ 127s] make: *** [build] Error 2 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 130s] [ 122.893656] sysrq: Power Off [ 130s] [ 122.897713] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] lamb05 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:31 UTC 2020. [ 130s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:37:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:37:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f31f64c798fb_65e2aadc67b45f01369850@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: [ 124s] [COMPILING libboard/common/source/uart_console.c] [ 124s] [COMPILING libboard/common/source/led.c] [ 124s] [COMPILING libboard/common/source/boardver_adc.c] [ 124s] [COMPILING libboard/common/source/manifest.c] [ 124s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 124s] [COMPILING apps/dfu/main.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 125s] Memory region Used Size Region Size %age Used [ 125s] rom: 16460 B 16 KB 100.46% [ 125s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] make[2]: *** [Makefile:234: flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] make[1]: *** [Makefile:10: fw-simtrace-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] [ 119.157359] sysrq: Power Off [ 128s] [ 119.163108] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] lamb09 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:52 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:37:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:37:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f31f64db97a_65e2aadc67b45f01369925@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 138s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 138s] [COMPILING libboard/qmod/source/card_pres.c] [ 138s] [COMPILING libboard/qmod/source/wwan_led.c] [ 138s] [COMPILING libboard/qmod/source/i2c.c] [ 138s] [COMPILING libboard/qmod/source/board_qmod.c] [ 139s] [COMPILING apps/dfu/main.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 139s] Memory region Used Size Region Size %age Used [ 139s] rom: 16576 B 16 KB 101.17% [ 139s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 139s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 139s] collect2: error: ld returned 1 exit status [ 139s] % [ 139s] make[2]: *** [Makefile:234: flash] Error 1 [ 139s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 139s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 139s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 139s] dh_auto_build: make -j1 returned exit code 2 [ 139s] make: *** [debian/rules:16: build] Error 2 [ 139s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 139s] ### VM INTERACTION START ### [ 142s] [ 130.861304] sysrq: Power Off [ 142s] [ 130.866889] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] cloud129 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:36:48 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:37:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:37:54 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f31f68a374ac_65e2aadc67b45f013700f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 201s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 201s] [COMPILING libboard/qmod/source/card_pres.c] [ 201s] [COMPILING libboard/qmod/source/wwan_led.c] [ 201s] [COMPILING libboard/qmod/source/i2c.c] [ 202s] [COMPILING libboard/qmod/source/board_qmod.c] [ 202s] [COMPILING apps/dfu/main.c] [ 202s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 202s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 202s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 202s] Memory region Used Size Region Size %age Used [ 202s] rom: 16504 B 16 KB 100.73% [ 202s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 202s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 202s] collect2: error: ld returned 1 exit status [ 202s] % [ 202s] make[2]: *** [Makefile:234: flash] Error 1 [ 202s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 202s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 202s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 202s] dh_auto_build: make -j1 returned exit code 2 [ 202s] make: *** [debian/rules:16: build] Error 2 [ 202s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 203s] ### VM INTERACTION START ### [ 206s] [ 197.336157] sysrq: Power Off [ 206s] [ 197.342008] reboot: Power down [ 206s] ### VM INTERACTION END ### [ 206s] [ 206s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:37:46 UTC 2020. [ 206s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:38:11 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:38:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f31f68aa2858_65e2aadc67b45f013701b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/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] [ 155s] Memory region Used Size Region Size %age Used [ 155s] rom: 16464 B 16 KB 100.49% [ 155s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 155s] collect2: error: ld returned 1 exit status [ 155s] % [ 155s] make[2]: *** [Makefile:234: flash] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 155s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: error: make -j1 returned exit code 2 [ 155s] make: *** [debian/rules:16: build] Error 25 [ 155s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 139.870785] sysrq: Power Off [ 158s] [ 139.874680] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] cloud120 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:37:59 UTC 2020. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:40:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:40:28 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f31f71e69063_65e2aadc67b45f01370298@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 153s] [COMPILING apps/dfu/main.c] [ 153s] [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: 16464 B 16 KB 100.49% [ 154s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 154s] collect2: error: ld returned 1 exit status [ 154s] % [ 154s] make[2]: *** [Makefile:234: 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 ### [ 157s] [ 146.796647] sysrq: Power Off [ 157s] [ 146.804046] reboot: Power down [ 157s] ### VM INTERACTION END ### [ 157s] [ 157s] lamb62 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:40:24 UTC 2020. [ 157s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:41:03 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:41:03 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f31f73d842e4_65e2aadc67b45f01370371@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 111s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 111s] [COMPILING libboard/qmod/source/card_pres.c] [ 111s] [COMPILING libboard/qmod/source/wwan_led.c] [ 111s] [COMPILING libboard/qmod/source/i2c.c] [ 111s] [COMPILING libboard/qmod/source/board_qmod.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: 16504 B 16 KB 100.73% [ 112s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 112s] collect2: error: ld returned 1 exit status [ 112s] % [ 112s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 112s] make: *** [debian/rules:16: build] Error 2 [ 112s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 113s] ### VM INTERACTION START ### [ 116s] [ 106.607101] sysrq: Power Off [ 116s] [ 106.608065] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:40:50 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 01:41:54 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 01:41:54 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f31f77b8e57_65e2aadc67b45f01370442@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 103s] [COMPILING libboard/qmod/source/i2c.c] [ 103s] [COMPILING libboard/qmod/source/board_qmod.c] [ 104s] [COMPILING apps/dfu/main.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 104s] Memory region Used Size Region Size %age Used [ 104s] rom: 16584 B 16 KB 101.22% [ 104s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 104s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 104s] collect2: error: ld returned 1 exit status [ 104s] % [ 104s] Makefile:234: recipe for target 'flash' failed [ 104s] make[2]: *** [flash] Error 1 [ 104s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 104s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 104s] make[1]: *** [fw-qmod-dfu] Error 2 [ 104s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 104s] dh_auto_build: make -j1 returned exit code 2 [ 104s] debian/rules:16: recipe for target 'build' failed [ 104s] make: *** [build] Error 2 [ 104s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 104s] ### VM INTERACTION START ### [ 107s] [ 98.038047] sysrq: Power Off [ 107s] [ 98.039281] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 01:41:44 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 02:15:20 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 02:15:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f31ff53efbad_65e2aadc67b45f013715ab@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: [ 372s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 372s] [COMPILING libboard/qmod/source/card_pres.c] [ 372s] [COMPILING libboard/qmod/source/wwan_led.c] [ 373s] [COMPILING libboard/qmod/source/i2c.c] [ 373s] [COMPILING libboard/qmod/source/board_qmod.c] [ 374s] [COMPILING apps/dfu/main.c] [ 374s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 375s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 375s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 376s] Memory region Used Size Region Size %age Used [ 376s] rom: 16504 B 16 KB 100.73% [ 376s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 376s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 376s] collect2: error: ld returned 1 exit status [ 376s] % [ 376s] make[2]: *** [Makefile:234: flash] Error 1 [ 376s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 376s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 376s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 376s] dh_auto_build: make -j1 returned exit code 2 [ 376s] make: *** [debian/rules:16: build] Error 2 [ 376s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 376s] ### VM INTERACTION START ### [ 379s] [ 359.869115] sysrq: SysRq : Power Off [ 379s] [ 359.879710] reboot: Power down [ 381s] ### VM INTERACTION END ### [ 381s] [ 381s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 02:15:09 UTC 2020. [ 381s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 02:36:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 02:36:28 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f32043ebc83c_65e2aadc67b45f0137348b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 242s] [COMPILING libboard/qmod/source/i2c.c] [ 243s] [COMPILING libboard/qmod/source/board_qmod.c] [ 243s] [COMPILING apps/dfu/main.c] [ 243s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 244s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 244s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 244s] Memory region Used Size Region Size %age Used [ 244s] rom: 16584 B 16 KB 101.22% [ 244s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 244s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 244s] collect2: error: ld returned 1 exit status [ 244s] % [ 244s] Makefile:234: recipe for target 'flash' failed [ 244s] make[2]: *** [flash] Error 1 [ 244s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 244s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 244s] make[1]: *** [fw-qmod-dfu] Error 2 [ 244s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 244s] dh_auto_build: make -j1 returned exit code 2 [ 244s] debian/rules:16: recipe for target 'build' failed [ 244s] make: *** [build] Error 2 [ 244s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 244s] ### VM INTERACTION START ### [ 247s] [ 232.414922] sysrq: SysRq : Power Off [ 247s] [ 232.434219] reboot: Power down [ 248s] ### VM INTERACTION END ### [ 248s] [ 248s] armbuild24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 02:36:14 UTC 2020. [ 248s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 11 02:36:46 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Aug 2020 02:36:46 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f32043fbd8a7_65e2aadc67b45f01373563@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: [ 332s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 333s] [COMPILING libboard/qmod/source/card_pres.c] [ 333s] [COMPILING libboard/qmod/source/wwan_led.c] [ 333s] [COMPILING libboard/qmod/source/i2c.c] [ 334s] [COMPILING libboard/qmod/source/board_qmod.c] [ 334s] [COMPILING apps/dfu/main.c] [ 335s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 335s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 336s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 336s] Memory region Used Size Region Size %age Used [ 336s] rom: 16504 B 16 KB 100.73% [ 336s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 336s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 336s] collect2: error: ld returned 1 exit status [ 336s] % [ 336s] make[2]: *** [Makefile:234: flash] Error 1 [ 336s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 336s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 336s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 336s] dh_auto_build: make -j1 returned exit code 2 [ 336s] make: *** [debian/rules:16: build] Error 2 [ 336s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 336s] ### VM INTERACTION START ### [ 339s] [ 309.178639] sysrq: SysRq : Power Off [ 339s] [ 309.214252] reboot: Power down [ 340s] ### VM INTERACTION END ### [ 340s] [ 340s] armbuild02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Tue Aug 11 02:36:31 UTC 2020. [ 340s] -- 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 Aug 11 06:32:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:32:40 +0000 Subject: Change in osmo-bsc[master]: vty: allow enabling freq. hopping regardless of the feature vector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19553 ) Change subject: vty: allow enabling freq. hopping regardless of the feature vector ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iff23109cacb5d314f7bcbf34b25e89af9281ce40 Gerrit-Change-Number: 19553 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 06: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 Tue Aug 11 06:32:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:32:56 +0000 Subject: Change in osmo-bsc[master]: vty: ensure that all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19550 ) Change subject: vty: ensure that all warning messages are prefixed with '%%' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f2348c481ed43904d05b42fd7d5ce04dedbf46b Gerrit-Change-Number: 19550 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 06:32:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 06:33:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:18 +0000 Subject: Change in osmo-bsc[master]: vty: fix missing comma in a warning message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19551 ) Change subject: vty: fix missing comma in a warning message ...................................................................... Patch Set 1: Code-Review+2 it's an apostrophe, but nevermind ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4219bff4286ddff3339d5da40b11ee360c239358 Gerrit-Change-Number: 19551 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 06:33:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 06:33:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:25 +0000 Subject: Change in osmo-bsc[master]: vty: introduce and use GPRS_CHECK_ENABLED() macro In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19552 ) Change subject: vty: introduce and use GPRS_CHECK_ENABLED() macro ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I39907a569e80344fc73596bea32a1b474ec720e0 Gerrit-Change-Number: 19552 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 06: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 Tue Aug 11 06:33:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:28 +0000 Subject: Change in osmo-bsc[master]: vty: ensure that all warning messages are prefixed with '%%' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19550 ) Change subject: vty: ensure that all warning messages are prefixed with '%%' ...................................................................... vty: ensure that all warning messages are prefixed with '%%' Change-Id: I6f2348c481ed43904d05b42fd7d5ce04dedbf46b --- M src/osmo-bsc/bsc_vty.c 1 file changed, 57 insertions(+), 55 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index e4842f7..c1228be 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1771,7 +1771,7 @@ } if (!new_bts) { - vty_out(vty, "Unable to trigger handover, specified bts #%u does not exist %s", + vty_out(vty, "%% Unable to trigger handover, specified bts #%u does not exist %s", bts_nr_new, VTY_NEWLINE); return CMD_WARNING; } @@ -1793,7 +1793,7 @@ } } - vty_out(vty, "Unable to trigger %s, specified connection (bts=%u,trx=%u,ts=%u,ss=%u) does not exist%s", + vty_out(vty, "%% Unable to trigger %s, specified connection (bts=%u,trx=%u,ts=%u,ss=%u) does not exist%s", action, bts_nr, trx_nr, ts_nr, ss_nr, VTY_NEWLINE); return CMD_WARNING; @@ -1865,7 +1865,7 @@ random_idx %= count; } - vty_out(vty, "Cannot find any ongoing voice calls%s", VTY_NEWLINE); + vty_out(vty, "%% Cannot find any ongoing voice calls%s", VTY_NEWLINE); return NULL; } @@ -1892,7 +1892,7 @@ return bts; } } - vty_out(vty, "Cannot find any BTS (other than BTS %u) with free %s lchan%s", + vty_out(vty, "%% Cannot find any BTS (other than BTS %u) with free %s lchan%s", not_this_bts? not_this_bts->nr : 255, gsm_lchant_name(free_type), VTY_NEWLINE); return NULL; } @@ -2036,7 +2036,7 @@ page_group = gsm0502_calc_paging_group(&bts->si_common.chan_desc, str_to_imsi(argv[1])); - vty_out(vty, "%%Paging group for IMSI %" PRIu64 " on BTS #%d is %u%s", + vty_out(vty, "%% Paging group for IMSI %" PRIu64 " on BTS #%d is %u%s", str_to_imsi(argv[1]), bts->nr, page_group, VTY_NEWLINE); return CMD_SUCCESS; @@ -3197,7 +3197,7 @@ enum bts_gprs_mode mode = bts_gprs_mode_parse(argv[0], NULL); if (!bts_gprs_mode_is_compat(bts, mode)) { - vty_out(vty, "This BTS type does not support %s%s", argv[0], + vty_out(vty, "%% This BTS type does not support %s%s", argv[0], VTY_NEWLINE); return CMD_WARNING; } @@ -3305,7 +3305,7 @@ type = get_string_value(osmo_sitype_strs, argv[0]); if (type < 0) { - vty_out(vty, "Error SI Type%s", VTY_NEWLINE); + vty_out(vty, "%% Error SI Type%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3328,12 +3328,12 @@ type = get_string_value(osmo_sitype_strs, argv[0]); if (type < 0) { - vty_out(vty, "Error SI Type%s", VTY_NEWLINE); + vty_out(vty, "%% Error SI Type%s", VTY_NEWLINE); return CMD_WARNING; } if (!(bts->si_mode_static & (1 << type))) { - vty_out(vty, "SI Type %s is not configured in static mode%s", + vty_out(vty, "%% SI Type %s is not configured in static mode%s", get_value_string(osmo_sitype_strs, type), VTY_NEWLINE); return CMD_WARNING; } @@ -3344,7 +3344,7 @@ /* Parse the user-specified SI in hex format, [partially] overwriting padding */ rc = osmo_hexparse(argv[1], GSM_BTS_SI(bts, type), GSM_MACBLOCK_LEN); if (rc < 0 || rc > GSM_MACBLOCK_LEN) { - vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing HEXSTRING%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3376,7 +3376,7 @@ struct gsm_bts *bts = vty->index; if (!is_ipaccess_bts(bts) || is_sysmobts_v2(bts)) { - vty_out(vty, "This command is only intended for ipaccess nanoBTS. See OS#3707.%s", + vty_out(vty, "%% This command is only intended for ipaccess nanoBTS. See OS#3707.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3497,24 +3497,24 @@ switch (r) { case 1: - vty_out(vty, "Warning: multiple threshold-high are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple threshold-high are not supported, overriding with %u%s", thresh_hi, VTY_NEWLINE); break; case EARFCN_THRESH_LOW_INVALID: - vty_out(vty, "Warning: multiple threshold-low are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple threshold-low are not supported, overriding with %u%s", thresh_lo, VTY_NEWLINE); break; case EARFCN_QRXLV_INVALID + 1: - vty_out(vty, "Warning: multiple QRXLEVMIN are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple QRXLEVMIN are not supported, overriding with %u%s", qrx, VTY_NEWLINE); break; case EARFCN_PRIO_INVALID: - vty_out(vty, "Warning: multiple priorities are not supported, overriding with %u%s", + vty_out(vty, "%% Warning: multiple priorities are not supported, overriding with %u%s", prio, VTY_NEWLINE); break; default: if (r < 0) { - vty_out(vty, "Unable to add ARFCN %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); + vty_out(vty, "%% Unable to add ARFCN %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); return CMD_WARNING; } } @@ -3522,7 +3522,7 @@ if (si2q_num(bts) <= SI2Q_MAX_NUM) return CMD_SUCCESS; - vty_out(vty, "Warning: not enough space in SI2quater (%u/%u used) for a given EARFCN %u%s", + vty_out(vty, "%% Warning: not enough space in SI2quater (%u/%u used) for a given EARFCN %u%s", bts->si2q_count, SI2Q_MAX_NUM, arfcn, VTY_NEWLINE); osmo_earfcn_del(e, arfcn); @@ -3542,7 +3542,7 @@ uint16_t arfcn = atoi(argv[0]); int r = osmo_earfcn_del(e, arfcn); if (r < 0) { - vty_out(vty, "Unable to delete arfcn %u: %s%s", arfcn, + vty_out(vty, "%% Unable to delete arfcn %u: %s%s", arfcn, strerror(-r), VTY_NEWLINE); return CMD_WARNING; } @@ -3562,14 +3562,16 @@ switch(bts_uarfcn_add(bts, arfcn, scramble, atoi(argv[2]))) { case -ENOMEM: - vty_out(vty, "Unable to add UARFCN: max number of UARFCNs (%u) reached%s", MAX_EARFCN_LIST, VTY_NEWLINE); + vty_out(vty, "%% Unable to add UARFCN: max number of UARFCNs (%u) reached%s", + MAX_EARFCN_LIST, VTY_NEWLINE); return CMD_WARNING; case -ENOSPC: - vty_out(vty, "Warning: not enough space in SI2quater for a given UARFCN (%u, %u)%s", + vty_out(vty, "%% Warning: not enough space in SI2quater for a given UARFCN (%u, %u)%s", arfcn, scramble, VTY_NEWLINE); return CMD_WARNING; case -EADDRINUSE: - vty_out(vty, "Unable to add UARFCN: (%u, %u) is already added%s", arfcn, scramble, VTY_NEWLINE); + vty_out(vty, "%% Unable to add UARFCN: (%u, %u) is already added%s", + arfcn, scramble, VTY_NEWLINE); return CMD_WARNING; } @@ -3588,7 +3590,7 @@ struct gsm_bts *bts = vty->index; if (bts_uarfcn_del(bts, atoi(argv[0]), atoi(argv[1])) < 0) { - vty_out(vty, "Unable to delete uarfcn: pair not found%s", + vty_out(vty, "%% Unable to delete uarfcn: pair not found%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3734,9 +3736,9 @@ error = acc_ramp_set_step_interval(&bts->acc_ramp, atoi(argv[0])); if (error != 0) { if (error == -ERANGE) - vty_out(vty, "Unable to set ACC ramp step interval: value out of range%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step interval: value out of range%s", VTY_NEWLINE); else - vty_out(vty, "Unable to set ACC ramp step interval: unknown error%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step interval: unknown error%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3757,9 +3759,9 @@ error = acc_ramp_set_step_size(&bts->acc_ramp, atoi(argv[0])); if (error != 0) { if (error == -ERANGE) - vty_out(vty, "Unable to set ACC ramp step size: value out of range%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step size: value out of range%s", VTY_NEWLINE); else - vty_out(vty, "Unable to set ACC ramp step size: unknown error%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC ramp step size: unknown error%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3778,7 +3780,7 @@ rc = acc_ramp_set_chan_load_thresholds(&bts->acc_ramp, atoi(argv[0]), atoi(argv[1])); if (rc < 0) { - vty_out(vty, "Unable to set ACC channel load thresholds%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to set ACC channel load thresholds%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3909,20 +3911,20 @@ if (!is_ipaccess_bts(bts)) { - vty_out(vty, "This feature is only available for IP systems.%s", + vty_out(vty, "%% This feature is only available for IP systems.%s", VTY_NEWLINE); return CMD_WARNING; } other_bts = gsm_bts_num(bts->network, dep); if (!other_bts || !is_ipaccess_bts(other_bts)) { - vty_out(vty, "This feature is only available for IP systems.%s", + vty_out(vty, "%% This feature is only available for IP systems.%s", VTY_NEWLINE); return CMD_WARNING; } if (dep >= bts->nr) { - vty_out(vty, "%%Need to depend on an already declared unit.%s", + vty_out(vty, "%% Need to depend on an already declared unit.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -3964,13 +3966,13 @@ for (i = 0; i < argc; i++) { mode = atoi(argv[i]); if (mode_prev > mode) { - vty_out(vty, "Modes must be listed in order%s", + vty_out(vty, "%% Modes must be listed in order%s", VTY_NEWLINE); return -1; } if (mode_prev == mode) { - vty_out(vty, "Modes must be unique %s", VTY_NEWLINE); + vty_out(vty, "%% Modes must be unique %s", VTY_NEWLINE); return -2; } mode_prev = mode; @@ -4063,7 +4065,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->ms_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-f, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-f, ms) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4071,7 +4073,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->bts_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-f, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-f, bts) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4081,7 +4083,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->ms_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-h, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-h, ms) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4089,7 +4091,7 @@ rc = gsm48_multirate_config(NULL, mr_conf, mr->bts_mode, mr->num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (tch-h, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (tch-h, bts) - check parameters%s", VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -4330,7 +4332,7 @@ bts->T3113_dynamic = true; break; default: - vty_out(vty, "T%d cannot be set to dynamic%s", d->T, VTY_NEWLINE); + vty_out(vty, "%% T%d cannot be set to dynamic%s", d->T, VTY_NEWLINE); return CMD_WARNING; } @@ -4356,7 +4358,7 @@ bts->T3113_dynamic = false; break; default: - vty_out(vty, "T%d already is non-dynamic%s", d->T, VTY_NEWLINE); + vty_out(vty, "%% T%d already is non-dynamic%s", d->T, VTY_NEWLINE); return CMD_WARNING; } @@ -4613,7 +4615,7 @@ int enabled = atoi(argv[0]); if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "BTS model does not support hopping%s", + vty_out(vty, "%% BTS model does not support hopping%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4742,19 +4744,19 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } if (!is_ipaccess_bts(bts)) { - vty_out(vty, "This command only works for ipaccess.%s", VTY_NEWLINE); + vty_out(vty, "%% This command only works for ipaccess.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4768,7 +4770,7 @@ ipaccess_drop_rsl(trx, "vty"); } } else { - vty_out(vty, "Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); + vty_out(vty, "%% Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4789,19 +4791,19 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } if (!is_ipaccess_bts(bts) || is_sysmobts_v2(bts)) { - vty_out(vty, "This command only works for ipaccess nanoBTS.%s", + vty_out(vty, "%% This command only works for ipaccess nanoBTS.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4826,14 +4828,14 @@ bts_nr = atoi(argv[0]); if (bts_nr >= gsmnet->num_bts) { - vty_out(vty, "BTS number must be between 0 and %d. It was %d.%s", + vty_out(vty, "%% BTS number must be between 0 and %d. It was %d.%s", gsmnet->num_bts, bts_nr, VTY_NEWLINE); return CMD_WARNING; } bts = gsm_bts_num(gsmnet, bts_nr); if (!bts) { - vty_out(vty, "BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); + vty_out(vty, "%% BTS Nr. %d could not be found.%s", bts_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -4872,7 +4874,7 @@ } rc = osmo_hexparse(argv[3], buf, sizeof(buf)); if (rc < 0 || rc > sizeof(buf)) { - vty_out(vty, "Error parsing HEXSTRING%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing HEXSTRING%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4885,7 +4887,7 @@ else if (!strcmp(type_str, "default")) cb_cmd.command = RSL_CB_CMD_TYPE_DEFAULT; else { - vty_out(vty, "Error parsing type%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing type%s", VTY_NEWLINE); return CMD_WARNING; } @@ -4903,7 +4905,7 @@ cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_4; break; default: - vty_out(vty, "Error parsing LASTBLOCK%s", VTY_NEWLINE); + vty_out(vty, "%% Error parsing LASTBLOCK%s", VTY_NEWLINE); return CMD_WARNING; } @@ -5019,14 +5021,14 @@ rc = gsm48_multirate_config(lchan->mr_ms_lv, mr_conf, mr.ms_mode, mr.num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (%s, amr mode %d, ms) - check parameters%s", + "%% Invalid AMR multirate configuration (%s, amr mode %d, ms) - check parameters%s", gsm_lchant_name(lchan->type), amr_mode, VTY_NEWLINE); vty_rc = CMD_WARNING; } rc = gsm48_multirate_config(lchan->mr_bts_lv, mr_conf, mr.bts_mode, mr.num_modes); if (rc != 0) { vty_out(vty, - "Invalid AMR multirate configuration (%s, amr mode %d, bts) - check parameters%s", + "%% Invalid AMR multirate configuration (%s, amr mode %d, bts) - check parameters%s", gsm_lchant_name(lchan->type), amr_mode, VTY_NEWLINE); vty_rc = CMD_WARNING; } @@ -5485,7 +5487,7 @@ msc = osmo_msc_data_alloc(bsc_gsmnet, index); if (!msc) { - vty_out(vty, "%%Failed to allocate MSC data.%s", VTY_NEWLINE); + vty_out(vty, "%% Failed to allocate MSC data.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -6141,7 +6143,7 @@ bsc_subscr = bsc_subscr_find_or_create_by_imsi(bsc_gsmnet->bsc_subscribers, imsi); if (!bsc_subscr) { - vty_out(vty, "%%failed to enable logging for subscriber with IMSI(%s)%s", + vty_out(vty, "%% failed to enable logging for subscriber with IMSI(%s)%s", imsi, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f2348c481ed43904d05b42fd7d5ce04dedbf46b Gerrit-Change-Number: 19550 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 Tue Aug 11 06:33:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:28 +0000 Subject: Change in osmo-bsc[master]: vty: fix missing comma in a warning message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19551 ) Change subject: vty: fix missing comma in a warning message ...................................................................... vty: fix missing comma in a warning message Change-Id: I4219bff4286ddff3339d5da40b11ee360c239358 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c1228be..fc4ebd6 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4770,7 +4770,7 @@ ipaccess_drop_rsl(trx, "vty"); } } else { - vty_out(vty, "%% Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE); + vty_out(vty, "%% Argument must be 'oml' or 'rsl'.%s", VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4219bff4286ddff3339d5da40b11ee360c239358 Gerrit-Change-Number: 19551 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 Tue Aug 11 06:33:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:29 +0000 Subject: Change in osmo-bsc[master]: vty: introduce and use GPRS_CHECK_ENABLED() macro In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19552 ) Change subject: vty: introduce and use GPRS_CHECK_ENABLED() macro ...................................................................... vty: introduce and use GPRS_CHECK_ENABLED() macro Change-Id: I39907a569e80344fc73596bea32a1b474ec720e0 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 21 insertions(+), 48 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index fc4ebd6..16935d3 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2916,6 +2916,15 @@ #define GPRS_TEXT "GPRS Packet Network\n" +#define GPRS_CHECK_ENABLED(bts) \ + do { \ + if (bts->gprs.mode == BTS_GPRS_NONE) { \ + vty_out(vty, "%% GPRS is not enabled on BTS %u%s", \ + bts->nr, VTY_NEWLINE); \ + return CMD_WARNING; \ + } \ + } while (0) + DEFUN(cfg_bts_prs_bvci, cfg_bts_gprs_bvci_cmd, "gprs cell bvci <2-65535>", GPRS_TEXT @@ -2926,10 +2935,7 @@ /* ETSI TS 101 343: values 0 and 1 are reserved for signalling and PTM */ struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.cell.bvci = atoi(argv[0]); @@ -2944,10 +2950,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nse.nsei = atoi(argv[0]); @@ -2966,10 +2969,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].nsvci = atoi(argv[1]); @@ -2987,10 +2987,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].local_port = atoi(argv[1]); @@ -3008,10 +3005,7 @@ struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.nsvc[idx].remote_port = atoi(argv[1]); @@ -3029,10 +3023,7 @@ int idx = atoi(argv[0]); struct in_addr ia; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); inet_aton(argv[1], &ia); bts->gprs.nsvc[idx].remote_ip = ntohl(ia.s_addr); @@ -3062,10 +3053,7 @@ int idx = get_string_value(gprs_ns_timer_strs, argv[0]); int val = atoi(argv[1]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); if (idx < 0 || idx >= ARRAY_SIZE(bts->gprs.nse.timer)) return CMD_WARNING; @@ -3099,10 +3087,7 @@ int idx = get_string_value(gprs_bssgp_cfg_strs, argv[0]); int val = atoi(argv[1]); - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); if (idx < 0 || idx >= ARRAY_SIZE(bts->gprs.cell.timer)) return CMD_WARNING; @@ -3121,10 +3106,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.rac = atoi(argv[0]); @@ -3138,10 +3120,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.ctrl_ack_type_use_block = false; @@ -3155,10 +3134,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.ctrl_ack_type_use_block = true; @@ -3175,10 +3151,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->gprs.mode == BTS_GPRS_NONE) { - vty_out(vty, "%% GPRS not enabled on BTS %u%s", bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + GPRS_CHECK_ENABLED(bts); bts->gprs.net_ctrl_ord = atoi(argv[0] + 2); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I39907a569e80344fc73596bea32a1b474ec720e0 Gerrit-Change-Number: 19552 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 06:33:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Aug 2020 06:33:29 +0000 Subject: Change in osmo-bsc[master]: vty: allow enabling freq. hopping regardless of the feature vector In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19553 ) Change subject: vty: allow enabling freq. hopping regardless of the feature vector ...................................................................... vty: allow enabling freq. hopping regardless of the feature vector The hard-coded per-BTS feature vector for osmo-bts currently lacks BTS_FEAT_HOPPING, and this is unlikely to change, because only the recent osmo-bts-trx does support freq. hopping, while the other (DSP based) back-ends do not seem to be capable of doing it. Let's allow enabling freq. hopping regardless of the feature vector, so either it would work if it's supported, or the BTS would reject Set Channel Attributes message by sending NACK on the A-bis/OML. Change-Id: Iff23109cacb5d314f7bcbf34b25e89af9281ce40 Related: SYS#4868, OS#4546 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 16935d3..9bb650f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4588,9 +4588,10 @@ int enabled = atoi(argv[0]); if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "%% BTS model does not support hopping%s", - VTY_NEWLINE); - return CMD_WARNING; + vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); + /* Allow enabling frequency hopping anyway, because the BTS might not have + * connected yet (thus not sent the feature vector), so we cannot know for + * sure. Jet print a warning and let it go. */ } ts->hopping.enabled = enabled; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iff23109cacb5d314f7bcbf34b25e89af9281ce40 Gerrit-Change-Number: 19553 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 06:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Aug 2020 06:37:40 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19255 ) Change subject: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2b8ee5037146203801ab92a1b4fe6703522d8093 Gerrit-Change-Number: 19255 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Aug 2020 06:37:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 07:00:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Aug 2020 07:00:22 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19255 ) Change subject: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2b8ee5037146203801ab92a1b4fe6703522d8093 Gerrit-Change-Number: 19255 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Aug 2020 07:00: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 Aug 11 07:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Aug 2020 07:01:15 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19255 ) Change subject: ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases ...................................................................... ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases Change-Id: I2b8ee5037146203801ab92a1b4fe6703522d8093 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index c32682c..6f37e54 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -160,9 +160,23 @@ cp oml/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ start_testsuite +# 4) Frequency hopping tests require different configuration files +cp fh/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ +cp fh/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ +cp osmo-bts.cfg $VOL_BASE_DIR/bts/ +# restart the BSC/BTS and run the testsuite again +docker container kill ${BUILD_TAG}-bts +start_bsc +start_bts trx 0 +start_testsuite +# rename the test results, so they appear as 'BTS_Tests:hopping' in Jenkins +sed -i "s#classname='BTS_Tests'#classname='BTS_Tests:hopping'#g" \ + $VOL_BASE_DIR/bts-tester/junit-xml-hopping-*.log + echo Stopping containers docker container kill ${BUILD_TAG}-trxcon docker container kill ${BUILD_TAG}-fake_trx +docker container kill ${BUILD_TAG}-bsc docker container kill ${BUILD_TAG}-bts -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2b8ee5037146203801ab92a1b4fe6703522d8093 Gerrit-Change-Number: 19255 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 07:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Aug 2020 07:01:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: bts/BTS_Tests: add sample test case using frequency hopping In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18531 ) Change subject: WIP: bts/BTS_Tests: add sample test case using frequency hopping ...................................................................... Abandoned This was just for the demo purposes. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f0e8c78710f8b31689217ef31d7b4c1646bdf28 Gerrit-Change-Number: 18531 Gerrit-PatchSet: 5 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 Aug 11 07:02:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Aug 2020 07:02:35 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 07:02: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 Aug 11 12:30:57 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 11 Aug 2020 12:30:57 +0000 Subject: Change in libosmocore[master]: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19141 ) Change subject: socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints ...................................................................... socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints When dealing with IPv4 and IPv6 address, the struct sockaddr allows to hold IPv4 and IPv6. However even when struct sockaddr is being used, a cast to the IPv4 or IPv6 family must happen. To work around this additional code, use a union for the most common types. Change-Id: If80172373735193401af872b18e1ff00c93880e7 --- M include/osmocom/core/socket.h 1 file changed, 11 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 129612c..9cb8d6b 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -2,6 +2,7 @@ * Osmocom socket convenience functions. */ #pragma once +#if (!EMBEDDED) /*! \defgroup socket Socket convenience functions * @{ @@ -11,17 +12,24 @@ #include #include -#if (!EMBEDDED) #include /*! maximum length of a socket name ("r=1.2.3.4:123<->l=5.6.7.8:987") */ #define OSMO_SOCK_NAME_MAXLEN (2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1) -#endif struct sockaddr_in; struct sockaddr; struct osmo_fd; +struct osmo_sockaddr { + union { + struct sockaddr sa; + struct sockaddr_storage sas; + struct sockaddr_in sin; + struct sockaddr_in6 sin6; + } u; +}; + /* flags for osmo_sock_init. */ /*! connect the socket to a remote peer */ #define OSMO_SOCK_F_CONNECT (1 << 0) @@ -92,4 +100,5 @@ int osmo_sock_local_ip(char *local_ip, const char *remote_ip); +#endif /* (!EMBEDDED) */ /*! @} */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If80172373735193401af872b18e1ff00c93880e7 Gerrit-Change-Number: 19141 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Tue Aug 11 15:19:27 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 11 Aug 2020 15:19:27 +0000 Subject: Change in libosmocore[master]: WIP: Gb: add a second NS implementation In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19417 ) Change subject: WIP: Gb: add a second NS implementation ...................................................................... Patch Set 13: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3525beef205588dfab9d3880a34115f1a2676e48 Gerrit-Change-Number: 19417 Gerrit-PatchSet: 13 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 11 Aug 2020 15:19: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 Tue Aug 11 17:02:41 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 Aug 2020 17:02:41 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied If the BSC configuration is set up to deny emergency calls, make sure that an EMERGENCY SETUP will not be passed to the MSC, instead ensure that the call is released. Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Related: OS#4548 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/19565/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index e54a937..869b491 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -988,6 +989,22 @@ break; } break; + case GSM48_PDISC_CC: + /* Make sure that EMERGENCY CALLS can not be made if the + * VTY configuration does not permit. */ + if(msg_type == GSM48_MT_CC_EMERG_SETUP) { + if (msg->lchan->ts->trx->bts->si_common.rach_control.t2 & 0x4) { + LOG_LCHAN(msg->lchan, LOGL_NOTICE, "MS attempts EMERGENCY SETUP although EMERGENCY CALLS are not allowed in sysinfo (spec violation by MS!)\n"); + lchan_release(msg->lchan, true, true, GSM48_RR_CAUSE_PREMPTIVE_REL); + break; + } + if (!conn->sccp.msc->allow_emerg) { + LOG_LCHAN(msg->lchan, LOGL_NOTICE, "MS attempts EMERGENCY SETUP, but EMERGENCY CALLS are denied on this BSC (check BTS config!)\n"); + lchan_release(msg->lchan, true, true, GSM48_RR_CAUSE_PREMPTIVE_REL); + break; + } + } + /* fall through */ default: bsc_dtap(conn, link_id, msg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 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 Aug 11 17:04:28 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 Aug 2020 17:04:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: extend TC_chan_act_ack_noest with emergency call In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19203 ) Change subject: BSC_Tests: extend TC_chan_act_ack_noest with emergency call ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If828c0f5786d89efa7608f38d648e2a2b8f6f675 Gerrit-Change-Number: 19203 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Aug 2020 17:04: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 Aug 11 17:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 Aug 2020 17:07:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: extend TC_chan_act_ack_noest with emergency call In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19203 ) Change subject: BSC_Tests: extend TC_chan_act_ack_noest with emergency call ...................................................................... BSC_Tests: extend TC_chan_act_ack_noest with emergency call TC_chan_act_ack_noest requests a channel and then releases it again. However, this does not test yet what happens if the requestor (BTS) uses a request reference that indicates an emergancy call. Depending on the configuration the BSC should reject or allow the channel to be established. Change-Id: If828c0f5786d89efa7608f38d648e2a2b8f6f675 Related: OS#4549 --- M bsc/BSC_Tests.ttcn 1 file changed, 14 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 1040a31..4442008 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -996,13 +996,13 @@ } /* CHAN RQD -> CHAN ACT -> CHAN ACT ACK -> RF CHAN REL */ -testcase TC_chan_act_ack_noest() runs on test_CT { +private function f_TC_chan_act_ack_noest(OCT1 ra := '23'O) runs on test_CT { var RSL_Message rx_rsl; f_init(1); /* Send CHAN RQD and wait for allocation; acknowledge it */ - var RslChannelNr chan_nr := f_chreq_act_ack(); + var RslChannelNr chan_nr := f_chreq_act_ack(ra); /* expect BSC to disable the channel again if there's no RLL EST IND */ rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX); @@ -1010,6 +1010,17 @@ setverdict(pass); } +/* Normal variant */ +testcase TC_chan_act_ack_noest() runs on test_CT { + f_TC_chan_act_ack_noest(); +} + +/* Emergency call variant */ +testcase TC_chan_act_ack_noest_emerg() runs on test_CT { + /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + f_TC_chan_act_ack_noest(ra := 'A5'O); +} + /* Test behavior if MSC never answers to CR */ testcase TC_chan_act_ack_est_ind_noreply() runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); @@ -5987,6 +5998,7 @@ execute( TC_chan_act_noreply() ); execute( TC_chan_act_counter() ); execute( TC_chan_act_ack_noest() ); + execute( TC_chan_act_ack_noest_emerg() ); execute( TC_chan_act_ack_est_ind_noreply() ); execute( TC_chan_act_ack_est_ind_refused() ); execute( TC_chan_act_nack() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If828c0f5786d89efa7608f38d648e2a2b8f6f675 Gerrit-Change-Number: 19203 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 11 20:59:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 Aug 2020 20:59:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: check template before using isvalue() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 ) Change subject: MSC_ConnectionHandler: check template before using isvalue() ...................................................................... MSC_ConnectionHandler: check template before using isvalue() The function f_establish_fully may be called with template ass_tpl set to "omit". In this case we must make sure that we do not pass ass_tpl on to isvalue(). Change-Id: Ie094e5b56a851351671327b475d5e597a5a94bf6 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/19566/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 7d8fce1..7b8f087 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1005,7 +1005,7 @@ var BSSMAP_FIELD_CodecType codecType; timer T := 10.0; - if (isvalue(ass_tpl.pdu.bssmap.assignmentRequest.codecList)) { + if (not istemplatekind(ass_tpl, "omit") and isvalue(ass_tpl.pdu.bssmap.assignmentRequest.codecList)) { codecType := valueof(ass_tpl.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType); } else { /* Make sure a meaningful default is assigned in case the -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie094e5b56a851351671327b475d5e597a5a94bf6 Gerrit-Change-Number: 19566 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 Aug 11 21:00:19 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 11 Aug 2020 21:00:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: replace istemplatekind with valueof In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19301 ) Change subject: MSC_ConnectionHandler: replace istemplatekind with valueof ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I77272214301bc4982d8bcac64e09a0c679f038bb Gerrit-Change-Number: 19301 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 01:06:21 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 01:06:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup for "fix mscpool cleanup (fixes LCLS tests)" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 ) Change subject: fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... fixup for "fix mscpool cleanup (fixes LCLS tests)" For the VTY "Unknown Command" code path, we must actually call 'repeat', to avoid racey VTY behavior from cruft stuck in the VTY pipe. The missing 'repeat' caused massive random fallout in the 'latest' builds, which often hits the 'Unknown Command' code path; fixed by this patch. Change-Id: Ibd5adb359b3fb302e2c70700d911878aef605ff3 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/19567/1 diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 4cf37c4..cb3434e 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -71,6 +71,8 @@ testcase.stop(fail, "VTY: Unknown Command"); } else { log("VTY: Unknown Command (ignored)"); + buf := buf & rx; + repeat; } }; [] pt.receive(charstring:?) -> value rx { buf := buf & rx; repeat }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd5adb359b3fb302e2c70700d911878aef605ff3 Gerrit-Change-Number: 19567 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 01:06:21 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 01:06:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log: for VTY Unknown Command, fix weird log message References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 ) Change subject: log: for VTY Unknown Command, fix weird log message ...................................................................... log: for VTY Unknown Command, fix weird log message In f_vty_wait_for_prompt(), this: testcase.stop(fail, "VTY: Unknown Command") outputs: failVTY: Unknown Command The first stop() argument 'fail' is not actually a test verdict, but gets rolled into a log output string, becoming "failVTY". Fix that by simply using the normal pattern of setverdict() followed by mtc.stop(). Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/19568/1 diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index cb3434e..e5f615c 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -68,7 +68,8 @@ [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; [] pt.receive(t_vty_unknown) { if (strict) { - testcase.stop(fail, "VTY: Unknown Command"); + setverdict(fail, "VTY: Unknown Command"); + mtc.stop; } else { log("VTY: Unknown Command (ignored)"); buf := buf & rx; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 Gerrit-Change-Number: 19568 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Aug 12 01:37:02 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:37:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f3347d835f05_72892b0e38a1c5e02820f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 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] [ 160s] [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: 16576 B 16 KB 101.17% [ 161s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 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: make -j1 returned exit code 2 [ 161s] make: *** [debian/rules:16: build] Error 2 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] ### VM INTERACTION START ### [ 164s] [ 156.403576] sysrq: Power Off [ 164s] [ 156.408589] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] lamb13 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:36:48 UTC 2020. [ 164s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:37:02 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:37:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f3347d920b3e_72892b0e38a1c5e02821c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 120s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 120s] [COMPILING libboard/qmod/source/card_pres.c] [ 120s] [COMPILING libboard/qmod/source/wwan_led.c] [ 120s] [COMPILING libboard/qmod/source/i2c.c] [ 120s] [COMPILING libboard/qmod/source/board_qmod.c] [ 120s] [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: 16504 B 16 KB 100.73% [ 120s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 120s] collect2: error: ld returned 1 exit status [ 120s] % [ 120s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 120s] make: *** [debian/rules:16: build] Error 2 [ 120s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 120s] ### VM INTERACTION START ### [ 124s] [ 116.714001] sysrq: Power Off [ 124s] [ 116.717731] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] sheep86 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:37:00 UTC 2020. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:37:19 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:37:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f3347d987727_72892b0e38a1c5e02822a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 84s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 84s] [COMPILING libboard/qmod/source/card_pres.c] [ 84s] [COMPILING libboard/qmod/source/wwan_led.c] [ 84s] [COMPILING libboard/qmod/source/i2c.c] [ 84s] [COMPILING libboard/qmod/source/board_qmod.c] [ 84s] [COMPILING apps/dfu/main.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 85s] Memory region Used Size Region Size %age Used [ 85s] rom: 16504 B 16 KB 100.73% [ 85s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 85s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 85s] collect2: error: ld returned 1 exit status [ 85s] % [ 85s] make[2]: *** [Makefile:234: flash] Error 1 [ 85s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 85s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 85s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 85s] dh_auto_build: make -j1 returned exit code 2 [ 85s] make: *** [debian/rules:16: build] Error 255 [ 85s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 85s] ### VM INTERACTION START ### [ 88s] [ 82.499192] sysrq: Power Off [ 88s] [ 82.500677] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] build82 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:37:05 UTC 2020. [ 88s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:37:36 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:37:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f3347f9c643a_72892b0e38a1c5e02823b9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 128s] [COMPILING libboard/qmod/source/i2c.c] [ 129s] [COMPILING libboard/qmod/source/board_qmod.c] [ 129s] [COMPILING apps/dfu/main.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 130s] Memory region Used Size Region Size %age Used [ 130s] rom: 16584 B 16 KB 101.22% [ 130s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 130s] collect2: error: ld returned 1 exit status [ 130s] % [ 130s] Makefile:234: recipe for target 'flash' failed [ 130s] make[2]: *** [flash] Error 1 [ 130s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 130s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 130s] make[1]: *** [fw-qmod-dfu] Error 2 [ 130s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 130s] dh_auto_build: make -j1 returned exit code 2 [ 130s] debian/rules:16: recipe for target 'build' failed [ 130s] make: *** [build] Error 2 [ 130s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 130s] ### VM INTERACTION START ### [ 133s] [ 123.258630] sysrq: Power Off [ 133s] [ 123.259665] reboot: Power down [ 133s] ### VM INTERACTION END ### [ 133s] [ 133s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:37:23 UTC 2020. [ 133s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:38:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:38:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f334816ec3ed_72892b0e38a1c5e02824dc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 152s] [COMPILING libboard/qmod/source/i2c.c] [ 152s] [COMPILING libboard/qmod/source/board_qmod.c] [ 153s] [COMPILING apps/dfu/main.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 153s] Memory region Used Size Region Size %age Used [ 153s] rom: 16576 B 16 KB 101.17% [ 153s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 153s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 153s] collect2: error: ld returned 1 exit status [ 153s] % [ 153s] Makefile:234: recipe for target 'flash' failed [ 153s] make[2]: *** [flash] Error 1 [ 153s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 153s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 153s] make[1]: *** [fw-qmod-dfu] Error 2 [ 153s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 153s] dh_auto_build: make -j1 returned exit code 2 [ 153s] debian/rules:16: recipe for target 'build' failed [ 153s] make: *** [build] Error 2 [ 153s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 153s] ### VM INTERACTION START ### [ 156s] [ 147.073524] sysrq: Power Off [ 156s] [ 147.088346] reboot: Power down [ 157s] ### VM INTERACTION END ### [ 157s] [ 157s] lamb51 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:38:18 UTC 2020. [ 157s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:38:44 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:38:44 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f334831b6754_72892b0e38a1c5e02827f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 135s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 135s] [COMPILING libboard/qmod/source/card_pres.c] [ 135s] [COMPILING libboard/qmod/source/wwan_led.c] [ 135s] [COMPILING libboard/qmod/source/i2c.c] [ 135s] [COMPILING libboard/qmod/source/board_qmod.c] [ 135s] [COMPILING apps/dfu/main.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 136s] Memory region Used Size Region Size %age Used [ 136s] rom: 16576 B 16 KB 101.17% [ 136s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 136s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 136s] collect2: error: ld returned 1 exit status [ 136s] % [ 136s] make[2]: *** [Makefile:234: flash] Error 1 [ 136s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 136s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 136s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 136s] dh_auto_build: make -j1 returned exit code 2 [ 136s] make: *** [debian/rules:16: build] Error 2 [ 136s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 136s] ### VM INTERACTION START ### [ 139s] [ 131.551639] sysrq: Power Off [ 139s] [ 131.559060] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] lamb18 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:38:34 UTC 2020. [ 139s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:39:18 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:39:18 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f33485496e58_72892b0e38a1c5e02828ba@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 181s] [COMPILING libboard/qmod/source/i2c.c] [ 182s] [COMPILING libboard/qmod/source/board_qmod.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] [ 183s] Memory region Used Size Region Size %age Used [ 183s] rom: 16584 B 16 KB 101.22% [ 183s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 183s] collect2: error: ld returned 1 exit status [ 183s] % [ 183s] Makefile:234: recipe for target 'flash' failed [ 183s] make[2]: *** [flash] Error 1 [ 183s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 183s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 183s] make[1]: *** [fw-qmod-dfu] Error 2 [ 183s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 183s] dh_auto_build: make -j1 returned exit code 2 [ 183s] debian/rules:16: recipe for target 'build' failed [ 183s] make: *** [build] Error 2 [ 183s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 183s] ### VM INTERACTION START ### [ 186s] [ 171.125665] sysrq: Power Off [ 186s] [ 171.151219] reboot: Power down [ 186s] ### VM INTERACTION END ### [ 186s] [ 186s] lamb60 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:39:16 UTC 2020. [ 186s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:39:35 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:39:35 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f33486fd3610_72892b0e38a1c5e0282938@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 124s] [COMPILING libboard/qmod/source/i2c.c] [ 124s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16584 B 16 KB 101.22% [ 125s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] Makefile:234: recipe for target 'flash' failed [ 125s] make[2]: *** [flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 125s] make[1]: *** [fw-qmod-dfu] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] dh_auto_build: make -j1 returned exit code 2 [ 125s] debian/rules:16: recipe for target 'build' failed [ 125s] make: *** [build] Error 2 [ 125s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 120.576507] sysrq: Power Off [ 128s] [ 120.589180] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb06 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:39:30 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:39:52 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:39:52 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f33487116414_72892b0e38a1c5e0283018@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 206s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 206s] [COMPILING libboard/qmod/source/card_pres.c] [ 207s] [COMPILING libboard/qmod/source/wwan_led.c] [ 207s] [COMPILING libboard/qmod/source/i2c.c] [ 207s] [COMPILING libboard/qmod/source/board_qmod.c] [ 207s] [COMPILING apps/dfu/main.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 207s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 208s] Memory region Used Size Region Size %age Used [ 208s] rom: 16504 B 16 KB 100.73% [ 208s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 208s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 208s] collect2: error: ld returned 1 exit status [ 208s] % [ 208s] make[2]: *** [Makefile:234: flash] Error 1 [ 208s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 208s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 208s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 208s] dh_auto_build: make -j1 returned exit code 2 [ 208s] make: *** [debian/rules:16: build] Error 2 [ 208s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 208s] ### VM INTERACTION START ### [ 211s] [ 200.628171] sysrq: Power Off [ 211s] [ 200.635861] reboot: Power down [ 211s] ### VM INTERACTION END ### [ 211s] [ 211s] lamb59 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:39:48 UTC 2020. [ 211s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:40:09 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:40:09 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f33488af1d8d_72892b0e38a1c5e02831d8@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: [ 145s] [COMPILING libboard/common/source/uart_console.c] [ 145s] [COMPILING libboard/common/source/led.c] [ 146s] [COMPILING libboard/common/source/boardver_adc.c] [ 146s] [COMPILING libboard/common/source/manifest.c] [ 146s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 146s] [COMPILING apps/dfu/main.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 147s] Memory region Used Size Region Size %age Used [ 147s] rom: 16460 B 16 KB 100.46% [ 147s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 147s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 147s] collect2: error: ld returned 1 exit status [ 147s] % [ 147s] make[2]: *** [Makefile:234: flash] Error 1 [ 147s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 147s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 147s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 147s] dh_auto_build: error: make -j1 returned exit code 2 [ 147s] make: *** [debian/rules:16: build] Error 25 [ 147s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 147s] ### VM INTERACTION START ### [ 150s] [ 135.332718] sysrq: Power Off [ 150s] [ 135.348122] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] old-atreju1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:39:55 UTC 2020. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:41:18 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:41:18 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f3348cb912f7_72892b0e38a1c5e02832b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 235s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 235s] [COMPILING libboard/qmod/source/card_pres.c] [ 235s] [COMPILING libboard/qmod/source/wwan_led.c] [ 235s] [COMPILING libboard/qmod/source/i2c.c] [ 235s] [COMPILING libboard/qmod/source/board_qmod.c] [ 235s] [COMPILING apps/dfu/main.c] [ 235s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 236s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 236s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 236s] Memory region Used Size Region Size %age Used [ 236s] rom: 16504 B 16 KB 100.73% [ 236s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 236s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 236s] collect2: error: ld returned 1 exit status [ 236s] % [ 236s] make[2]: *** [Makefile:234: flash] Error 1 [ 236s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 236s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 236s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 236s] dh_auto_build: make -j1 returned exit code 2 [ 236s] make: *** [debian/rules:16: build] Error 2 [ 236s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 236s] ### VM INTERACTION START ### [ 239s] [ 230.744465] sysrq: Power Off [ 239s] [ 230.751726] reboot: Power down [ 239s] ### VM INTERACTION END ### [ 239s] [ 239s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:41:12 UTC 2020. [ 239s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:43:01 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:43:01 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f3349419035f_72892b0e38a1c5e0283524@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 142s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 142s] [COMPILING libboard/qmod/source/card_pres.c] [ 142s] [COMPILING libboard/qmod/source/wwan_led.c] [ 143s] [COMPILING libboard/qmod/source/i2c.c] [ 143s] [COMPILING libboard/qmod/source/board_qmod.c] [ 143s] [COMPILING apps/dfu/main.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 143s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 144s] Memory region Used Size Region Size %age Used [ 144s] rom: 16504 B 16 KB 100.73% [ 144s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 144s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 144s] collect2: error: ld returned 1 exit status [ 144s] % [ 144s] make[2]: *** [Makefile:234: flash] Error 1 [ 144s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 144s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 144s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 144s] dh_auto_build: make -j1 returned exit code 2 [ 144s] make: *** [debian/rules:16: build] Error 2 [ 144s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 144s] ### VM INTERACTION START ### [ 147s] [ 136.636983] sysrq: Power Off [ 147s] [ 136.638273] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:42:53 UTC 2020. [ 147s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:44:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:44:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f33497fb1ee4_72892b0e38a1c5e02839a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 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: 16464 B 16 KB 100.49% [ 82s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 82s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 82s] collect2: error: ld returned 1 exit status [ 82s] % [ 82s] make[2]: *** [Makefile:234: flash] Error 1 [ 82s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 82s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 82s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 82s] dh_auto_build: error: make -j1 returned exit code 2 [ 82s] make: *** [debian/rules:16: build] Error 25 [ 82s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 82s] ### VM INTERACTION START ### [ 85s] [ 79.371744] sysrq: Power Off [ 85s] [ 79.378770] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] goat01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:44:16 UTC 2020. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:45:01 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:45:01 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f3349b92f1de_72892b0e38a1c5e02840b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 167s] [COMPILING libboard/qmod/source/i2c.c] [ 167s] [COMPILING libboard/qmod/source/board_qmod.c] [ 168s] [COMPILING apps/dfu/main.c] [ 168s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 168s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 168s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 168s] Memory region Used Size Region Size %age Used [ 168s] rom: 16576 B 16 KB 101.17% [ 168s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 168s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 168s] collect2: error: ld returned 1 exit status [ 168s] % [ 168s] Makefile:234: recipe for target 'flash' failed [ 168s] make[2]: *** [flash] Error 1 [ 168s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 168s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 168s] make[1]: *** [fw-qmod-dfu] Error 2 [ 168s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 168s] dh_auto_build: make -j1 returned exit code 2 [ 168s] debian/rules:16: recipe for target 'build' failed [ 168s] make: *** [build] Error 2 [ 168s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 168s] ### VM INTERACTION START ### [ 171s] [ 161.968663] sysrq: Power Off [ 171s] [ 161.972881] reboot: Power down [ 172s] ### VM INTERACTION END ### [ 172s] [ 172s] old-atreju1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:44:46 UTC 2020. [ 172s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 01:46:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:46:27 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f3349f77f5de_72892b0e38a1c5e0284764@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 178s] [COMPILING apps/dfu/main.c] [ 178s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 179s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 179s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 179s] Memory region Used Size Region Size %age Used [ 179s] rom: 16464 B 16 KB 100.49% [ 179s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 179s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 179s] collect2: error: ld returned 1 exit status [ 179s] % [ 179s] make[2]: *** [Makefile:234: flash] Error 1 [ 179s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 179s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 179s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 179s] dh_auto_build: error: make -j1 returned exit code 2 [ 179s] make: *** [debian/rules:16: build] Error 25 [ 179s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 179s] ### VM INTERACTION START ### [ 182s] [ 170.854866] sysrq: Power Off [ 182s] [ 170.860065] reboot: Power down [ 182s] ### VM INTERACTION END ### [ 182s] [ 182s] lamb07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:46:25 UTC 2020. [ 182s] -- 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 Aug 12 01:47:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 01:47:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup for "fix mscpool cleanup (fixes LCLS tests)" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 ) Change subject: fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... Patch Set 1: Code-Review+2 fast track to fix massive random 'latest' ttcn3 test regressions -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd5adb359b3fb302e2c70700d911878aef605ff3 Gerrit-Change-Number: 19567 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 12 Aug 2020 01: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 Wed Aug 12 01:47:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 01:47:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup for "fix mscpool cleanup (fixes LCLS tests)" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 ) Change subject: fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... fixup for "fix mscpool cleanup (fixes LCLS tests)" For the VTY "Unknown Command" code path, we must actually call 'repeat', to avoid racey VTY behavior from cruft stuck in the VTY pipe. The missing 'repeat' caused massive random fallout in the 'latest' builds, which often hits the 'Unknown Command' code path; fixed by this patch. Change-Id: Ibd5adb359b3fb302e2c70700d911878aef605ff3 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 4cf37c4..cb3434e 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -71,6 +71,8 @@ testcase.stop(fail, "VTY: Unknown Command"); } else { log("VTY: Unknown Command (ignored)"); + buf := buf & rx; + repeat; } }; [] pt.receive(charstring:?) -> value rx { buf := buf & rx; repeat }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd5adb359b3fb302e2c70700d911878aef605ff3 Gerrit-Change-Number: 19567 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Aug 12 01:59:35 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 01:59:35 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f334d208b7d5_72892b0e38a1c5e028774f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 393s] [COMPILING libboard/qmod/source/i2c.c] [ 393s] [COMPILING libboard/qmod/source/board_qmod.c] [ 394s] [COMPILING apps/dfu/main.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 396s] Memory region Used Size Region Size %age Used [ 396s] rom: 16584 B 16 KB 101.22% [ 396s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 396s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 396s] collect2: error: ld returned 1 exit status [ 396s] % [ 396s] Makefile:234: recipe for target 'flash' failed [ 396s] make[2]: *** [flash] Error 1 [ 396s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 396s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 396s] make[1]: *** [fw-qmod-dfu] Error 2 [ 396s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 396s] dh_auto_build: make -j1 returned exit code 2 [ 396s] debian/rules:16: recipe for target 'build' failed [ 396s] make: *** [build] Error 2 [ 396s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 396s] ### VM INTERACTION START ### [ 399s] [ 380.464342] sysrq: SysRq : Power Off [ 399s] [ 380.506029] reboot: Power down [ 400s] ### VM INTERACTION END ### [ 400s] [ 400s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 01:59:33 UTC 2020. [ 400s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 02:07:19 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 02:07:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f334ee276bb7_72892b0e38a1c5e0288321@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: [ 409s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 410s] [COMPILING libboard/qmod/source/card_pres.c] [ 410s] [COMPILING libboard/qmod/source/wwan_led.c] [ 410s] [COMPILING libboard/qmod/source/i2c.c] [ 411s] [COMPILING libboard/qmod/source/board_qmod.c] [ 411s] [COMPILING apps/dfu/main.c] [ 412s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 412s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 413s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 413s] Memory region Used Size Region Size %age Used [ 413s] rom: 16504 B 16 KB 100.73% [ 413s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 413s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 413s] collect2: error: ld returned 1 exit status [ 413s] % [ 413s] make[2]: *** [Makefile:234: flash] Error 1 [ 414s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 414s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 414s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 414s] dh_auto_build: make -j1 returned exit code 2 [ 414s] make: *** [debian/rules:16: build] Error 2 [ 414s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 414s] ### VM INTERACTION START ### [ 417s] [ 386.040154] sysrq: SysRq : Power Off [ 417s] [ 386.050906] reboot: Power down [ 418s] ### VM INTERACTION END ### [ 418s] [ 418s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 02:07:11 UTC 2020. [ 418s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 02:12:45 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 02:12:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f33503152852_72892b0e38a1c5e02885d@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: [ 258s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 259s] [COMPILING libboard/qmod/source/card_pres.c] [ 259s] [COMPILING libboard/qmod/source/wwan_led.c] [ 259s] [COMPILING libboard/qmod/source/i2c.c] [ 259s] [COMPILING libboard/qmod/source/board_qmod.c] [ 260s] [COMPILING apps/dfu/main.c] [ 260s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 260s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 261s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 261s] Memory region Used Size Region Size %age Used [ 261s] rom: 16504 B 16 KB 100.73% [ 261s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 261s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 261s] collect2: error: ld returned 1 exit status [ 261s] % [ 261s] make[2]: *** [Makefile:234: flash] Error 1 [ 261s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 261s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 261s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 261s] dh_auto_build: make -j1 returned exit code 2 [ 261s] make: *** [debian/rules:16: build] Error 2 [ 261s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 261s] ### VM INTERACTION START ### [ 264s] [ 249.433554] sysrq: SysRq : Power Off [ 264s] [ 249.482115] reboot: Power down [ 265s] ### VM INTERACTION END ### [ 265s] [ 265s] armbuild24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 02:12:42 UTC 2020. [ 265s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 03:48:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 03:48:27 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f33669097055_72892b0e38a1c5e0304934@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 120s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 120s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 120s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 120s] | | [ 120s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 120s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 120s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 120s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 120s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 120s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 120s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 120s] cc1: all warnings being treated as errors [ 120s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 120s] make[3]: *** Waiting for unfinished jobs.... [ 120s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 120s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] make[1]: *** [Makefile:166: all] Error 2 [ 120s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 120s] make: *** [debian/rules:9: build] Error 25 [ 120s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 120s] ### VM INTERACTION START ### [ 123s] [ 113.121468] sysrq: Power Off [ 123s] [ 113.126819] reboot: Power down [ 123s] ### VM INTERACTION END ### [ 123s] [ 123s] lamb08 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 12 03:48:15 UTC 2020. [ 123s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 03:48:44 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 03:48:44 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f3366aa15057_72892b0e38a1c5e03050e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 123s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 123s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 123s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 123s] | | [ 123s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 123s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 123s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 123s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 123s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 123s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 123s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 124s] cc1: all warnings being treated as errors [ 124s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 124s] make[3]: *** Waiting for unfinished jobs.... [ 124s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 124s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[1]: *** [Makefile:166: all] Error 2 [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 124s] make: *** [debian/rules:9: build] Error 25 [ 124s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 124s] ### VM INTERACTION START ### [ 127s] [ 115.488375] sysrq: Power Off [ 127s] [ 115.495487] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] lamb51 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 12 03:48:28 UTC 2020. [ 127s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 03:50:44 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 03:50:44 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f336724318cd_72892b0e38a1c5e03052fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 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] [ 88s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 88s] Memory region Used Size Region Size %age Used [ 88s] rom: 16464 B 16 KB 100.49% [ 88s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 88s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 88s] collect2: error: ld returned 1 exit status [ 88s] % [ 88s] make[2]: *** [Makefile:234: flash] Error 1 [ 88s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 88s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 88s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 88s] dh_auto_build: error: make -j1 returned exit code 2 [ 88s] make: *** [debian/rules:16: build] Error 25 [ 88s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 88s] ### VM INTERACTION START ### [ 91s] [ 84.322891] sysrq: Power Off [ 91s] [ 84.324299] reboot: Power down [ 91s] ### VM INTERACTION END ### [ 91s] [ 91s] build85 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Wed Aug 12 03:50:33 UTC 2020. [ 91s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 03:53:01 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 03:53:01 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f3367d1759e7_72892b0e38a1c5e030981@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 77s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 77s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 77s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 77s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 77s] | | [ 77s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 77s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 77s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 77s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 77s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 77s] 2425 | MHD_start_daemon (unsigned int flags, [ 77s] | ^~~~~~~~~~~~~~~~ [ 78s] cc1: all warnings being treated as errors [ 78s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 78s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 78s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 78s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 78s] make[1]: *** [Makefile:166: all] Error 2 [ 78s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 78s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 78s] make: *** [debian/rules:9: build] Error 25 [ 78s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 78s] ### VM INTERACTION START ### [ 81s] [ 75.172964] sysrq: Power Off [ 81s] [ 75.174293] reboot: Power down [ 81s] ### VM INTERACTION END ### [ 81s] [ 81s] build85 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 12 03:52:48 UTC 2020. [ 81s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 12 03:54:09 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Aug 2020 03:54:09 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f3367f358763_72892b0e38a1c5e031005e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 134s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 134s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 134s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 134s] | | [ 134s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 134s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 134s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 134s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 134s] /usr/include/microhttpd.h:2425:1: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 134s] 2425 | MHD_start_daemon (unsigned int flags, [ 134s] | ^~~~~~~~~~~~~~~~ [ 135s] cc1: all warnings being treated as errors [ 135s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 135s] make[3]: *** Waiting for unfinished jobs.... [ 135s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 135s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 135s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 135s] make[1]: *** [Makefile:166: all] Error 2 [ 135s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 135s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 135s] make: *** [debian/rules:9: build] Error 25 [ 135s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 135s] ### VM INTERACTION START ### [ 138s] [ 127.146881] sysrq: Power Off [ 138s] [ 127.169717] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] lamb28 failed "build ulfius_2.5.2-4.1.dsc" at Wed Aug 12 03:53:58 UTC 2020. [ 138s] -- 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 Aug 12 06:03:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 06:03:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log: for VTY Unknown Command, fix weird log message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 ) Change subject: log: for VTY Unknown Command, fix weird log message ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568/1/library/Osmocom_VTY_Functions.ttcn File library/Osmocom_VTY_Functions.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568/1/library/Osmocom_VTY_Functions.ttcn at a71 PS1, Line 71: testcase.stop(fail, "VTY: Unknown Command"); testcase.stop() automatically sets verdict to 'error', so you could simply remove the first argument. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 Gerrit-Change-Number: 19568 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 06:03:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 06:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 06:10:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 ) Change subject: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr ...................................................................... fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr According to ETSI ES 201 873-1, section 21.2.1, the test case stop operation sets the verdict to 'error'. Thus passing 'fail' as the first argument does not make sense - remove it. Change-Id: I27a063cb8a9653110ceba720c572bc050d333354 --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/19569/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 51e27e2..7be4940 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -973,7 +973,7 @@ remote_addr.v10.addr[1] := f_pad_oct(''O, 16, '00'O); } else { if (addr_type != PCUIF_ADDR_TYPE_IPV4) { - testcase.stop(fail, "NSVC address type := ", addr_type, + testcase.stop("NSVC address type := ", addr_type, "is not supported in version := ", PCUIF_Types.mp_pcuif_version); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27a063cb8a9653110ceba720c572bc050d333354 Gerrit-Change-Number: 19569 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 Aug 12 06:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 06:10:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: do not add redundant padding References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19570 ) Change subject: library/PCUIF_Types: version 10: do not add redundant padding ...................................................................... library/PCUIF_Types: version 10: do not add redundant padding Change-Id: I7a532d7abff8af354e40c5d706bb882efc6f905f --- M library/PCUIF_Types.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/19570/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 7be4940..682b2f7 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -307,7 +307,6 @@ 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)" - variant "PADDING(1696)" /* 212 * 8 */ }; external function enc_PCUIF_Message(in PCUIF_Message pdu) return octetstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7a532d7abff8af354e40c5d706bb882efc6f905f Gerrit-Change-Number: 19570 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 Aug 12 09:59:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 09:59:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 ) Change subject: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27a063cb8a9653110ceba720c572bc050d333354 Gerrit-Change-Number: 19569 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 09:59:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:00:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:00:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19524 ) Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 10:00:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:00:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:00:21 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: finish E1 support, add E1 support from libosmoabis In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19524 ) Change subject: mgcp_e1: finish E1 support, add E1 support from libosmoabis ...................................................................... mgcp_e1: finish E1 support, add E1 support from libosmoabis Currently only the endpoint handling for E1 exists, but there is no actual code behind it that handles the E1 traffic. Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Related: OS#2659 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/debug.h M include/osmocom/mgcp/mgcp_conn.h A include/osmocom/mgcp/mgcp_e1.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_conn.c A src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c M tests/mgcp/Makefile.am M tests/mgcp/mgcp_test.c 22 files changed, 1,076 insertions(+), 62 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 7c63437..db44893 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,8 @@ PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index fb7654f..549ba87 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -10,4 +10,5 @@ mgcp_trunk.h \ debug.h \ mgcp_ratectr.h \ + mgcp_e1.h \ $(NULL) diff --git a/include/osmocom/mgcp/debug.h b/include/osmocom/mgcp/debug.h index ddeb0dc..7044c1e 100644 --- a/include/osmocom/mgcp/debug.h +++ b/include/osmocom/mgcp/debug.h @@ -29,6 +29,7 @@ /* Debug Areas of the code */ enum { DRTP, + DE1, Debug_LastEntry, }; diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index ff5a779..78d5ea8 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -124,3 +124,4 @@ void mgcp_conn_free_all(struct mgcp_endpoint *endp); char *mgcp_conn_dump(struct mgcp_conn *conn); struct mgcp_conn *mgcp_find_dst_conn(struct mgcp_conn *conn); +struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp); diff --git a/include/osmocom/mgcp/mgcp_e1.h b/include/osmocom/mgcp/mgcp_e1.h new file mode 100644 index 0000000..a4ae854 --- /dev/null +++ b/include/osmocom/mgcp/mgcp_e1.h @@ -0,0 +1,28 @@ +#pragma once + +/* A 64k timeslot on an E1 line can be subdevied into the following + * subslot combinations: + * + * subslot: offset: + * [ ][ ][ 16k ][8k_subslot] 0 + * [ ][ 32k ][_subslot__][8k_subslot] 1 + * [ ][ subslot ][ 16k ][8k_subslot] 2 + * [ 64k ][__________][_subslot__][8k_subslot] 3 + * [ timeslot ][ ][ 16k ][8k_subslot] 4 + * [ ][ 32K ][_subslot__][8k_subslot] 5 + * [ ][ subslot ][ 16k ][8k_subslot] 6 + * [ ][ ][ subslot ][8k_subslot] 7 + * + * Since overlapping assignment of subslots is not possible there is a limited + * set of subslot assignments possible. The e1_rates array lists the possible + * assignments as depicted above. Also each subslot assignment comes along with + * a bit offset in the E1 bitstream. The e1_offsets arrays lists the bit + * offsets. */ +static const uint8_t e1_rates[] = { 64, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8 }; +static const uint8_t e1_offsets[] = { 0, 0, 4, 0, 2, 4, 6, 0, 1, 2, 3, 4, 5, 6, 7 }; + +int mgcp_e1_init(struct mgcp_trunk *trunk, uint8_t ts_nr); +int mgcp_e1_endp_equip(struct mgcp_endpoint *endp, uint8_t ts, uint8_t ss, uint8_t offs); +void mgcp_e1_endp_update(struct mgcp_endpoint *endp); +void mgcp_e1_endp_release(struct mgcp_endpoint *endp); +int mgcp_e1_send_rtp(struct mgcp_endpoint *endp, struct mgcp_rtp_codec *codec, struct msgb *msg); diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index c16ea4b..065494f 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -24,6 +24,7 @@ #pragma once #include +#include struct sockaddr_in; struct mgcp_conn; @@ -116,10 +117,23 @@ /*! MGCP_X_OSMO_IGN_* flags from 'X-Osmo-IGN:' header */ uint32_t x_osmo_ign; + + /* E1 specific */ + struct { + struct osmo_i460_schan_desc scd; + struct osmo_i460_subchan *schan; + struct osmo_fsm_inst *trau_sync_fi; + struct osmo_trau2rtp_state *trau_rtp_st; + uint8_t last_amr_ft; + struct mgcp_rtp_codec *last_codec; + } e1; + }; struct mgcp_endpoint *mgcp_endp_alloc(struct mgcp_trunk *trunk, unsigned int index); void mgcp_endp_release(struct mgcp_endpoint *endp); +int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid); +void mgcp_endp_update(struct mgcp_endpoint *endp); struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, const struct mgcp_trunk *trunk); struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index 3d7224e..86b2a57 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -71,6 +71,10 @@ /* duration of a packet (FIXME: in which unit?) */ uint32_t packet_duration; + /* Note: These states are not continuously updated, they serve as an + * information source to patch certain values in the RTP header. Do + * not use this state if constantly updated data about the RTP stream + * is needed. (see also mgcp_patch_and_count() */ struct mgcp_rtp_stream_state in_stream; struct mgcp_rtp_stream_state out_stream; @@ -85,6 +89,13 @@ int cycles; } stats; + /* Alternative values for RTP tx, in case no sufficient header + * information is available so the header needs to be generated + * locally (when just forwarding packets, the header of incoming + * data is just re-used) */ + uint16_t alt_rtp_tx_sequence; + uint32_t alt_rtp_tx_ssrc; + bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ }; @@ -296,3 +307,5 @@ struct mgcp_rtp_state *state, struct mgcp_rtp_end *rtp_end, struct sockaddr_in *addr, struct msgb *msg); + +#define RTP_BUF_SIZE 4096 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index d0bc628..ff59ea4 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -29,6 +29,7 @@ MGCP_CRCX_FAIL_CODEC_NEGOTIATION, MGCP_CRCX_FAIL_BIND_PORT, MGCP_CRCX_FAIL_AVAIL, + MGCP_CRCX_FAIL_CLAIM, }; /* Global MCGP MDCX related rate counters */ @@ -63,6 +64,13 @@ MGCP_DLCX_FAIL_AVAIL, }; +/* Trunk-global E1 related counters */ +enum { + E1_I460_TRAU_RX_FAIL_CTR, + E1_I460_TRAU_TX_FAIL_CTR, + E1_I460_TRAU_MUX_EMPTY_CTR, +}; + /* NOTE: When adding counters, also the dump_ratectr_* routines in vty.c must be updated. */ struct mgcp_ratectr_global { @@ -79,6 +87,8 @@ struct rate_ctr_group *mgcp_dlcx_ctr_group; /* Rate counter group which aggregates stats of individual RTP connections. */ struct rate_ctr_group *all_rtp_conn_stats; + /* Rate counter group which contains stats for E1 events (only valid for E1 trunks) */ + struct rate_ctr_group *e1_stats; }; int mgcp_ratectr_global_alloc(void *ctx, struct mgcp_ratectr_global *ratectr); diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index aa6dd29..d99f801 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -1,5 +1,13 @@ #pragma once +#include + +#define LOGPTRUNK(trunk, cat, level, fmt, args...) \ +LOGP(cat, level, "trunk:%u " fmt, \ + trunk ? trunk->trunk_nr : 0, \ + ## args) + + enum mgcp_trunk_type { MGCP_TRUNK_VIRTUAL, MGCP_TRUNK_E1, @@ -39,18 +47,32 @@ int rtp_accept_all; unsigned int number_endpoints; - unsigned int vty_number_endpoints; struct mgcp_endpoint **endpoints; /* global rate counters to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + + union { + /* Virtual trunk specific */ + struct { + unsigned int vty_number_endpoints; + } v; + /* E1 specific */ + struct { + unsigned int vty_line_nr; + struct e1inp_line *line; + bool ts_in_use[31]; + struct osmo_i460_timeslot i460_ts[31]; + } e1; + }; }; struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); -int mgcp_trunk_alloc_endpts(struct mgcp_trunk *tcfg); +int mgcp_trunk_equip(struct mgcp_trunk *trunk); struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); struct mgcp_trunk *mgcp_trunk_by_name(const struct mgcp_config *cfg, const char *epname); int e1_trunk_nr_from_epname(const char *epname); +struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num); /* The virtual trunk is always created on trunk id 0 for historical reasons, * use this define constant as ID when allocating a virtual trunk. Other diff --git a/src/libosmo-mgcp/Makefile.am b/src/libosmo-mgcp/Makefile.am index 77d0cdf..91b2bf6 100644 --- a/src/libosmo-mgcp/Makefile.am +++ b/src/libosmo-mgcp/Makefile.am @@ -10,6 +10,8 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -18,6 +20,8 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMONETIF_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(COVERAGE_LDFLAGS) \ $(NULL) @@ -43,4 +47,5 @@ mgcp_trunk.c \ mgcp_ctrl.c \ mgcp_ratectr.c \ + mgcp_e1.c \ $(NULL) diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 6802b91..8c7918e 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -397,3 +397,13 @@ return NULL; } + +/*! get oldest connection in the list. + * \param[in] endp associated endpoint */ +struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp) +{ + if (llist_empty(&endp->conns)) + return NULL; + + return llist_last_entry(&endp->conns, struct mgcp_conn, entry); +} diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c new file mode 100644 index 0000000..1e227dc --- /dev/null +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -0,0 +1,687 @@ +/* E1 traffic handling */ + +/* + * (C) 2020 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 + +#include +#include +#include +#include +#include +#include +#include +#include + +#define DEBUG_BITS_MAX 80 +#define DEBUG_BYTES_MAX 40 +#define DEBUG_E1_TS 0 +#define E1_TS_BYTES 160 +#define E1_TRAU_BITS 320 +#define E1_TRAU_BITS_MSGB 2048 + +static struct mgcp_config *cfg; + +static const struct e1inp_line_ops dummy_e1_line_ops = { + .sign_link_up = NULL, + .sign_link_down = NULL, + .sign_link = NULL, +}; + +/* EFR idle frame */ +static const ubit_t idle_tf_efr[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* FR idle frame */ +static const ubit_t idle_tf_fr[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* Idle speech frame, see also GSM 08.60, chapter 3.4 */ +static const ubit_t idle_tf_spch[] = { 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, +}; + +/* If the RTP transmission has dropouts for some reason the I.460 TX-Queue may + * run empty. In order to make sure that the TRAU frame transmission continues + * we generate idle TRAU frames here. */ +static void e1_i460_mux_empty_cb(struct osmo_i460_subchan *schan, void *user_data) +{ + struct mgcp_endpoint *endp = user_data; + struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.e1_stats; + struct msgb *msg = msgb_alloc(E1_TRAU_BITS_MSGB, "E1-I.460-IDLE-TX-TRAU-frame"); + uint8_t *ptr; + const uint8_t *ptr_ft; + enum osmo_trau_frame_type ft; + + rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_MUX_EMPTY_CTR]); + + /* Choose an appropiate idle frame type */ + ft = endp->e1.trau_rtp_st->type; + switch (ft) { + case OSMO_TRAU16_FT_FR: + ptr_ft = idle_tf_fr; + break; + case OSMO_TRAU16_FT_EFR: + ptr_ft = idle_tf_efr; + break; + default: + /* FIXME: What about 8k subslots and AMR frames? */ + ptr_ft = idle_tf_spch; + } + + /* Put the replacement into a message buffer and enqueue it into the + * I.460 multiplexer */ + ptr = msgb_put(msg, E1_TRAU_BITS); + memcpy(ptr, ptr_ft, E1_TRAU_BITS); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-IDLE-TX: enquing %u trau frame bits: %s...\n", msgb_length(msg), + osmo_ubit_dump(msgb_data(msg), msgb_length(msg) > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : msgb_length(msg))); + osmo_i460_mux_enqueue(endp->e1.schan, msg); +} + +/* called by I.460 de-multeiplexer; feed output of I.460 demux into TRAU frame sync */ +static void e1_i460_demux_bits_cb(struct osmo_i460_subchan *schan, void *user_data, const ubit_t *bits, + unsigned int num_bits) +{ + struct mgcp_endpoint *endp = user_data; + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: receiving %u bits from subslot: %s...\n", num_bits, + osmo_ubit_dump(bits, num_bits > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : num_bits)); + + OSMO_ASSERT(endp->e1.trau_sync_fi); + osmo_trau_sync_rx_ubits(endp->e1.trau_sync_fi, bits, num_bits); +} + +/* called for each synchronized TRAU frame received; decode frame + convert to RTP + * (the resulting frame will be prepended with an all-zero (12-byte) rtp header) */ +static void sync_frame_out_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +{ + struct msgb *msg = msgb_alloc(RTP_BUF_SIZE, "RTP-rx-from-E1"); + unsigned int rtp_hdr_len = sizeof(struct rtp_hdr); + struct mgcp_endpoint *endp = user_data; + struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.e1_stats; + struct mgcp_conn *conn_dst; + struct osmo_trau_frame fr; + int rc; + + if (!bits || num_bits == 0) + goto skip; + + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: receiving %u TRAU frame bits from E1 subslot: %s...\n", + num_bits, osmo_ubit_dump(bits, num_bits > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : num_bits)); + + /* Decode TRAU frame */ + switch (endp->e1.scd.rate) { + case OSMO_I460_RATE_8k: + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: decoding 8k trau frame...\n"); + rc = osmo_trau_frame_decode_8k(&fr, bits, OSMO_TRAU_DIR_UL); + break; + case OSMO_I460_RATE_16k: + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: decoding 16k trau frame...\n"); + rc = osmo_trau_frame_decode_16k(&fr, bits, OSMO_TRAU_DIR_UL); + break; + default: + /* TRAU frames only exist in 8K or 16K subslots. */ + OSMO_ASSERT(false); + break; + } + if (rc != 0) { + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: unable to decode trau frame\n"); + goto skip; + } + + /* Check if the payload type is supported and what the expected lenth + * of the RTP payload will be. */ + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: decoded trau frame type: %s\n", + osmo_trau_frame_type_name(fr.type)); + + /* Convert decoded trau frame to RTP frame */ + struct osmo_trau2rtp_state t2rs = { + .type = fr.type, + }; + rc = osmo_trau2rtp(msgb_data(msg) + rtp_hdr_len, msg->data_len - rtp_hdr_len, &fr, &t2rs); + if (rc <= 0) { + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: unable to convert trau frame to RTP audio\n"); + goto skip; + } + msgb_put(msg, rtp_hdr_len + rc); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-RX: encoded %u bytes of RTP audio: %s\n", rc, + osmo_hexdump(msgb_data(msg) + rtp_hdr_len, msgb_length(msg) - rtp_hdr_len)); + + /* Forward RTP data to IP */ + conn_dst = llist_first_entry(&endp->conns, struct mgcp_conn, entry); + if (!conn_dst) { + LOGPENDP(endp, DE1, LOGL_DEBUG, + "E1-I.460-RX: unable to forward RTP audio data from E1: no connection to forward an incoming RTP packet to\n"); + goto skip; + } + OSMO_ASSERT(conn_dst->type == MGCP_CONN_TYPE_RTP); + + mgcp_send(endp, 1, NULL, msg, &conn_dst->u.rtp, &conn_dst->u.rtp); + + msgb_free(msg); + return; +skip: + rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_RX_FAIL_CTR]); + msgb_free(msg); + return; +} + +/* Function to handle outgoing E1 traffic */ +static void e1_send(struct e1inp_ts *ts, struct mgcp_trunk *trunk) +{ + struct msgb *msg = msgb_alloc(E1_TS_BYTES, "E1-TX-timeslot-bytes"); + uint8_t *ptr; + + /* Get E1 frame from I.460 multiplexer */ + ptr = msgb_put(msg, E1_TS_BYTES); + osmo_i460_mux_out(&trunk->e1.i460_ts[ts->num - 1], ptr, E1_TS_BYTES); + +#if DEBUG_E1_TS == 1 + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1-TX: (ts:%u) sending %u bytes: %s...\n", ts->num, msgb_length(msg), + osmo_hexdump_nospc(msgb_data(msg), + msgb_length(msg) > DEBUG_BYTES_MAX ? DEBUG_BYTES_MAX : msgb_length(msg))); +#endif + /* Hand data over to the E1 stack */ + msgb_enqueue(&ts->raw.tx_queue, msg); + return; +} + +/* Callback function to handle incoming E1 traffic */ +static void e1_recv_cb(struct e1inp_ts *ts, struct msgb *msg) +{ + struct mgcp_trunk *trunk; + + /* Find associated trunk */ + trunk = mgcp_trunk_by_line_num(cfg, ts->line->num); + if (!trunk) { + LOGP(DE1, LOGL_DEBUG, "E1-RX: unable to find a trunk for E1-line %u!\n", ts->line->num); + return; + } + + /* Check if the incoming data looks sane */ + if (msgb_length(msg) != E1_TS_BYTES) { + LOGPTRUNK(trunk, DE1, LOGL_NOTICE, + "E1-RX: (ts:%u) expected length is %u, actual length is %u!\n", ts->num, E1_TS_BYTES, + msgb_length(msg)); + } +#if DEBUG_E1_TS == 1 + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1-RX: (ts:%u) receiving %u bytes: %s...\n", ts->num, + msgb_length(msg), osmo_hexdump_nospc(msgb_data(msg), + msgb_length(msg) > + DEBUG_BYTES_MAX ? DEBUG_BYTES_MAX : msgb_length(msg))); +#endif + + /* Hand data over to the I.460 demultiplexer. */ + osmo_i460_demux_in(&trunk->e1.i460_ts[ts->num - 1], msgb_data(msg), msgb_length(msg)); + + /* Trigger sending of pending E1 traffic */ + e1_send(ts, trunk); +} + +/*! Find an endpoint by its name on a specified trunk. + * \param[in] trunk trunk configuration. + * \param[in] ts_nr E1 timeslot number. + * \returns -EINVAL on failure, 0 on success. */ +int mgcp_e1_init(struct mgcp_trunk *trunk, uint8_t ts_nr) +{ + /*! Each timeslot needs only to be configured once. The Timeslot then + * stays open and permanently receives data. It is then up to the + * I.460 demultiplexer to add/remove subchannels as needed. It is + * allowed to call this function multiple times since we check if the + * timeslot is already configured. */ + + struct e1inp_line *e1_line; + int rc; + + OSMO_ASSERT(ts_nr > 0 || ts_nr < NUM_E1_TS); + cfg = trunk->cfg; + + if (trunk->e1.ts_in_use[ts_nr - 1]) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u already set up, skipping...\n", ts_nr); + return 0; + } + + /* Get E1 line */ + if (!trunk->e1.line) { + e1_line = e1inp_line_find(trunk->e1.vty_line_nr); + if (!e1_line) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", + trunk->e1.vty_line_nr); + return -EINVAL; + } + e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); + } else + e1_line = trunk->e1.line; + if (!e1_line) + return -EINVAL; + + /* Configure E1 timeslot */ + rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); + if (rc < 0) + return -EINVAL; + e1inp_line_update(e1_line); + if (rc < 0) + return -EINVAL; + + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u set up successfully.\n", ts_nr); + trunk->e1.ts_in_use[ts_nr - 1] = true; + + return 0; +} + +/* Determine a suitable TRAU frame type for a given codec */ +static enum osmo_trau_frame_type determine_trau_fr_type(char *sdp_subtype_name, enum osmo_i460_rate i460_rate, + uint8_t amr_ft, struct mgcp_endpoint *endp) +{ + if (strcmp(sdp_subtype_name, "GSM") == 0) + return OSMO_TRAU16_FT_FR; + else if (strcmp(sdp_subtype_name, "GSM-EFR") == 0) + return OSMO_TRAU16_FT_EFR; + else if (strcmp(sdp_subtype_name, "GSM-HR-08") == 0) + return OSMO_TRAU16_FT_HR; + else if (strcmp(sdp_subtype_name, "AMR") == 0) { + if (i460_rate == OSMO_I460_RATE_8k) { + switch (amr_ft) { + case AMR_4_75: + case AMR_5_15: + case AMR_5_90: + return OSMO_TRAU8_AMR_LOW; + case AMR_6_70: + return OSMO_TRAU8_AMR_6k7; + case AMR_7_40: + return OSMO_TRAU8_AMR_7k4; + default: + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-TRAU-TX: unsupported or illegal AMR frame type: %u\n", amr_ft); + return OSMO_TRAU_FT_NONE; + } + } + return OSMO_TRAU16_FT_AMR; + } else { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-TRAU-TX: unsupported or illegal codec subtype name: %s\n", + sdp_subtype_name); + return OSMO_TRAU_FT_NONE; + } +} + +/* Determine a suitable TRAU frame type for a given codec */ +static enum osmo_tray_sync_pat_id determine_trau_sync_pat(char *sdp_subtype_name, enum osmo_i460_rate i460_rate, + uint8_t amr_ft, struct mgcp_endpoint *endp) +{ + if (strcmp(sdp_subtype_name, "GSM") == 0) + return OSMO_TRAU_SYNCP_16_FR_EFR; + else if (strcmp(sdp_subtype_name, "GSM-EFR") == 0) + return OSMO_TRAU_SYNCP_16_FR_EFR; + else if (strcmp(sdp_subtype_name, "GSM-HR-08") == 0) + return OSMO_TRAU_SYNCP_8_HR; + else if (strcmp(sdp_subtype_name, "AMR") == 0) { + if (i460_rate == OSMO_I460_RATE_8k) { + switch (amr_ft) { + case AMR_4_75: + case AMR_5_15: + case AMR_5_90: + return OSMO_TRAU_SYNCP_8_AMR_LOW; + case AMR_6_70: + return OSMO_TRAU_SYNCP_8_AMR_6K7; + case AMR_7_40: + return OSMO_TRAU_SYNCP_8_AMR_7K4; + default: + LOGPENDP(endp, DE1, LOGL_ERROR, + "E1-TRAU-TX: unsupported or illegal AMR frame type: %u\n", amr_ft); + return OSMO_TRAU_SYNCP_16_FR_EFR; + } + } + return OSMO_TRAU_SYNCP_16_FR_EFR; + } else { + LOGPENDP(endp, DE1, LOGL_ERROR, "E1-TRAU-TX: unsupported or illegal codec subtype name: %s\n", + sdp_subtype_name); + return OSMO_TRAU_SYNCP_16_FR_EFR; + } +} + +/* Find out if a given TRAU frame type is AMR */ +static bool tf_type_is_amr(enum osmo_trau_frame_type ft) +{ + + switch (ft) { + case OSMO_TRAU16_FT_AMR: + case OSMO_TRAU8_AMR_LOW: + case OSMO_TRAU8_AMR_6k7: + case OSMO_TRAU8_AMR_7k4: + return true; + default: + return false; + } +} + +/* !Equip E1 endpoint with I.460 mux resources. + * \param[in] endp endpoint to equip + * \param[in] ts E1 timeslot number. + * \param[in] ss E1 subslot number. + * \param[in] offset E1 bit offset. + * \returns 0 on success, -EINVAL on error. */ +int mgcp_e1_endp_equip(struct mgcp_endpoint *endp, uint8_t ts, uint8_t ss, uint8_t offs) +{ + int rc; + enum osmo_tray_sync_pat_id sync_pat_id = OSMO_TRAU_SYNCP_16_FR_EFR; + + OSMO_ASSERT(ts != 0); + OSMO_ASSERT(ts != 0xFF); + OSMO_ASSERT(ss != 0xFF); + OSMO_ASSERT(offs != 0xFF); + + memset(&endp->e1, 0, sizeof(endp->e1)); + + endp->e1.last_amr_ft = AMR_4_75; + + /* Set up E1 line / timeslot */ + rc = mgcp_e1_init(endp->trunk, ts); + if (rc != 0) + return -EINVAL; + + /* Set up I.460 mux */ + switch (e1_rates[ss]) { + case 64: + endp->e1.scd.rate = OSMO_I460_RATE_64k; + endp->e1.scd.demux.num_bits = 160 * 8; + break; + case 32: + endp->e1.scd.rate = OSMO_I460_RATE_32k; + endp->e1.scd.demux.num_bits = 80 * 8; + break; + case 16: + endp->e1.scd.rate = OSMO_I460_RATE_16k; + endp->e1.scd.demux.num_bits = 40 * 8; + sync_pat_id = OSMO_TRAU_SYNCP_16_FR_EFR; + break; + case 8: + endp->e1.scd.rate = OSMO_I460_RATE_8k; + endp->e1.scd.demux.num_bits = 20 * 8; + sync_pat_id = OSMO_TRAU_SYNCP_8_HR; + break; + } + endp->e1.scd.bit_offset = offs; + endp->e1.scd.demux.out_cb_bits = e1_i460_demux_bits_cb; + endp->e1.scd.demux.out_cb_bytes = NULL; + endp->e1.scd.demux.user_data = endp; + endp->e1.scd.mux.in_cb_queue_empty = e1_i460_mux_empty_cb; + endp->e1.scd.mux.user_data = endp; + + LOGPENDP(endp, DE1, LOGL_DEBUG, "adding I.460 subchannel: ts=%u, bit_offset=%u, rate=%uk, num_bits=%lu\n", ts, + offs, e1_rates[ss], endp->e1.scd.demux.num_bits); + endp->e1.schan = osmo_i460_subchan_add(endp, &endp->trunk->e1.i460_ts[ts - 1], &endp->e1.scd); + if (!endp->e1.schan) { + LOGPENDP(endp, DE1, LOGL_ERROR, "adding I.460 subchannel: failed!\n"); + return -EINVAL; + } + + if (endp->e1.scd.rate == OSMO_I460_RATE_16k || endp->e1.scd.rate == OSMO_I460_RATE_8k) { + /* TRAU frames are only specified for 16k and 8k subslots. For all other subslot + * types the concept of TRAU frames does not apply. However, at the moment this + * is the only format we currently support in osmo-mgw */ + endp->e1.trau_sync_fi = osmo_trau_sync_alloc(endp, "trau-sync", sync_frame_out_cb, sync_pat_id, endp); + if (!endp->e1.trau_sync_fi) { + LOGPENDP(endp, DE1, LOGL_ERROR, "adding I.460 TRAU frame sync: failed!\n"); + return -EINVAL; + } + endp->e1.trau_rtp_st = talloc_zero(endp->e1.trau_sync_fi, struct osmo_trau2rtp_state); + endp->e1.trau_rtp_st->type = OSMO_TRAU_FT_NONE; + } else { + LOGPENDP(endp, DE1, LOGL_ERROR, + "osmo-mgw currently only supports 16K and 8K subslots (TRAU frames)!\n"); + return -EINVAL; + } + + return 0; +} + +/*! Update E1 related parameters (codec and sync pattern). + * \param[in] endp endpoint to update. */ +void mgcp_e1_endp_update(struct mgcp_endpoint *endp) +{ + struct mgcp_conn *conn; + struct mgcp_rtp_codec *codec; + enum osmo_tray_sync_pat_id sync_pat_id; + + /* In order to determine the codec, find the oldest connection on + * the endpoint and use its codec information. Normally on an E1 + * endpoint no more than one connection should exist. */ + conn = mgcp_conn_get_oldest(endp); + OSMO_ASSERT(conn); + codec = conn->u.rtp.end.codec; + OSMO_ASSERT(codec); + + /* Update codec information */ + endp->e1.trau_rtp_st->type = + determine_trau_fr_type(codec->subtype_name, endp->e1.scd.rate, endp->e1.last_amr_ft, endp); + endp->e1.last_codec = codec; + + /* Update sync pattern */ + sync_pat_id = determine_trau_sync_pat(codec->subtype_name, endp->e1.scd.rate, endp->e1.last_amr_ft, endp); + osmo_trau_sync_set_pat(endp->e1.trau_sync_fi, sync_pat_id); +} + +/*! Remove E1 resources from endpoint + * \param[in] endp endpoint to release. */ +void mgcp_e1_endp_release(struct mgcp_endpoint *endp) +{ + LOGPENDP(endp, DE1, LOGL_DEBUG, "removing I.460 subchannel and sync...\n"); + + if (endp->e1.schan) + osmo_i460_subchan_del(endp->e1.schan); + if (endp->e1.trau_rtp_st) + talloc_free(endp->e1.trau_rtp_st); + if (endp->e1.trau_sync_fi) + osmo_fsm_inst_term(endp->e1.trau_sync_fi, OSMO_FSM_TERM_REGULAR, NULL); + + memset(&endp->e1, 0, sizeof(endp->e1)); +} + +/*! Accept RTP message buffer with RTP data and enqueue voice data for E1 transmit. + * \param[in] endp related endpoint (does not take ownership). + * \param[in] codec configuration. + * \param[in] msg RTP message buffer (including RTP header). + * \returns 0 on success, -1 on ERROR. */ +int mgcp_e1_send_rtp(struct mgcp_endpoint *endp, struct mgcp_rtp_codec *codec, struct msgb *msg) +{ + struct msgb *msg_tf = msgb_alloc(E1_TRAU_BITS_MSGB, "E1-I.460-TX-TRAU-frame"); + struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.e1_stats; + unsigned int rtp_hdr_len = sizeof(struct rtp_hdr); + struct osmo_trau_frame tf; + uint8_t amr_ft; + int rc; + + /* Extract AMR frame type from AMR head (if AMR is used) */ + if (tf_type_is_amr(endp->e1.trau_rtp_st->type)) + amr_ft = (msgb_data(msg)[rtp_hdr_len + 1] >> 3) & 0xf; + else + amr_ft = 0xff; + + /* Adapt TRAU frame type on codec changes */ + OSMO_ASSERT(endp->e1.last_codec); + if (codec != endp->e1.last_codec || (amr_ft != 0xff && amr_ft != endp->e1.last_amr_ft)) { + endp->e1.trau_rtp_st->type = + determine_trau_fr_type(codec->subtype_name, endp->e1.scd.rate, amr_ft, endp); + endp->e1.last_codec = codec; + endp->e1.last_amr_ft = amr_ft; + } + if (endp->e1.trau_rtp_st->type == OSMO_TRAU_FT_NONE) + goto skip; + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-TX: using trau frame type for encoding: %s\n", + osmo_trau_frame_type_name(endp->e1.trau_rtp_st->type)); + + /* Convert from RTP to TRAU format */ + msg->l2h = msgb_data(msg) + rtp_hdr_len; + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-TX: decoding %u bytes of RTP audio to TRAU format: %s\n", + msgb_length(msg), osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); + memset(&tf, 0, sizeof(tf)); + tf.dir = OSMO_TRAU_DIR_DL; + rc = osmo_rtp2trau(&tf, msgb_l2(msg), msgb_l2len(msg), endp->e1.trau_rtp_st); + if (rc < 0) { + LOGPENDP(endp, DE1, LOGL_DEBUG, + "E1-I.460-TX: failed to decode from RTP payload format to TRAU format\n"); + goto skip; + } + rc = osmo_trau_frame_encode(msgb_data(msg_tf), msg_tf->data_len, &tf); + if (rc < 0) { + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-TX: failed to encode TRAU frame\n"); + goto skip; + } + msgb_put(msg_tf, rc); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-TX: enquing %u trau frame bits: %s...\n", msgb_length(msg_tf), + osmo_ubit_dump(msgb_data(msg_tf), + msgb_length(msg_tf) > DEBUG_BITS_MAX ? DEBUG_BITS_MAX : msgb_length(msg_tf))); + + /* Enqueue data to I.460 multiplexer */ + OSMO_ASSERT(endp->e1.schan); + OSMO_ASSERT(endp->e1.trau_sync_fi); + + osmo_i460_mux_enqueue(endp->e1.schan, msg_tf); + LOGPENDP(endp, DE1, LOGL_DEBUG, "E1-I.460-TX: %u bits of audio enqued for E1 tx\n", msgb_length(msg_tf)); + + return 0; +skip: + rate_ctr_inc(&rate_ctrs->ctr[E1_I460_TRAU_TX_FAIL_CTR]); + msgb_free(msg_tf); + return -1; +} diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 5d9ec27..f0ad0a7 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -25,33 +25,12 @@ #include #include +#include + #define E1_TIMESLOTS 32 #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 -/* A 64k timeslot on an E1 line can be subdevied into the following - * subslot combinations: - * - * subslot: offset: - * [ ][ ][ 16k ][8k_subslot] 0 - * [ ][ 32k ][_subslot__][8k_subslot] 1 - * [ ][ subslot ][ 16k ][8k_subslot] 2 - * [ 64k ][__________][_subslot__][8k_subslot] 3 - * [ timeslot ][ ][ 16k ][8k_subslot] 4 - * [ ][ 32K ][_subslot__][8k_subslot] 5 - * [ ][ subslot ][ 16k ][8k_subslot] 6 - * [ ][ ][ subslot ][8k_subslot] 7 - * - * Since overlapping assignment of subslots is not possible there is a limited - * set of subslot assignments possible. The e1_rates array lists the possible - * assignments as depicted above. Also each subslot assignment comes along with - * a bit offset in the E1 bitstream. The e1_offsets arrays lists the bit - * offsets. */ -static const uint8_t e1_rates[] = - { 64, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8 }; -static const uint8_t e1_offsets[] = - { 0, 0, 4, 0, 2, 4, 6, 0, 1, 2, 3, 4, 5, 6, 7 }; - /* Endpoint typeset definition */ const struct mgcp_endpoint_typeset ep_typeset = { /* Specify endpoint properties for RTP endpoint */ @@ -116,7 +95,7 @@ endp->name = gen_virtual_epname(endp, trunk->cfg->domain, index); break; case MGCP_TRUNK_E1: - endp->type = &ep_typeset.rtp; + endp->type = &ep_typeset.e1; endp->name = gen_e1_epname(endp, trunk->cfg->domain, trunk->trunk_nr, index / MGCP_ENDP_E1_SUBSLOTS, index % MGCP_ENDP_E1_SUBSLOTS); @@ -149,6 +128,9 @@ talloc_free(endp->local_options.codec); endp->local_options.codec = NULL; endp->wildcarded_req = false; + + if (endp->trunk->trunk_type == MGCP_TRUNK_E1) + mgcp_e1_endp_release(endp); } /* Check if the endpoint name contains the prefix (e.g. "rtpbridge/" or @@ -614,3 +596,71 @@ return false; } + +/*! claim endpoint, sets callid and activates endpoint, should be called at the + * beginning of the CRCX procedure when it is clear that a new call should be + * created. + * \param[in] endp endpoint to claim. + * \param[in] callid that is assingned to this endpoint. */ +int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid) +{ + int rc = 0; + uint8_t ts; + uint8_t ss; + uint8_t offs; + + /* TODO: Make this function more intelligent, it should run the + * call id checks we currently have in protocol.c directly here. */ + + /* Set the callid, creation of another connection will only be possible + * when the callid matches up. (Connections are distinguished by their + * connection ids) */ + endp->callid = talloc_strdup(endp, callid); + OSMO_ASSERT(endp->callid); + + /* Allocate resources */ + switch (endp->trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + /* No additional initaliziation required here, virtual + * endpoints will open/close network sockets themselves + * on demand. */ + break; + case MGCP_TRUNK_E1: + ts = e1_ts_nr_from_epname(endp->name); + ss = e1_ss_nr_from_epname(endp->name); + offs = e1_offs_from_epname(endp->name); + OSMO_ASSERT(ts != 0xFF); + OSMO_ASSERT(ts != 0); + OSMO_ASSERT(ss != 0xFF); + OSMO_ASSERT(offs != 0xFF); + rc = mgcp_e1_endp_equip(endp, ts, ss, offs); + break; + default: + OSMO_ASSERT(false); + } + + /* Make sure the endpoint is released when claiming the endpoint + * failes. */ + if (rc < 0) + mgcp_endp_release(endp); + + return rc; +} + +/*! update endpoint, updates internal endpoint specific data, should be + * after when MDCX or CRCX has been executed successuflly. + * \param[in] endp endpoint to update. */ +void mgcp_endp_update(struct mgcp_endpoint *endp) +{ + /* Allocate resources */ + switch (endp->trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + /* No updating initaliziation required for virtual endpoints. */ + break; + case MGCP_TRUNK_E1: + mgcp_e1_endp_update(endp); + break; + default: + OSMO_ASSERT(false); + } +} diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 155ed20..e0aa42e 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -46,12 +46,11 @@ #include #include #include - +#include #define RTP_SEQ_MOD (1 << 16) #define RTP_MAX_DROPOUT 3000 #define RTP_MAX_MISORDER 100 -#define RTP_BUF_SIZE 4096 enum rtp_proto { MGCP_PROTO_RTP, @@ -798,6 +797,23 @@ "Forwarding tapped (debug) voice data failed.\n"); } +/* Generate an RTP header if it is missing */ +static void gen_rtp_header(struct msgb *msg, struct mgcp_rtp_end *rtp_end, + struct mgcp_rtp_state *state) +{ + struct rtp_hdr *hdr = (struct rtp_hdr *)msgb_data(msg); + + if (hdr->version > 0) + return; + + hdr->version = 2; + hdr->payload_type = rtp_end->codec->payload_type; + hdr->timestamp = osmo_htonl(get_current_ts(rtp_end->codec->rate)); + hdr->sequence = osmo_htons(state->alt_rtp_tx_sequence); + hdr->ssrc = state->alt_rtp_tx_ssrc; +} + + /*! Send RTP/RTCP data to a specified destination connection. * \param[in] endp associated endpoint (for configuration, logging). * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. @@ -857,6 +873,11 @@ rtp_state = &conn_src->state; dest_name = conn_dst->conn->name; + /* Ensure we have an alternative SSRC in case we need it, see also + * gen_rtp_header() */ + if (rtp_state->alt_rtp_tx_ssrc == 0) + rtp_state->alt_rtp_tx_ssrc = rand(); + if (!rtp_end->output_enabled) { rtpconn_rate_ctr_inc(conn_dst, endp, RTP_DROPPED_PACKETS_CTR); LOGPENDP(endp, DRTP, LOGL_DEBUG, @@ -870,6 +891,11 @@ int cont; int nbytes = 0; int buflen = msgb_length(msg); + + /* Make sure we have a valid RTP header, in cases where no RTP + * header is present, we will generate one. */ + gen_rtp_header(msg, rtp_end, rtp_state); + do { /* Run transcoder */ cont = endp->cfg->rtp_processing_cb(endp, rtp_end, @@ -938,6 +964,7 @@ rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; nbytes += len; buflen = cont; @@ -956,6 +983,7 @@ rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; return len; } @@ -1236,12 +1264,24 @@ struct osmo_rtp_msg_ctx *mc = OSMO_RTP_MSG_CTX(msg); struct mgcp_conn_rtp *conn_src = mc->conn_src; struct mgcp_conn *conn = conn_src->conn; + struct sockaddr_in *from_addr = mc->from_addr; - /* FIXME: integrate E1 support from libsomoabis, also implement - * handling for RTCP packets, which can not converted to E1. */ - LOGPCONN(conn, DRTP, LOGL_FATAL, - "cannot dispatch! E1 support is not implemented yet!\n"); - return -1; + /* Check if the connection is in loopback mode, if yes, just send the + * incoming data back to the origin */ + if (conn->mode == MGCP_CONN_LOOPBACK) { + /* When we are in loopback mode, we loop back all incoming + * packets back to their origin. We will use the originating + * address data from the UDP packet header to patch the + * outgoing address in connection on the fly */ + if (conn->u.rtp.end.rtp_port == 0) { + conn->u.rtp.end.addr = from_addr->sin_addr; + conn->u.rtp.end.rtp_port = from_addr->sin_port; + } + return mgcp_send_rtp(conn_src, msg); + } + + /* Forward to E1 */ + return mgcp_e1_send_rtp(conn->endp, conn->u.rtp.end.codec, msg); } /*! cleanup an endpoint when a connection on an RTP bridge endpoint is removed. @@ -1267,8 +1307,9 @@ * \param[in] conn Connection that is about to be removed (ignored). */ void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn) { - LOGPCONN(conn, DRTP, LOGL_FATAL, - "cannot dispatch! E1 support is not implemented yet!\n"); + /* Cleanup tasks for E1 are the same as for regular endpoint. The + * shut down of the E1 part is handled separately. */ + mgcp_cleanup_rtp_bridge_cb(endp, conn); } static bool is_dummy_msg(enum rtp_proto proto, struct msgb *msg) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index bc96462..2a6581e 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -849,10 +849,16 @@ } } - /* Set the callid, creation of another connection will only be possible - * when the callid matches up. (Connections are distinguished by their - * connection ids) */ - endp->callid = talloc_strdup(trunk->endpoints, callid); + if (!endp->callid) { + /* Claim endpoint resources. This will also set the callid, + * creating additional connections will only be possible if + * the callid matches up (see above). */ + rc = mgcp_endp_claim(endp, callid); + if (rc != 0) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_CLAIM]); + return create_err_response(endp, 502, "CRCX", p->trans); + } + } snprintf(conn_name, sizeof(conn_name), "%s", callid); _conn = mgcp_conn_alloc(trunk->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); @@ -863,6 +869,7 @@ goto error2; } + conn = mgcp_conn_get_rtp(endp, _conn->id); OSMO_ASSERT(conn); @@ -979,6 +986,7 @@ LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: connection successfully created\n"); rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_SUCCESS]); + mgcp_endp_update(endp); return create_response_with_sdp(endp, conn, "CRCX", p->trans, true); error2: mgcp_endp_release(endp); @@ -1206,6 +1214,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: connection successfully modified\n"); + mgcp_endp_update(endp); return create_response_with_sdp(endp, conn, "MDCX", p->trans, false); error3: return create_err_response(endp, error_code, "MDCX", p->trans); diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 1a89c83..aacdd85 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -64,6 +64,7 @@ [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = { "crcx:codec_nego", "codec negotiation failure." }, [MGCP_CRCX_FAIL_BIND_PORT] = { "crcx:bind_port", "port bind failure." }, [MGCP_CRCX_FAIL_AVAIL] = { "crcx:unavailable", "endpoint unavailable." }, + [MGCP_CRCX_FAIL_CLAIM] = { "crcx:claim", "endpoint can not be claimed." }, }; const static struct rate_ctr_group_desc mgcp_crcx_ctr_group_desc = { @@ -124,6 +125,20 @@ .ctr_desc = mgcp_dlcx_ctr_desc }; +static const struct rate_ctr_desc e1_rate_ctr_desc[] = { + [E1_I460_TRAU_RX_FAIL_CTR] = {"e1:rx_fail", "Inbound I.460 TRAU failures."}, + [E1_I460_TRAU_TX_FAIL_CTR] = {"e1:tx_fail", "Outbound I.460 TRAU failures."}, + [E1_I460_TRAU_MUX_EMPTY_CTR] = {"e1:i460", "Outbound I.460 MUX queue empty."} +}; + +const static struct rate_ctr_group_desc e1_rate_ctr_group_desc = { + .group_name_prefix = "e1", + .group_description = "e1 statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(e1_rate_ctr_desc), + .ctr_desc = e1_rate_ctr_desc +}; + const static struct rate_ctr_group_desc all_rtp_conn_rate_ctr_group_desc = { .group_name_prefix = "all_rtp_conn", .group_description = "aggregated statistics for all rtp connections", @@ -203,5 +218,12 @@ talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); all_rtp_conn_rate_ctr_index++; } + if (ratectr->e1_stats == NULL) { + ratectr->e1_stats = rate_ctr_group_alloc(ctx, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); + if (!ratectr->e1_stats) + return -EINVAL; + talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); + mdcx_rate_ctr_index++; + } return 0; } diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 0d7b385..dfedc4b 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include /*! allocate trunk and add it (if required) to the trunk list. * (called once at startup by VTY). @@ -47,7 +49,7 @@ trunk->audio_send_ptime = 1; trunk->audio_send_name = 1; - trunk->vty_number_endpoints = 32; + trunk->v.vty_number_endpoints = 32; trunk->omit_rtcp = 0; mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); @@ -81,13 +83,13 @@ /* Due to historical reasons the endpoints on the virtual * trunk start counting at 1. */ first_endpoint_nr = 1; - number_endpoints = trunk->vty_number_endpoints; + number_endpoints = trunk->v.vty_number_endpoints; break; case MGCP_TRUNK_E1: /* The first timeslot on an E1 line is reserved for framing * and alignment and can not be used for audio transport */ first_endpoint_nr = 1 * MGCP_ENDP_E1_SUBSLOTS; - number_endpoints = 31 * MGCP_ENDP_E1_SUBSLOTS; + number_endpoints = (NUM_E1_TS-1) * MGCP_ENDP_E1_SUBSLOTS; break; default: OSMO_ASSERT(false); @@ -122,6 +124,41 @@ return 0; } +/*! Equip trunk with endpoints and resources + * (called once at startup by VTY). + * \param[in] trunk trunk configuration. + * \returns 0 on success, -1 on failure. */ +int mgcp_trunk_equip(struct mgcp_trunk *trunk) +{ + unsigned int i; + + /* Allocate endpoints */ + if(mgcp_trunk_alloc_endpts(trunk) != 0) + return -1; + + /* Allocate resources */ + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + /* No additional initaliziation required here, virtual + * endpoints will open/close network sockets themselves + * on demand. */ + break; + case MGCP_TRUNK_E1: + /* The TS initalization happens once on startup for all + * timeslots. This only affects the i460 multiplexer. Until + * now no E1 resources are claimed yet. This happens on demand + * when the related endpoint is actually used */ + memset(trunk->e1.i460_ts, 0, sizeof(trunk->e1.i460_ts)); + for (i = 0; i < (NUM_E1_TS-1); i++) + osmo_i460_ts_init(&trunk->e1.i460_ts[i]); + break; + default: + OSMO_ASSERT(false); + } + + return 0; +} + /*! get trunk configuration by trunk number (index). * \param[in] cfg mgcp configuration. * \param[in] ttype trunk type. @@ -199,3 +236,19 @@ LOGP(DLMGCP, LOGL_ERROR, "unable to find trunk for endpoint name \"%s\"!\n", epname); return NULL; } + +/*! Find a trunk (E1) by its associated E1 line number. + * \param[in] num e1 line number. + * \returns trunk or NULL if trunk was not found. */ +struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num) +{ + /*! When used on trunks other than E1, the result will always be NULL. */ + struct mgcp_trunk *trunk; + + llist_for_each_entry(trunk, &cfg->trunks, entry) { + if (trunk->trunk_type == MGCP_TRUNK_E1 && trunk->e1.vty_line_nr == num) + return trunk; + } + + return NULL; +} diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 35b75fb..b8ec241 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -112,7 +112,7 @@ trunk->audio_send_name ? "" : "no ", VTY_NEWLINE); vty_out(vty, " loop %u%s", ! !trunk->audio_loop, VTY_NEWLINE); vty_out(vty, " number endpoints %u%s", - trunk->vty_number_endpoints, VTY_NEWLINE); + trunk->v.vty_number_endpoints, VTY_NEWLINE); vty_out(vty, " %sallow-transcoding%s", trunk->no_audio_transcoding ? "no " : "", VTY_NEWLINE); if (g_cfg->call_agent_addr) @@ -243,8 +243,10 @@ } } -static void dump_ratectr_trunk(struct vty *vty, struct mgcp_ratectr_trunk *ratectr) +static void dump_ratectr_trunk(struct vty *vty, struct mgcp_trunk *trunk) { + struct mgcp_ratectr_trunk *ratectr = &trunk->ratectr; + vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, "Rate counters (trunk):%s", VTY_NEWLINE); @@ -280,6 +282,15 @@ " %25n: %10c (%S/s %M/m %H/h %D/d) %d", ratectr->all_rtp_conn_stats); } + + if (ratectr->e1_stats && trunk->trunk_type == MGCP_TRUNK_E1) { + vty_out(vty, " %s:%s", + ratectr->e1_stats->desc->group_description, + VTY_NEWLINE); + vty_out_rate_ctr_group_fmt(vty, + " %25n: %10c (%S/s %M/m %H/h %D/d) %d", + ratectr->e1_stats); + } } @@ -305,7 +316,7 @@ } if (show_stats) - dump_ratectr_trunk(vty, &trunk->ratectr); + dump_ratectr_trunk(vty, trunk); } #define SHOW_MGCP_STR "Display information about the MGCP Media Gateway\n" @@ -715,7 +726,7 @@ { struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); OSMO_ASSERT(trunk); - trunk->vty_number_endpoints = atoi(argv[0]); + trunk->v.vty_number_endpoints = atoi(argv[0]); return CMD_SUCCESS; } @@ -894,6 +905,7 @@ continue; vty_out(vty, " trunk %d%s", trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, " line %u%s", trunk->e1.vty_line_nr, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-name%s", @@ -1159,6 +1171,19 @@ return CMD_SUCCESS; } +#define LINE_STR "Configure trunk for given Line\nE1/T1 Line Number\n" + +DEFUN(cfg_trunk_line, + cfg_trunk_line_cmd, + "line <0-255>", + LINE_STR) +{ + struct mgcp_trunk *trunk = vty->index; + int line_nr = atoi(argv[0]); + trunk->e1.vty_line_nr = line_nr; + return CMD_SUCCESS; +} + DEFUN(loop_conn, loop_conn_cmd, "loop-endpoint <0-64> NAME (0|1)", @@ -1549,6 +1574,7 @@ install_element(TRUNK_NODE, &cfg_trunk_no_sdp_payload_send_name_cmd); install_element(TRUNK_NODE, &cfg_trunk_allow_transcoding_cmd); install_element(TRUNK_NODE, &cfg_trunk_no_allow_transcoding_cmd); + install_element(TRUNK_NODE, &cfg_trunk_line_cmd); return 0; } @@ -1577,7 +1603,7 @@ } llist_for_each_entry(trunk, &g_cfg->trunks, entry) { - if (mgcp_trunk_alloc_endpts(trunk) != 0) { + if (mgcp_trunk_equip(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, "Failed to initialize trunk %d (%d endpoints)\n", trunk->trunk_nr, trunk->number_endpoints); diff --git a/src/osmo-mgw/Makefile.am b/src/osmo-mgw/Makefile.am index d38df9f..928390b 100644 --- a/src/osmo-mgw/Makefile.am +++ b/src/osmo-mgw/Makefile.am @@ -11,6 +11,8 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -29,4 +31,6 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ $(LIBOSMONETIF_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(NULL) diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 6ca1800..036e0c0 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include @@ -58,6 +60,7 @@ #include #include #include +#include #include "../../bscconfig.h" @@ -268,7 +271,13 @@ .description = "RTP stream handling", .color = "\033[1;30m", .enabled = 1,.loglevel = LOGL_NOTICE, - }, + }, + [DE1] = { + .name = "DE1", + .description = "E1 line handling", + .color = "\033[1;31m", + .enabled = 1,.loglevel = LOGL_NOTICE, + }, }; const struct log_info log_info = { @@ -288,6 +297,7 @@ osmo_init_ignore_signals(); osmo_init_logging2(tall_bsc_ctx, &log_info); + libosmo_abis_init(tall_bsc_ctx); cfg = mgcp_config_alloc(); if (!cfg) @@ -300,6 +310,7 @@ osmo_stats_vty_add_cmds(); mgcp_vty_init(); ctrl_vty_init(cfg); + e1inp_vty_init(); handle_options(argc, argv); diff --git a/tests/mgcp/Makefile.am b/tests/mgcp/Makefile.am index 95444b5..1224c0a 100644 --- a/tests/mgcp/Makefile.am +++ b/tests/mgcp/Makefile.am @@ -11,6 +11,8 @@ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOTRAU_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -35,6 +37,8 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOTRAU_LIBS) \ $(LIBRARY_DL) \ $(LIBRARY_DLSYM) \ $(LIBOSMONETIF_LIBS) \ diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 458f6c9..a050a0b 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -771,8 +771,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -908,8 +908,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -973,8 +973,8 @@ trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); cfg->rqnt_cb = rqnt_cb; - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -1050,7 +1050,7 @@ endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk.vty_number_endpoints = 1; + trunk.v.vty_number_endpoints = 1; trunk.endpoints = endpoints; trunk.endpoints[0] = &endp; endp.trunk = &trunk; @@ -1301,7 +1301,7 @@ endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk.vty_number_endpoints = 1; + trunk.v.vty_number_endpoints = 1; trunk.endpoints = endpoints; trunk.endpoints[0] = &endp; trunk.force_constant_ssrc = patch_ssrc; @@ -1382,8 +1382,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; /* Allocate endpoint 1 at mgw with two codecs */ @@ -1531,8 +1531,8 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(trunk); + trunk->v.vty_number_endpoints = 64; + mgcp_trunk_equip(trunk); endp = mgcp_endp_by_name(NULL, "rtpbridge/1 at mgw", cfg); OSMO_ASSERT(endp); @@ -1581,9 +1581,9 @@ cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - trunk->vty_number_endpoints = 64; + trunk->v.vty_number_endpoints = 64; trunk->audio_send_name = 0; - mgcp_trunk_alloc_endpts(trunk); + mgcp_trunk_equip(trunk); cfg->policy_cb = mgcp_test_policy_cb; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6b93809b5ac7d01af55888347dd787b0bc997ae1 Gerrit-Change-Number: 19524 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:00:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:00:22 +0000 Subject: Change in osmo-mgw[master]: get rid of mgcp_internal.h In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19525 ) Change subject: get rid of mgcp_internal.h ...................................................................... get rid of mgcp_internal.h The file mgcp_internal.h still contains mostly definitions and types that are relevant for mgcp_network.c and mgcp_protocol.c. Lets give the network and protocol module its own header files, also move stuff that does not relate to protocol and network to the appropiate places. Change-Id: I837eaad771ed7252304db4a81c37953b70766fff --- M include/Makefile.am M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_conn.h D include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_network.h A include/osmocom/mgcp/mgcp_protocol.h M include/osmocom/mgcp/mgcp_stat.h M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_e1.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c M src/libosmo-mgcp/mgcp_stat.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 23 files changed, 306 insertions(+), 331 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/Makefile.am b/include/Makefile.am index fbbd08d..457ac3f 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -8,7 +8,6 @@ osmocom/mgcp_client/mgcp_client_fsm.h \ osmocom/mgcp/mgcp.h \ osmocom/mgcp/mgcp_common.h \ - osmocom/mgcp/mgcp_internal.h \ osmocom/mgcp/osmux.h \ $(NULL) diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index 549ba87..b94cdcd 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -11,4 +11,6 @@ debug.h \ mgcp_ratectr.h \ mgcp_e1.h \ + mgcp_network.h \ + mgcp_protocol.h \ $(NULL) diff --git a/include/osmocom/mgcp/mgcp_codec.h b/include/osmocom/mgcp/mgcp_codec.h index caeecb0..97650e4 100644 --- a/include/osmocom/mgcp/mgcp_codec.h +++ b/include/osmocom/mgcp/mgcp_codec.h @@ -1,5 +1,15 @@ #pragma once +#define DEFAULT_RTP_AUDIO_FRAME_DUR_NUM 20 +#define DEFAULT_RTP_AUDIO_FRAME_DUR_DEN 1000 +#define DEFAULT_RTP_AUDIO_PACKET_DURATION_MS 20 +#define DEFAULT_RTP_AUDIO_DEFAULT_RATE 8000 +#define DEFAULT_RTP_AUDIO_DEFAULT_CHANNELS 1 + +#define PTYPE_UNDEFINED (-1) + +struct mgcp_conn_rtp; + void mgcp_codec_summary(struct mgcp_conn_rtp *conn); void mgcp_codec_reset_all(struct mgcp_conn_rtp *conn); int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, const struct mgcp_codec_param *param); diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index 78d5ea8..4f882e9 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -23,7 +23,9 @@ #pragma once -#include +#include +#include +#include #include #include #include @@ -33,12 +35,67 @@ (conn)->id, \ ## args) +#define LOG_CONN(conn, level, fmt, args...) \ + LOGP(DRTP, level, "(%s I:%s) " fmt, \ + (conn)->endp ? (conn)->endp->name : "none", (conn)->id, ## args) + +#define LOG_CONN_RTP(conn_rtp, level, fmt, args...) \ + LOG_CONN((conn_rtp)->conn, level, fmt, ## args) + +/* Specific rtp connection type (see struct mgcp_conn_rtp) */ +enum mgcp_conn_rtp_type { + MGCP_RTP_DEFAULT = 0, + MGCP_OSMUX_BSC, + MGCP_OSMUX_BSC_NAT, +}; + /*! Connection type, specifies which member of the union "u" in mgcp_conn * contains a useful connection description (currently only RTP) */ enum mgcp_conn_type { MGCP_CONN_TYPE_RTP, }; +/* MGCP connection (RTP) */ +struct mgcp_conn_rtp { + + /* Backpointer to conn struct */ + struct mgcp_conn *conn; + + /* Specific connection type */ + enum mgcp_conn_rtp_type type; + + /* Port status */ + struct mgcp_rtp_end end; + + /* Sequence bits */ + struct mgcp_rtp_state state; + + /* taps for the rtp connection; one per direction */ + struct mgcp_rtp_tap tap_in; + struct mgcp_rtp_tap tap_out; + + /* Osmux states (optional) */ + struct { + /* Osmux state: disabled, activating, active */ + enum osmux_state state; + /* Is cid holding valid data? is it allocated from pool? */ + bool cid_allocated; + /* Allocated Osmux circuit ID for this conn */ + uint8_t cid; + /* handle to batch messages */ + struct osmux_in_handle *in; + /* handle to unbatch messages */ + struct osmux_out_handle out; + /* statistics */ + struct { + uint32_t chunks; + uint32_t octets; + } stats; + } osmux; + + struct rate_ctr_group *rate_ctr_group; +}; + /*! MGCP connection (untyped) */ struct mgcp_conn { /*! list head */ @@ -114,6 +171,11 @@ [RTP_NUM_CONNECTIONS] = {"all_rtp:num_closed_conns", "Total number of rtp connections closed."} }; +/* Was conn configured to handle Osmux? */ +static inline bool mgcp_conn_rtp_is_osmux(const struct mgcp_conn_rtp *conn) { + return conn->type == MGCP_OSMUX_BSC || conn->type == MGCP_OSMUX_BSC_NAT; +} + struct mgcp_conn *mgcp_conn_alloc(void *ctx, struct mgcp_endpoint *endp, enum mgcp_conn_type type, char *name); struct mgcp_conn *mgcp_conn_get(struct mgcp_endpoint *endp, const char *id); @@ -125,3 +187,4 @@ char *mgcp_conn_dump(struct mgcp_conn *conn); struct mgcp_conn *mgcp_find_dst_conn(struct mgcp_conn *conn); struct mgcp_conn *mgcp_conn_get_oldest(struct mgcp_endpoint *endp); +void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h deleted file mode 100644 index 86b2a57..0000000 --- a/include/osmocom/mgcp/mgcp_internal.h +++ /dev/null @@ -1,311 +0,0 @@ -/* MGCP Private Data */ - -/* - * (C) 2009-2012 by Holger Hans Peter Freyther - * (C) 2009-2012 by On-Waves - * 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 . - * - */ - -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#define CI_UNUSED 0 - -/* FIXME: This this is only needed to compile the currently - * broken OSMUX support. Remove when fixed */ -#define CONN_ID_BTS "0" -#define CONN_ID_NET "1" - -#define LOG_CONN(conn, level, fmt, args...) \ - LOGP(DRTP, level, "(%s I:%s) " fmt, \ - (conn)->endp ? (conn)->endp->name : "none", (conn)->id, ## args) - -#define LOG_CONN_RTP(conn_rtp, level, fmt, args...) \ - LOG_CONN((conn_rtp)->conn, level, fmt, ## args) - -struct mgcp_rtp_stream_state { - uint32_t ssrc; - uint16_t last_seq; - uint32_t last_timestamp; - struct rate_ctr *err_ts_ctr; - int32_t last_tsdelta; - uint32_t last_arrival_time; -}; - -struct mgcp_rtp_state { - /* has this state structure been initialized? */ - int initialized; - - struct { - /* are we patching the SSRC value? */ - int patch_ssrc; - /* original SSRC (to which we shall patch any different SSRC) */ - uint32_t orig_ssrc; - /* offset to apply on the sequence number */ - int seq_offset; - /* offset to apply on the timestamp number */ - int32_t timestamp_offset; - } patch; - - /* duration of a packet (FIXME: in which unit?) */ - uint32_t packet_duration; - - /* Note: These states are not continuously updated, they serve as an - * information source to patch certain values in the RTP header. Do - * not use this state if constantly updated data about the RTP stream - * is needed. (see also mgcp_patch_and_count() */ - struct mgcp_rtp_stream_state in_stream; - struct mgcp_rtp_stream_state out_stream; - - /* jitter and packet loss calculation */ - struct { - int initialized; - uint16_t base_seq; - uint16_t max_seq; - uint32_t ssrc; - uint32_t jitter; - int32_t transit; - int cycles; - } stats; - - /* Alternative values for RTP tx, in case no sufficient header - * information is available so the header needs to be generated - * locally (when just forwarding packets, the header of incoming - * data is just re-used) */ - uint16_t alt_rtp_tx_sequence; - uint32_t alt_rtp_tx_ssrc; - - bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ -}; - -struct mgcp_rtp_codec { - uint32_t rate; - int channels; - uint32_t frame_duration_num; - uint32_t frame_duration_den; - - int payload_type; - char *audio_name; - char *subtype_name; - - bool param_present; - struct mgcp_codec_param param; -}; - -/* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ -struct mgcp_rtp_end { - /* local IP address of the RTP socket */ - struct in_addr addr; - - /* in network byte order */ - int rtp_port, rtcp_port; - - /* currently selected audio codec */ - struct mgcp_rtp_codec *codec; - - /* array with assigned audio codecs to choose from (SDP) */ - struct mgcp_rtp_codec codecs[MGCP_MAX_CODECS]; - - /* number of assigned audio codecs (SDP) */ - unsigned int codecs_assigned; - - /* per endpoint data */ - int frames_per_packet; - uint32_t packet_duration_ms; - int maximum_packet_time; /* -1: not set */ - char *fmtp_extra; - /* are we transmitting packets (1) or dropping (0) outbound packets */ - int output_enabled; - /* FIXME: This parameter can be set + printed, but is nowhere used! */ - int force_output_ptime; - - /* RTP patching */ - int force_constant_ssrc; /* -1: always, 0: don't, 1: once */ - /* should we perform align_rtp_timestamp_offset() (1) or not (0) */ - int force_aligned_timing; - bool rfc5993_hr_convert; - - /* Each end has a separate socket for RTP and RTCP */ - struct osmo_fd rtp; - struct osmo_fd rtcp; - - /* local UDP port number of the RTP socket; RTCP is +1 */ - int local_port; -}; - -struct mgcp_rtp_tap { - /* is this tap active (1) or not (0) */ - int enabled; - /* IP/port to which we're forwarding the tapped data */ - struct sockaddr_in forward; -}; - -struct mgcp_lco { - char *string; - char *codec; - int pkt_period_min; /* time in ms */ - int pkt_period_max; /* time in ms */ -}; - -/* Specific rtp connection type (see struct mgcp_conn_rtp) */ -enum mgcp_conn_rtp_type { - MGCP_RTP_DEFAULT = 0, - MGCP_OSMUX_BSC, - MGCP_OSMUX_BSC_NAT, -}; - -#include - -/* MGCP connection (RTP) */ -struct mgcp_conn_rtp { - - /* Backpointer to conn struct */ - struct mgcp_conn *conn; - - /* Specific connection type */ - enum mgcp_conn_rtp_type type; - - /* Port status */ - struct mgcp_rtp_end end; - - /* Sequence bits */ - struct mgcp_rtp_state state; - - /* taps for the rtp connection; one per direction */ - struct mgcp_rtp_tap tap_in; - struct mgcp_rtp_tap tap_out; - - /* Osmux states (optional) */ - struct { - /* Osmux state: disabled, activating, active */ - enum osmux_state state; - /* Is cid holding valid data? is it allocated from pool? */ - bool cid_allocated; - /* Allocated Osmux circuit ID for this conn */ - uint8_t cid; - /* handle to batch messages */ - struct osmux_in_handle *in; - /* handle to unbatch messages */ - struct osmux_out_handle out; - /* statistics */ - struct { - uint32_t chunks; - uint32_t octets; - } stats; - } osmux; - - struct rate_ctr_group *rate_ctr_group; -}; - -#include - -/** - * Internal structure while parsing a request - */ -struct mgcp_parse_data { - struct mgcp_config *cfg; - struct mgcp_endpoint *endp; - char *trans; - char *save; -}; - -int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct sockaddr_in *addr, - struct msgb *msg, struct mgcp_conn_rtp *conn_src, - struct mgcp_conn_rtp *conn_dst); -int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn); -int mgcp_dispatch_rtp_bridge_cb(struct msgb *msg); -void mgcp_cleanup_rtp_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); -int mgcp_dispatch_e1_bridge_cb(struct msgb *msg); -void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); -int mgcp_bind_net_rtp_port(struct mgcp_endpoint *endp, int rtp_port, - struct mgcp_conn_rtp *conn); -void mgcp_free_rtp_port(struct mgcp_rtp_end *end); - -/* For transcoding we need to manage an in and an output that are connected */ -static inline int endp_back_channel(int endpoint) -{ - return endpoint + 60; -} - -char *get_lco_identifier(const char *options); -int check_local_cx_options(void *ctx, const char *options); -void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, - struct mgcp_rtp_end *rtp); -uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, - struct mgcp_rtp_end *rtp); - -/* payload processing default functions */ -int mgcp_rtp_processing_default(struct mgcp_endpoint *endp, struct mgcp_rtp_end *dst_end, - char *data, int *len, int buf_size); - -int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp, - struct mgcp_conn_rtp *conn_dst, - struct mgcp_conn_rtp *conn_src); - -void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - const struct mgcp_rtp_codec **codec, - const char **fmtp_extra, - struct mgcp_conn_rtp *conn); - -/* internal RTP Annex A counting */ -void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, - const uint16_t seq, const int32_t transit, - const uint32_t ssrc); - -int mgcp_set_ip_tos(int fd, int tos); - -/* Was conn configured to handle Osmux? */ -static inline bool mgcp_conn_rtp_is_osmux(const struct mgcp_conn_rtp *conn) { - return conn->type == MGCP_OSMUX_BSC || conn->type == MGCP_OSMUX_BSC_NAT; -} - -enum { - MGCP_DEST_NET = 0, - MGCP_DEST_BTS, -}; - - -#define MGCP_DUMMY_LOAD 0x23 - - -/** - * SDP related information - */ -/* Assume audio frame length of 20ms */ -#define DEFAULT_RTP_AUDIO_FRAME_DUR_NUM 20 -#define DEFAULT_RTP_AUDIO_FRAME_DUR_DEN 1000 -#define DEFAULT_RTP_AUDIO_PACKET_DURATION_MS 20 -#define DEFAULT_RTP_AUDIO_DEFAULT_RATE 8000 -#define DEFAULT_RTP_AUDIO_DEFAULT_CHANNELS 1 - -#define PTYPE_UNDEFINED (-1) - -void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); -void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); -void mgcp_patch_and_count(struct mgcp_endpoint *endp, - struct mgcp_rtp_state *state, - struct mgcp_rtp_end *rtp_end, - struct sockaddr_in *addr, struct msgb *msg); - -#define RTP_BUF_SIZE 4096 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h new file mode 100644 index 0000000..c08d009 --- /dev/null +++ b/include/osmocom/mgcp/mgcp_network.h @@ -0,0 +1,163 @@ +#pragma once + +#include +#include +#include + +#define MGCP_DUMMY_LOAD 0x23 +#define RTP_BUF_SIZE 4096 + +struct mgcp_rtp_stream_state { + uint32_t ssrc; + uint16_t last_seq; + uint32_t last_timestamp; + struct rate_ctr *err_ts_ctr; + int32_t last_tsdelta; + uint32_t last_arrival_time; +}; + +struct mgcp_rtp_state { + /* has this state structure been initialized? */ + int initialized; + + struct { + /* are we patching the SSRC value? */ + int patch_ssrc; + /* original SSRC (to which we shall patch any different SSRC) */ + uint32_t orig_ssrc; + /* offset to apply on the sequence number */ + int seq_offset; + /* offset to apply on the timestamp number */ + int32_t timestamp_offset; + } patch; + + /* duration of a packet (FIXME: in which unit?) */ + uint32_t packet_duration; + + /* Note: These states are not continuously updated, they serve as an + * information source to patch certain values in the RTP header. Do + * not use this state if constantly updated data about the RTP stream + * is needed. (see also mgcp_patch_and_count() */ + struct mgcp_rtp_stream_state in_stream; + struct mgcp_rtp_stream_state out_stream; + + /* jitter and packet loss calculation */ + struct { + int initialized; + uint16_t base_seq; + uint16_t max_seq; + uint32_t ssrc; + uint32_t jitter; + int32_t transit; + int cycles; + } stats; + + /* Alternative values for RTP tx, in case no sufficient header + * information is available so the header needs to be generated + * locally (when just forwarding packets, the header of incoming + * data is just re-used) */ + uint16_t alt_rtp_tx_sequence; + uint32_t alt_rtp_tx_ssrc; + + bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ +}; + +struct mgcp_rtp_codec { + uint32_t rate; + int channels; + uint32_t frame_duration_num; + uint32_t frame_duration_den; + + int payload_type; + char *audio_name; + char *subtype_name; + + bool param_present; + struct mgcp_codec_param param; +}; + +/* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ +struct mgcp_rtp_end { + /* local IP address of the RTP socket */ + struct in_addr addr; + + /* in network byte order */ + int rtp_port, rtcp_port; + + /* currently selected audio codec */ + struct mgcp_rtp_codec *codec; + + /* array with assigned audio codecs to choose from (SDP) */ + struct mgcp_rtp_codec codecs[MGCP_MAX_CODECS]; + + /* number of assigned audio codecs (SDP) */ + unsigned int codecs_assigned; + + /* per endpoint data */ + int frames_per_packet; + uint32_t packet_duration_ms; + int maximum_packet_time; /* -1: not set */ + char *fmtp_extra; + /* are we transmitting packets (1) or dropping (0) outbound packets */ + int output_enabled; + /* FIXME: This parameter can be set + printed, but is nowhere used! */ + int force_output_ptime; + + /* RTP patching */ + int force_constant_ssrc; /* -1: always, 0: don't, 1: once */ + /* should we perform align_rtp_timestamp_offset() (1) or not (0) */ + int force_aligned_timing; + bool rfc5993_hr_convert; + + /* Each end has a separate socket for RTP and RTCP */ + struct osmo_fd rtp; + struct osmo_fd rtcp; + + /* local UDP port number of the RTP socket; RTCP is +1 */ + int local_port; +}; + +struct mgcp_rtp_tap { + /* is this tap active (1) or not (0) */ + int enabled; + /* IP/port to which we're forwarding the tapped data */ + struct sockaddr_in forward; +}; + +struct mgcp_conn; + +int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct sockaddr_in *addr, + struct msgb *msg, struct mgcp_conn_rtp *conn_src, + struct mgcp_conn_rtp *conn_dst); +int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn); +int mgcp_dispatch_rtp_bridge_cb(struct msgb *msg); +void mgcp_cleanup_rtp_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); +int mgcp_dispatch_e1_bridge_cb(struct msgb *msg); +void mgcp_cleanup_e1_bridge_cb(struct mgcp_endpoint *endp, struct mgcp_conn *conn); +int mgcp_bind_net_rtp_port(struct mgcp_endpoint *endp, int rtp_port, + struct mgcp_conn_rtp *conn); +void mgcp_free_rtp_port(struct mgcp_rtp_end *end); +void mgcp_patch_and_count(struct mgcp_endpoint *endp, + struct mgcp_rtp_state *state, + struct mgcp_rtp_end *rtp_end, + struct sockaddr_in *addr, struct msgb *msg); +void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); +int mgcp_set_ip_tos(int fd, int tos); + +/* payload processing default functions */ +int mgcp_rtp_processing_default(struct mgcp_endpoint *endp, struct mgcp_rtp_end *dst_end, + char *data, int *len, int buf_size); + +int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp, + struct mgcp_conn_rtp *conn_dst, + struct mgcp_conn_rtp *conn_src); + +void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, + struct mgcp_conn_rtp *conn); + +/* internal RTP Annex A counting */ +void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, + const uint16_t seq, const int32_t transit, + const uint32_t ssrc); diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h new file mode 100644 index 0000000..abd264c --- /dev/null +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -0,0 +1,27 @@ +#pragma once + +/* Internal structure while parsing a request */ +struct mgcp_parse_data { + struct mgcp_config *cfg; + struct mgcp_endpoint *endp; + char *trans; + char *save; +}; + +/* Local connection options */ +struct mgcp_lco { + char *string; + char *codec; + int pkt_period_min; /* time in ms */ + int pkt_period_max; /* time in ms */ +}; + +char *get_lco_identifier(const char *options); +int check_local_cx_options(void *ctx, const char *options); + +struct mgcp_rtp_end; +void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, + struct mgcp_rtp_end *rtp); + +uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, + struct mgcp_rtp_end *rtp); diff --git a/include/osmocom/mgcp/mgcp_stat.h b/include/osmocom/mgcp/mgcp_stat.h index 0bde8cf..a66257b 100644 --- a/include/osmocom/mgcp/mgcp_stat.h +++ b/include/osmocom/mgcp/mgcp_stat.h @@ -24,7 +24,6 @@ #pragma once -#include #include void mgcp_format_stats(char *str, size_t str_len, struct mgcp_conn *conn); diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 58079c6..f237e38 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -17,9 +17,13 @@ * along with this program. If not, see . * */ -#include +#include +#include +#include +#include #include #include +#include #include /* Helper function to dump codec information of a specified codec to a printable diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 8c7918e..d52fa64 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -22,7 +22,8 @@ */ #include -#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 1e227dc..8444b11 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -21,7 +21,10 @@ * */ -#include +#include + +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index f0ad0a7..668d88b 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -21,7 +21,9 @@ * */ -#include +#include +#include +#include #include #include diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 019466e..2023a68 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -24,7 +24,9 @@ #include -#include +#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e0aa42e..712c706 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -37,7 +37,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -48,6 +49,7 @@ #include #include + #define RTP_SEQ_MOD (1 << 16) #define RTP_MAX_DROPOUT 3000 #define RTP_MAX_MISORDER 100 diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index 85e33e0..93c922d 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 2a6581e..6a533c3 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -35,7 +35,9 @@ #include #include -#include +#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index aacdd85..2868062 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,7 +24,7 @@ #include #include -#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 5fa6bdb..1c3c89a 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -22,12 +22,15 @@ #include #include -#include +#include +#include +#include #include #include #include #include #include +#include #include #include diff --git a/src/libosmo-mgcp/mgcp_stat.c b/src/libosmo-mgcp/mgcp_stat.c index 3685cfe..2e74238 100644 --- a/src/libosmo-mgcp/mgcp_stat.c +++ b/src/libosmo-mgcp/mgcp_stat.c @@ -22,10 +22,12 @@ * */ -#include -#include #include #include +#include +#include +#include +#include /* Helper function for mgcp_format_stats_rtp() to calculate packet loss */ void calc_loss(struct mgcp_conn_rtp *conn, uint32_t *expected, int *loss) diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index dfedc4b..617993f 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -21,7 +21,8 @@ * */ -#include +#include +#include #include #include #include diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index b8ec241..d2d4b23 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -25,7 +25,8 @@ #include #include #include -#include +#include +#include #include #include #include diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 036e0c0..d4bcb3a 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index a050a0b..5ae321f 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -22,14 +22,14 @@ #include #include #include -#include +#include +#include #include #include #include #include #include #include -#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I837eaad771ed7252304db4a81c37953b70766fff Gerrit-Change-Number: 19525 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:00:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:00:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix comments in header file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19562 ) Change subject: mgcp_ratectr: fix comments in header file ...................................................................... mgcp_ratectr: fix comments in header file Change-Id: Idd9d7b108e81b44501b78264284dfa46e679d994 --- M include/osmocom/mgcp/mgcp_ratectr.h 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index ff59ea4..657e897 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -11,7 +11,7 @@ MGCP_GENERAL_RX_FAIL_NO_ENDPOINT, }; -/* Global MCGP CRCX related rate counters */ +/* Trunk-global MCGP CRCX related rate counters */ enum { MGCP_CRCX_SUCCESS, MGCP_CRCX_FAIL_BAD_ACTION, @@ -32,7 +32,7 @@ MGCP_CRCX_FAIL_CLAIM, }; -/* Global MCGP MDCX related rate counters */ +/* Trunk-global MCGP MDCX related rate counters */ enum { MGCP_MDCX_SUCCESS, MGCP_MDCX_FAIL_WILDCARD, @@ -51,7 +51,7 @@ MGCP_MDCX_FAIL_AVAIL, }; -/* Global MCGP DLCX related rate counters */ +/* Trunk-global MCGP DLCX related rate counters */ enum { MGCP_DLCX_SUCCESS, MGCP_DLCX_FAIL_WILDCARD, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idd9d7b108e81b44501b78264284dfa46e679d994 Gerrit-Change-Number: 19562 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:20:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:20:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log: for VTY Unknown Command, fix weird log message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 ) Change subject: log: for VTY Unknown Command, fix weird log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 Gerrit-Change-Number: 19568 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 10: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 Wed Aug 12 10:20:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:20:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log: for VTY Unknown Command, fix weird log message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 ) Change subject: log: for VTY Unknown Command, fix weird log message ...................................................................... log: for VTY Unknown Command, fix weird log message In f_vty_wait_for_prompt(), this: testcase.stop(fail, "VTY: Unknown Command") outputs: failVTY: Unknown Command The first stop() argument 'fail' is not actually a test verdict, but gets rolled into a log output string, becoming "failVTY". Fix that by simply using the normal pattern of setverdict() followed by mtc.stop(). Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 2 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/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index cb3434e..e5f615c 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -68,7 +68,8 @@ [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; [] pt.receive(t_vty_unknown) { if (strict) { - testcase.stop(fail, "VTY: Unknown Command"); + setverdict(fail, "VTY: Unknown Command"); + mtc.stop; } else { log("VTY: Unknown Command (ignored)"); buf := buf & rx; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id09986444de02c10b4fba582d454d54568b6e8a2 Gerrit-Change-Number: 19568 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 Wed Aug 12 10:21:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:21:27 +0000 Subject: Change in osmo-bsc[master]: e1: encode line number as trunk number in MGCP endpoint In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19564 ) Change subject: e1: encode line number as trunk number in MGCP endpoint ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5447bb4426e31d119667bdfddfd2c91fd591fc6 Gerrit-Change-Number: 19564 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 10:21: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 Aug 12 10:21:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:21:29 +0000 Subject: Change in osmo-bsc[master]: e1: encode line number as trunk number in MGCP endpoint In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19564 ) Change subject: e1: encode line number as trunk number in MGCP endpoint ...................................................................... e1: encode line number as trunk number in MGCP endpoint The MGCP endpoint name, that is generated when an E1 endpoint is selected does have a hardcoded trunk id number, which is permanantly set to 1. Lets use the E1 line number instead. Related: OS#2547 Change-Id: Ic5447bb4426e31d119667bdfddfd2c91fd591fc6 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0faf3b2..ec8a4df 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -495,8 +495,11 @@ if (is_ipaccess_bts(for_lchan->ts->trx->bts)) /* use dynamic RTPBRIDGE endpoint allocation in MGW */ epname = mgcp_client_rtpbridge_wildcard(conn->network->mgw.client); - else - epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, 1, for_lchan->ts->e1_link.e1_ts, 16, for_lchan->ts->e1_link.e1_ts_ss*2); + else { + epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, for_lchan->ts->e1_link.e1_nr, + for_lchan->ts->e1_link.e1_ts, 16, + for_lchan->ts->e1_link.e1_ts_ss*2); + } conn->user_plane.mgw_endpoint = osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5447bb4426e31d119667bdfddfd2c91fd591fc6 Gerrit-Change-Number: 19564 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:21:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:21:55 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 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 Wed Aug 12 10:22:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:22:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: check template before using isvalue() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 ) Change subject: MSC_ConnectionHandler: check template before using isvalue() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie094e5b56a851351671327b475d5e597a5a94bf6 Gerrit-Change-Number: 19566 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 10:22:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:22:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:22:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_ConnectionHandler: check template before using isvalue() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 ) Change subject: MSC_ConnectionHandler: check template before using isvalue() ...................................................................... MSC_ConnectionHandler: check template before using isvalue() The function f_establish_fully may be called with template ass_tpl set to "omit". In this case we must make sure that we do not pass ass_tpl on to isvalue(). Change-Id: Ie094e5b56a851351671327b475d5e597a5a94bf6 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 7d8fce1..7b8f087 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1005,7 +1005,7 @@ var BSSMAP_FIELD_CodecType codecType; timer T := 10.0; - if (isvalue(ass_tpl.pdu.bssmap.assignmentRequest.codecList)) { + if (not istemplatekind(ass_tpl, "omit") and isvalue(ass_tpl.pdu.bssmap.assignmentRequest.codecList)) { codecType := valueof(ass_tpl.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType); } else { /* Make sure a meaningful default is assigned in case the -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie094e5b56a851351671327b475d5e597a5a94bf6 Gerrit-Change-Number: 19566 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:22:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 10:22:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: test handling of EMERGENCY SETUP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19302 ) Change subject: BSC_Tests: test handling of EMERGENCY SETUP ...................................................................... BSC_Tests: test handling of EMERGENCY SETUP The EMERGENCY SETUP is an L3 message that normally gets passed through transparently to the A interface. Nomrally the BSC will not look into L3 messages. However if EMERGENCY CALLS are allowed on a BTS or not is set in the system information. Also osmo-bsc has the option to deny EMERGENCY CALLS globally for all BTSs. Since EMERGENCY CALLS are a crucial application, the BSC should not only send the appropiate sysinfo messages that forbid emergency calling. It should also make sure that any attempt to make an emergency call is rejected early if emergency calls are denied. Lets add some checks to verify that the allow/deny mechanisms for EMERGENCY CALLS are working as expected. Depends: osmo-bsc Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Change-Id: I486d99953529a1ce9f0a3950c9a97900922eee92 Related: OS#4548 --- M bsc/BSC_Tests.ttcn 1 file changed, 140 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4442008..799d6a1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5961,6 +5961,142 @@ f_ctrs_msc_expect(2, "mscpool:subscr:new"); } +/* Allow/Deny emergency calls globally via VTY */ +private function f_vty_allow_emerg_msc(boolean allow) runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + if (allow) { + f_vty_transceive(BSCVTY, "allow-emergency allow"); + } else { + f_vty_transceive(BSCVTY, "allow-emergency deny"); + } + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +/* Allow/Deny emergency calls per BTS via VTY */ +private function f_vty_allow_emerg_bts(boolean allow, integer bts_nr) runs on test_CT { + f_vty_enter_cfg_bts(BSCVTY, bts_nr); + if (allow) { + f_vty_transceive(BSCVTY, "rach emergency call allowed 1"); + } else { + f_vty_transceive(BSCVTY, "rach emergency call allowed 0"); + } + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +/* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */ +private function f_assignment_emerg_setup() runs on MSC_ConnHdlr { + var PDU_ML3_MS_NW emerg_setup; + var octetstring emerg_setup_enc; + var RSL_Message emerg_setup_data_ind; + + f_establish_fully(omit, omit); + + emerg_setup := valueof(ts_ML3_MO_CC_EMERG_SETUP(1, valueof(ts_Bcap_voice))); + emerg_setup_enc := enc_PDU_ML3_MS_NW(emerg_setup); + emerg_setup_data_ind := valueof(ts_RSL_DATA_IND(g_chan_nr, valueof(ts_RslLinkID_DCCH(0)), emerg_setup_enc)); + + RSL.send(emerg_setup_data_ind); +} + +/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY + * CALLS are permitted by the BSC config. */ +private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr { + var PDU_BSSAP emerg_setup_data_ind_bssap; + var PDU_ML3_MS_NW emerg_setup; + timer T := 3.0; + + f_assignment_emerg_setup() + + T.start; + alt { + [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap { + emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap); + if (not isbound(emerg_setup.msgs.cc.emergencySetup)) { + setverdict(fail, "no emergency setup"); + } + } + [] BSSAP.receive { + setverdict(fail, "unexpected BSSAP message!"); + } + [] T.timeout { + setverdict(fail, "timout waiting for EMERGENCY SETUP!"); + } + } + + setverdict(pass); +} + +/* Test if the EMERGENCY SETUP gets blocked by the BSC if EMERGENCY CALLS are + * forbidden by the BSC config. */ +private function f_TC_assignment_emerg_setup_deny(charstring id) runs on MSC_ConnHdlr { + var PDU_BSSAP emerg_setup_data_ind_bssap; + timer T := 3.0; + + f_assignment_emerg_setup() + + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { + setverdict(pass); + } + [] RSL.receive { + setverdict(fail, "unexpected RSL message!"); + } + [] T.timeout { + setverdict(fail, "timout waiting for RR CHANNEL RELEASE!"); + } + } +} + +/* EMERGENCY CALL situation #1, allowed globally and by BTS */ +testcase TC_assignment_emerg_setup_allow() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + f_vty_allow_emerg_msc(true); + f_vty_allow_emerg_bts(true, 0); + vc_conn := f_start_handler(refers(f_TC_assignment_emerg_setup_allow), pars); + vc_conn.done; +} + +/* EMERGENCY CALL situation #2, forbidden globally but allowed by BTS */ +testcase TC_assignment_emerg_setup_deny_msc() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + f_vty_allow_emerg_msc(false); + f_vty_allow_emerg_bts(true, 0); + vc_conn := f_start_handler(refers(f_TC_assignment_emerg_setup_deny), pars); + vc_conn.done; +} + +/* EMERGENCY CALL situation #3, allowed globally but forbidden by BTS */ +testcase TC_assignment_emerg_setup_deny_bts() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + /* Note: This simulates a spec violation by the MS, correct MS + * implementations would not try to establish an emergency call because + * the system information tells in advance that emergency calls are + * not forbidden */ + + f_init(1, true); + f_sleep(1.0); + + f_vty_allow_emerg_msc(true); + f_vty_allow_emerg_bts(false, 0); + vc_conn := f_start_handler(refers(f_TC_assignment_emerg_setup_deny), pars); + vc_conn.done; +} + /* Dyn PDCH todo: * activate OSMO as TCH/F * activate OSMO as TCH/H @@ -6176,6 +6312,10 @@ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); + /* Emergency call handling (deny / allow) */ + execute( TC_assignment_emerg_setup_allow() ); + execute( TC_assignment_emerg_setup_deny_msc() ); + execute( TC_assignment_emerg_setup_deny_bts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I486d99953529a1ce9f0a3950c9a97900922eee92 Gerrit-Change-Number: 19302 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 10:36:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 10:36:59 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... Patch Set 1: (3 comments) Mostly cosmetic comments. https://gerrit.osmocom.org/c/osmo-bsc/+/19565/1/src/osmo-bsc/gsm_04_08_rr.c File src/osmo-bsc/gsm_04_08_rr.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19565/1/src/osmo-bsc/gsm_04_08_rr.c at 995 PS1, Line 995: if( coding style https://gerrit.osmocom.org/c/osmo-bsc/+/19565/1/src/osmo-bsc/gsm_04_08_rr.c at 997 PS1, Line 997: LOG_LCHAN This log statement seems to be longer than 120 chars, would be nice to split it. https://gerrit.osmocom.org/c/osmo-bsc/+/19565/1/src/osmo-bsc/gsm_04_08_rr.c at 1002 PS1, Line 1002: LOG_LCHAN(msg->lchan, LOGL_NOTICE, "MS attempts EMERGENCY SETUP, but EMERGENCY CALLS are denied on this BSC (check BTS config!)\n"); Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 10:36: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 Aug 12 11:19:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 11:19:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: another fixup for "fix mscpool cleanup (fixes LCLS tests)" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 ) Change subject: another fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... another fixup for "fix mscpool cleanup (fixes LCLS tests)" During patch grooming of the previous fixup, one patch line went missing, which breaks the ttcn3-bsc-test-latest completely. Add that change now. Change-Id: I75295d638072df9f5213a7e74e4a960c009c2865 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/19571/1 diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index e5f615c..82aff6b 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -66,7 +66,7 @@ [] pt.receive(pattern "[\w-]+" & VTY_VIEW_SUFFIX) { }; [] pt.receive(pattern "[\w-]+\# ") { }; [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; - [] pt.receive(t_vty_unknown) { + [] pt.receive(t_vty_unknown) -> value rx { if (strict) { setverdict(fail, "VTY: Unknown Command"); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75295d638072df9f5213a7e74e4a960c009c2865 Gerrit-Change-Number: 19571 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 11:20:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 11:20:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: another fixup for "fix mscpool cleanup (fixes LCLS tests)" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 ) Change subject: another fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... Patch Set 1: Code-Review+2 fast track to fix the bsc 'latest' tests -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75295d638072df9f5213a7e74e4a960c009c2865 Gerrit-Change-Number: 19571 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 12 Aug 2020 11:20:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 11:20:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 11:20:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: another fixup for "fix mscpool cleanup (fixes LCLS tests)" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 ) Change subject: another fixup for "fix mscpool cleanup (fixes LCLS tests)" ...................................................................... another fixup for "fix mscpool cleanup (fixes LCLS tests)" During patch grooming of the previous fixup, one patch line went missing, which breaks the ttcn3-bsc-test-latest completely. Add that change now. Change-Id: I75295d638072df9f5213a7e74e4a960c009c2865 --- M library/Osmocom_VTY_Functions.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index e5f615c..82aff6b 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -66,7 +66,7 @@ [] pt.receive(pattern "[\w-]+" & VTY_VIEW_SUFFIX) { }; [] pt.receive(pattern "[\w-]+\# ") { }; [] pt.receive(pattern "[\w-]+\(*\)\# ") { }; - [] pt.receive(t_vty_unknown) { + [] pt.receive(t_vty_unknown) -> value rx { if (strict) { setverdict(fail, "VTY: Unknown Command"); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I75295d638072df9f5213a7e74e4a960c009c2865 Gerrit-Change-Number: 19571 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 11:55:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 11:55:49 +0000 Subject: Change in docker-playground[master]: Enable IPv6 in docker networking References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19572 ) Change subject: Enable IPv6 in docker networking ...................................................................... Enable IPv6 in docker networking We previously only allocated IPv4 sub-nets to the network segments created with 'docker network'. Let's fix that by assigning both IPv4 and IPv6 address ranges to each docker network. Related: OS#4700 Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 --- M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-gsm-tester/jenkins.sh M scripts/regen_doc.sh M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-nitb-sysinfo/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 21 files changed, 23 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/72/19572/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index a29720c..718109d 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -87,8 +87,10 @@ network_clean network_remove fi + SUB4="172.18.$NET.0/24" + SUB6="fd02:db8:$NET::/64" echo Creating network $NET_NAME - docker network create --internal --subnet $NET $NET_NAME + docker network create --internal --subnet $SUB4 --ipv6 --subnet $SUB6 $NET_NAME } network_remove() { diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index 4543b91..ac6a880 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -15,7 +15,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.7.0/24 +network_create 7 # start container with STP in background docker run --rm \ diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index 1d3111e..39d37bb 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -15,7 +15,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.6.0/24 +network_create 6 # start container with STP in background docker run --rm \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 0973774..5066012 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -58,7 +58,7 @@ "debian-stretch-jenkins" \ "osmo-gsm-tester" -network_create 172.18.50.0/24 +network_create 50 mkdir $VOL_BASE_DIR/ogt-slave cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index ca540f9..cd3c560 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -21,7 +21,7 @@ docker_images_require \ "$NAME-$IMAGE_SUFFIX" -network_create 172.18.16.0/24 +network_create 16 container_create() { CONTAINERNAME=$1 diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index f91e603..ee4417c 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,7 +16,7 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -network_create 172.18.12.0/24 +network_create 12 echo Starting container with BSC docker run --rm \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 11b9d2a..0218a8f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -24,7 +24,7 @@ cp pre-mscpool-osmo-bsc.cfg $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi -network_create 172.18.2.0/24 +network_create 2 echo Starting container with STP docker run --rm \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 1d771eb..08d5be8 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -14,7 +14,7 @@ cp osmo-bsc-nat.cfg $VOL_BASE_DIR/bscnat/ cp bscs.config $VOL_BASE_DIR/bscnat/ -network_create 172.18.15.0/24 +network_create 15 echo Starting container with BSCNAT docker run --rm \ diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 6f37e54..3e61780 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -101,7 +101,7 @@ $REPO_USER/ttcn3-bts-test } -network_create 172.18.9.0/24 +network_create 9 mkdir $VOL_BASE_DIR/bts-tester mkdir $VOL_BASE_DIR/bts-tester/unix diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index c950cc6..7e25a9b 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/ggsn cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ -network_create 172.18.3.0/24 +network_create 3 # start container with ggsn in background docker run --cap-add=NET_ADMIN \ diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 7bfacd6..337491d 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-hlr-$IMAGE_SUFFIX" \ "ttcn3-hlr-test" -network_create 172.18.10.0/24 +network_create 10 mkdir $VOL_BASE_DIR/hlr-tester cp HLR_Tests.cfg $VOL_BASE_DIR/hlr-tester/ diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index d0ce189..15fab49 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -network_create 172.18.4.0/24 +network_create 4 # start container with mgw in background docker run --rm \ diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index fdba9a5..9f5e0bf 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 172.18.1.0/24 +network_create 1 mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix diff --git a/ttcn3-nitb-sysinfo/jenkins.sh b/ttcn3-nitb-sysinfo/jenkins.sh index eaef78d..166a04d 100755 --- a/ttcn3-nitb-sysinfo/jenkins.sh +++ b/ttcn3-nitb-sysinfo/jenkins.sh @@ -2,7 +2,7 @@ . ../jenkins-common.sh -network_create 172.18.5.0/24 +network_create 5 # start container with nitb in background docker volume rm nitb-vol diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 9c8f293..00376e7 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -6,7 +6,7 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 172.18.14.0/24 +network_create 14 mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 3867e76..fa4c914 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 172.18.13.0/24 +network_create 13 mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1da2883..c2e958c 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -56,7 +56,7 @@ $REPO_USER/ttcn3-remsim-test } -network_create 172.18.17.0/24 +network_create 17 mkdir $VOL_BASE_DIR/remsim-tester diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 25fe5ac..895f12c 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -13,7 +13,7 @@ mkdir $VOL_BASE_DIR/sccp cp sccp_demo_user.cfg $VOL_BASE_DIR/sccp/ -network_create 172.18.22.0/24 +network_create 22 echo Starting container with sccp_demo_user docker run --rm \ diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 08af31c..df91256 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-sgsn-$IMAGE_SUFFIX" \ "ttcn3-sgsn-test" -network_create 172.18.8.0/24 +network_create 8 mkdir $VOL_BASE_DIR/sgsn-tester cp SGSN_Tests.cfg $VOL_BASE_DIR/sgsn-tester/ diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 52916cd..f1bfedd 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-sip-$IMAGE_SUFFIX" \ "ttcn3-sip-test" -network_create 172.18.11.0/24 +network_create 11 mkdir $VOL_BASE_DIR/sip-tester mkdir $VOL_BASE_DIR/sip-tester/unix diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index c45d157..6b6a2de 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.19.0/24 +network_create 19 echo Starting container with STP docker run --rm \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 Gerrit-Change-Number: 19572 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 Aug 12 12:29:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 12:29:19 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: simplify conditions in in config_list_cmd References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19573 ) Change subject: vty/command: cosmetic: simplify conditions in in config_list_cmd ...................................................................... vty/command: cosmetic: simplify conditions in in config_list_cmd Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 --- M src/vty/command.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/19573/1 diff --git a/src/vty/command.c b/src/vty/command.c index 278ceb5..75bc00d 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2858,10 +2858,14 @@ struct cmd_node *cnode = vector_slot(cmdvec, vty->node); struct cmd_element *cmd; - for (i = 0; i < vector_active(cnode->cmd_vector); i++) - if ((cmd = vector_slot(cnode->cmd_vector, i)) != NULL - && !(cmd->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_out(vty, " %s%s", cmd->string, VTY_NEWLINE); + for (i = 0; i < vector_active(cnode->cmd_vector); i++) { + if ((cmd = vector_slot(cnode->cmd_vector, i)) == NULL) + continue; + if (cmd->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN)) + continue; + vty_out(vty, " %s%s", cmd->string, VTY_NEWLINE); + } + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 Gerrit-Change-Number: 19573 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 Aug 12 12:29:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 12:29:20 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: fix formatting of config_help_cmd References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19574 ) Change subject: vty/command: cosmetic: fix formatting of config_help_cmd ...................................................................... vty/command: cosmetic: fix formatting of config_help_cmd Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 --- M src/vty/command.c 1 file changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/19574/1 diff --git a/src/vty/command.c b/src/vty/command.c index 75bc00d..d8fe463 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2834,20 +2834,21 @@ gDEFUN(config_help, config_help_cmd, "help", "Description of the interactive help system\n") { - vty_out(vty, - "This VTY provides advanced help features. When you need help,%s\ -anytime at the command line please press '?'.%s\ -%s\ -If nothing matches, the help list will be empty and you must backup%s\ - until entering a '?' shows the available options.%s\ -Two styles of help are provided:%s\ -1. Full help is available when you are ready to enter a%s\ -command argument (e.g. 'show ?') and describes each possible%s\ -argument.%s\ -2. Partial help is provided when an abbreviated argument is entered%s\ - and you want to know what arguments match the input%s\ - (e.g. 'show me?'.)%s%s", VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, - VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "This VTY provides advanced help features. When you need help,%s" + "anytime at the command line please press '?'.%s%s" + "If nothing matches, the help list will be empty and you must backup%s" + " until entering a '?' shows the available options.%s" + "Two styles of help are provided:%s" + "1. Full help is available when you are ready to enter a%s" + "command argument (e.g. 'show ?') and describes each possible%s" + "argument.%s" + "2. Partial help is provided when an abbreviated argument is entered%s" + " and you want to know what arguments match the input%s" + " (e.g. 'show me?'.)%s%s", + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 Gerrit-Change-Number: 19574 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 Aug 12 12:29:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 12:29:20 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: drop redundant line break References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19575 ) Change subject: vty/command: cosmetic: drop redundant line break ...................................................................... vty/command: cosmetic: drop redundant line break Change-Id: Ia7c85b7862fbb191b5746fc333cf0c34bc79a533 --- M include/osmocom/vty/command.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/75/19575/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index e3692dc..da8d202 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -238,7 +238,7 @@ DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) #define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \ - DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) \ + DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) /* DEFUN_NOSH for commands that vtysh should ignore */ #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia7c85b7862fbb191b5746fc333cf0c34bc79a533 Gerrit-Change-Number: 19575 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 Aug 12 12:29:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 12:29:21 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute References: Message-ID: Hello Hoernchen, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19576 to review the following change. Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... vty/command: introduce CMD_ATTR_REQ_RESTART attribute Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Related: SYS#4937 --- M include/osmocom/vty/command.h 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/19576/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index da8d202..a277ca5 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -137,6 +137,7 @@ enum { CMD_ATTR_DEPRECATED = (1 << 0), CMD_ATTR_HIDDEN = (1 << 1), + CMD_ATTR_REQ_RESTART = (1 << 2), }; /*! Structure of a command element */ @@ -240,6 +241,9 @@ #define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \ DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) +#define DEFUN_REQ_RESTART(funcname, cmdname, cmdstr, helpstr) \ + DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_REQ_RESTART) + /* DEFUN_NOSH for commands that vtysh should ignore */ #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \ DEFUN(funcname, cmdname, cmdstr, helpstr) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 12:29:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 12:29:21 +0000 Subject: Change in libosmocore[master]: vty/command: reflect command attributes in the XML reference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19577 ) Change subject: vty/command: reflect command attributes in the XML reference ...................................................................... vty/command: reflect command attributes in the XML reference Given that commands with either/both of the following attributes: - CMD_ATTR_DEPRECATED, - CMD_ATTR_HIDDEN, would not end up in the XML reference, only CMD_ATTR_REQ_RESTART would be reflected for commands requiring restart as follows: Change-Id: I8476c1163c23a9a52641987acf3df0b8c49d8f7b Related: SYS#4937 --- M src/vty/command.c 1 file changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/19577/1 diff --git a/src/vty/command.c b/src/vty/command.c index d8fe463..c1ac376 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -622,20 +622,35 @@ typedef int (*print_func_t)(void *data, const char *fmt, ...); +static const struct value_string cmd_attr_names[] = { + { CMD_ATTR_DEPRECATED, "deprecated" }, + { CMD_ATTR_HIDDEN, "hidden" }, + { CMD_ATTR_REQ_RESTART, "restart-required" }, + { 0, NULL } +}; + /* * Write one cmd_element as XML via a print_func_t. */ static int vty_dump_element(struct cmd_element *cmd, print_func_t print_func, void *data, const char *newline) { char *xml_string = xml_escape(cmd->string); + unsigned int i, j; print_func(data, " %s", xml_string, newline); + + /* Optional command attributes */ + for (i = 0; i < ARRAY_SIZE(cmd_attr_names) - 1; i++) { + if (~cmd->attr & cmd_attr_names[i].value) + continue; + print_func(data, " %s", + get_value_string(cmd_attr_names, i), newline); + } + print_func(data, " %s", newline); - int j; for (j = 0; j < vector_count(cmd->strvec); ++j) { vector descvec = vector_slot(cmd->strvec, j); - int i; for (i = 0; i < vector_active(descvec); ++i) { char *xml_param, *xml_doc; struct desc *desc = vector_slot(descvec, i); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8476c1163c23a9a52641987acf3df0b8c49d8f7b Gerrit-Change-Number: 19577 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 Aug 12 12:48:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 12:48:57 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: simplify conditions in in config_list_cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19573 ) Change subject: vty/command: cosmetic: simplify conditions in in config_list_cmd ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 Gerrit-Change-Number: 19573 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 12: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 Wed Aug 12 12:49:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 12:49:23 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: fix formatting of config_help_cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19574 ) Change subject: vty/command: cosmetic: fix formatting of config_help_cmd ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 Gerrit-Change-Number: 19574 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 12:49: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 Aug 12 12:49:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 12:49:40 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: drop redundant line break In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19575 ) Change subject: vty/command: cosmetic: drop redundant line break ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia7c85b7862fbb191b5746fc333cf0c34bc79a533 Gerrit-Change-Number: 19575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 12:49:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 12:51:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 12:51:14 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19576 ) Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... Patch Set 1: Code-Review-1 I think this is too simplistic. Restart of what? Restart of the program that implements the vty (e.g. OsmoBSC)? Restart of the BTS whose attributes we configured inside the BSC? Restart of a given link/connection? I think we don't need one global flag but we need the ability to have multiple flags that specify when a particular command becomes active. Their details will depend on the individual applications. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 12: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 Wed Aug 12 12:51:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 12:51:46 +0000 Subject: Change in libosmocore[master]: vty/command: reflect command attributes in the XML reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19577 ) Change subject: vty/command: reflect command attributes in the XML reference ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8476c1163c23a9a52641987acf3df0b8c49d8f7b Gerrit-Change-Number: 19577 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 12:51:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 13:47:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 13:47:11 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19576 ) Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > I think this is too simplistic. Restart of what? Restart of the program that implements the vty (e.g. OsmoBSC)? Restart of the BTS whose attributes we configured inside the BSC? Restart of a given link/connection? > > I think we don't need one global flag but we need the ability to have multiple flags that specify when a particular command becomes active. Their details will depend on the individual applications. Thanks for your input, and especially for the examples! I actually implemented what you described first, and then found myself asking how many potential variations of "when it applies" would we need. Somehow I decided that this would be a redundant complexity, and then took a step back to the approach proposed by Eric. Fortunately, I still have the initial implementation in stash. I'll finish and submit it then. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 13:47:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 15:39:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 12 Aug 2020 15:39:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_chan_act_ack_noest_emerg References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 ) Change subject: BSC_Tests: fix TC_chan_act_ack_noest_emerg ...................................................................... BSC_Tests: fix TC_chan_act_ack_noest_emerg The testcase TC_chan_act_ack_noest_emerg tests if an emergency causes a channel assignment. This can only work if emergency calls are allowed, but the testcase does not make sure that this actually is the case. Related: OS#4548 Change-Id: I0ddac0ba8ed4afe993d566dcbea87cdc62ed9fe4 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/19578/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 799d6a1..e556b48 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -999,8 +999,6 @@ private function f_TC_chan_act_ack_noest(OCT1 ra := '23'O) runs on test_CT { var RSL_Message rx_rsl; - f_init(1); - /* Send CHAN RQD and wait for allocation; acknowledge it */ var RslChannelNr chan_nr := f_chreq_act_ack(ra); @@ -1012,12 +1010,15 @@ /* Normal variant */ testcase TC_chan_act_ack_noest() runs on test_CT { + f_init(1); f_TC_chan_act_ack_noest(); } /* Emergency call variant */ testcase TC_chan_act_ack_noest_emerg() runs on test_CT { /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + f_init(1); + f_vty_allow_emerg_bts(true, 0); f_TC_chan_act_ack_noest(ra := 'A5'O); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0ddac0ba8ed4afe993d566dcbea87cdc62ed9fe4 Gerrit-Change-Number: 19578 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 Aug 12 15:39:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 12 Aug 2020 15:39:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Make sure CHAN RQDs for emergency are denied References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 ) Change subject: BSC_Tests: Make sure CHAN RQDs for emergency are denied ...................................................................... BSC_Tests: Make sure CHAN RQDs for emergency are denied Test that a CHAN RQD that indicates an emergency call is rejected if emergency calls are disabled. Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Related: OS#4548 --- M bsc/BSC_Tests.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/19579/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index e556b48..903d5d7 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1022,6 +1022,28 @@ f_TC_chan_act_ack_noest(ra := 'A5'O); } +/* Emergency call variant, but emergency calls are not allowed */ +testcase TC_chan_rqd_emerg_deny() runs on test_CT { + /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + + var RSL_Message rx_rsl; + var GsmRrMessage rr; + + f_init(1); + f_vty_allow_emerg_bts(false, 0); + + IPA_RSL[0].clear; + f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23)); + + rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeC(RSL_MT_IMMEDIATE_ASSIGN_CMD)); + rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); + if (rr.header.message_type == IMMEDIATE_ASSIGNMENT_REJECT) { + setverdict(pass); + } else { + setverdict(fail, "immediate assignment not rejected"); + } +} + /* Test behavior if MSC never answers to CR */ testcase TC_chan_act_ack_est_ind_noreply() runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); @@ -6136,6 +6158,7 @@ execute( TC_chan_act_counter() ); execute( TC_chan_act_ack_noest() ); execute( TC_chan_act_ack_noest_emerg() ); + execute( TC_chan_rqd_emerg_deny() ); execute( TC_chan_act_ack_est_ind_noreply() ); execute( TC_chan_act_ack_est_ind_refused() ); execute( TC_chan_act_nack() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Gerrit-Change-Number: 19579 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 Aug 12 15:45:03 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 12 Aug 2020 15:45:03 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... abis_rsl.c: make sure emergency calls are rejected early If a CHAN RQD indicates an emergency call on a BTS that does not allow emergency calls, then respond with an IMMEDIAGE ASSIGNMENT REJECT message to deny the emergency call early. Related: OS#4548 Change-Id: I148c540269bffd703f38233a1e689e863c175e97 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/19580/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1ffdd06..15b6625 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1394,11 +1394,19 @@ /* check availability / allocate channel * - * - First try to allocate SDCCH. + * - First check for EMERGENCY call attempts, + * - then try to allocate SDCCH. * - If SDCCH is not available, try a TCH/H (less bandwidth). * - If there is still no channel available, try a TCH/F. * */ + if ((rqd_ref->ra & 0xe0) == 0xa0) { + if (bts->si_common.rach_control.t2 & 0x4) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: MS attempts EMERGENCY CALL although EMERGENCY CALLS are not allowed in sysinfo (spec violation by MS!)\n"); + rsl_tx_imm_ass_rej(bts, rqd_ref); + return -EINVAL; + } + } lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 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 Aug 12 16:54:50 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 12 Aug 2020 16:54:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 ) Change subject: Add parsing and checking of StatsD metrics ...................................................................... Add parsing and checking of StatsD metrics Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Related: SYS#4877 --- A library/StatsD_Checker.ttcn A library/StatsD_CodecPort.ttcn A library/StatsD_CodecPort_CtrlFunct.ttcn A library/StatsD_CodecPort_CtrlFunctdef.cc A library/StatsD_Types.ttcn 5 files changed, 488 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/19581/1 diff --git a/library/StatsD_Checker.ttcn b/library/StatsD_Checker.ttcn new file mode 100644 index 0000000..9328d21 --- /dev/null +++ b/library/StatsD_Checker.ttcn @@ -0,0 +1,264 @@ +module StatsD_Checker { + +/* Verifies that StatsD metrics in a test match the expected values + * Uses StatsD_CodecPort to receive the statsd messages from the DUT + * and a separate VTY connection to reset and trigger the stats. + * + * When using this you should configure your stats reporter to disable + * interval-based reports and always send all metrics: + * > stats interval 0 + * > stats reporter statsd + * > remote-ip a.b.c.d + * > remote-port 8125 + * > level subscriber + * > flush-period 1 + * > mtu 1024 + * > enable + * + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Author: Daniel Willmann + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; + +import from Osmocom_Types all; +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +modulepar { + /* Whether to test stats values */ + boolean mp_enable_stats := false; +} + +type record StatsDExpect { + MetricName name, + MetricType mtype, + MetricValue min, + MetricValue max +}; + +type record of StatsDExpect StatsDExpects; + +type record StatsDExpectPriv { + StatsDExpect expect, + integer seen +} + +type record of StatsDExpectPriv StatsDExpectPrivs; + +type enumerated StatsDResultType { + e_Matched, + e_Mismatched, + e_NotFound +} + +type record StatsDExpectResult { + StatsDResultType kind, + integer idx +} + +type component StatsD_Checker_CT { + port TELNETasp_PT STATSVTY; + port STATSD_PROC_PT STATSD_PROC; + port STATSD_CODEC_PT STATS; + timer T_statsd := 5.0; +} + +type component StatsD_ConnHdlr { + port STATSD_PROC_PT STATSD_PROC; +} + +signature STATSD_reset(); +signature STATSD_expect(in StatsDExpects expects) return boolean; + +type port STATSD_PROC_PT procedure { + inout STATSD_reset, STATSD_expect; +} with {extension "internal"}; + +/* Expect templates and functions */ + + +/* StatsD checker component */ +function main(charstring statsd_host, integer statsd_port) runs on StatsD_Checker_CT { + var StatsD_ConnHdlr vc_conn; + var StatsDExpects expects; + + while (not mp_enable_stats) { + log("StatsD checker disabled by modulepar"); + f_sleep(3600.0); + } + + map(self:STATS, system:STATS); + StatsD_CodecPort_CtrlFunct.f_IPL4_listen(STATS, statsd_host, statsd_port, { udp := {} }, {}); + + /* Connect to VTY and reset stats */ + map(self:STATSVTY, system:STATSVTY); + f_vty_set_prompts(STATSVTY); + f_vty_transceive(STATSVTY, "enable"); + + /* Reset the stats system at start */ + f_vty_transceive(STATSVTY, "stats reset"); + + while (true) { + alt { + [] STATSD_PROC.getcall(STATSD_reset:{}) -> sender vc_conn { + f_vty_transceive(STATSVTY, "stats reset"); + STATSD_PROC.reply(STATSD_reset:{}) to vc_conn; + } + [] STATSD_PROC.getcall(STATSD_expect:{?}) -> param(expects) sender vc_conn { + var boolean success := f_statsd_checker_expect(expects); + STATSD_PROC.reply(STATSD_expect:{expects} value success) to vc_conn; + } + } + } +} + + +/* Return false if the expectation doesn't match the metric, otherwise return true */ +private function f_compare_expect(StatsDMetric metric, StatsDExpect expect) return boolean { + if ((metric.name == expect.name) and (metric.mtype == expect.mtype) + and (metric.val >= expect.min) and (metric.val <= expect.max)) { + return true; + } else { + return false; + } +} + +private function f_statsd_checker_metric_expects(StatsDExpectPrivs exp_seen, StatsDMetric metric) +return StatsDExpectResult { + var StatsDExpectResult result := { + kind := e_NotFound, + idx := -1 + }; + + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + var StatsDExpectPriv exp := exp_seen[i]; + if (exp.expect.name != metric.name) { + continue; + } + if (not f_compare_expect(metric, exp.expect)) { + log("EXP mismatch: ", metric, exp.expect); + result := { + kind := e_Mismatched, + idx := i + }; + break; + } else { + log("EXP match: ", metric, exp.expect); + result := { + kind := e_Matched, + idx := i + }; + break; + } + } + return result; +} + +template StatsDExpectPriv t_statsd_expect_priv(template StatsDExpect expect) := { + expect := expect, + seen := 0 +} + +private function f_statsd_checker_expect(StatsDExpects expects) runs on StatsD_Checker_CT return boolean { + var default t; + var StatsDMessage msg; + var StatsDExpectResult res; + var StatsDExpectPrivs exp_seen := {}; + + for (var integer i := 0; i < lengthof(expects); i := i + 1) { + exp_seen := exp_seen & {valueof(t_statsd_expect_priv(expects[i]))}; + } + + /* Dismiss any messages we might have skipped from the last report */ + STATS.clear; + + f_vty_transceive(STATSVTY, "stats report"); + + var boolean seen_all := false; + T_statsd.start; + while (not seen_all) { + var StatsD_RecvFrom rf; + alt { + [] STATS.receive(tr_StatsD_RecvFrom(?, ?)) -> value rf { + msg := rf.msg; + } + [] T_statsd.timeout { + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + /* We're still missing some expects, keep looking */ + if (exp_seen[i].seen == 0) { + log("Timeout waiting for ", exp_seen[i].expect.name, " (min: ", exp_seen[i].expect.min, + ", max: ", exp_seen[i].expect.max, ")"); + } + } + setverdict(fail, "Timeout waiting for metrics"); + return false; + } + } + + for (var integer i := 0; i < lengthof(msg); i := i + 1) { + var StatsDMetric metric := msg[i]; + + res := f_statsd_checker_metric_expects(exp_seen, metric); + if (res.kind == e_NotFound) { + continue; + } + + if (res.kind == e_Mismatched) { + log("Metric: ", metric); + log("Expect: ", exp_seen[res.idx].expect); + setverdict(fail, "Metric failed expectation ", metric, " vs ", exp_seen[res.idx].expect); + return false; + } else if (res.kind == e_Matched) { + exp_seen[res.idx].seen := exp_seen[res.idx].seen + 1; + } + } + + /* Check if all expected metrics were received */ + seen_all := true; + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + /* We're still missing some expects, keep looking */ + if (exp_seen[i].seen == 0) { + seen_all := false; + break; + } + } + } + + T_statsd.stop; + return seen_all; +} + +/* StatsD connhdlr */ +function f_statsd_reset() runs on StatsD_ConnHdlr { + if (not mp_enable_stats) { + return; + } + + STATSD_PROC.call(STATSD_reset:{}) { + [] STATSD_PROC.getreply(STATSD_reset:{}) {} + } +} + +function f_statsd_expect(StatsDExpects expects) runs on StatsD_ConnHdlr return boolean { + var boolean res; + + if (not mp_enable_stats) { + return true; + } + + STATSD_PROC.call(STATSD_expect:{expects}) { + [] STATSD_PROC.getreply(STATSD_expect:{expects}) -> value res; + } + return res; +} + +} diff --git a/library/StatsD_CodecPort.ttcn b/library/StatsD_CodecPort.ttcn new file mode 100644 index 0000000..e7396b5 --- /dev/null +++ b/library/StatsD_CodecPort.ttcn @@ -0,0 +1,57 @@ +module StatsD_CodecPort { + +import from StatsD_Types all; +import from IPL4asp_PortType all; +import from IPL4asp_Types all; + +type record StatsD_RecvFrom { + ConnectionId connId, + HostName remName, + PortNumber remPort, + HostName locName, + PortNumber locPort, + StatsDMessage msg +} + +template StatsD_RecvFrom tr_StatsD_RecvFrom(template ConnectionId cid, template StatsDMessage msg) := { + connId := cid, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg +} + +type record StatsD_Send { + ConnectionId connId, + StatsDMessage msg +} + +private function IPL4_to_StatsD_RecvFrom(in ASP_RecvFrom pin, out StatsD_RecvFrom pout) { + pout.connId := pin.connId; + pout.remName := pin.remName; + pout.remPort := pin.remPort; + pout.locName := pin.locName; + pout.locPort := pin.locPort; + pout.msg := dec_StatsDMessage(oct2char(pin.msg)); +} with { extension "prototype(fast)" }; + +private function StatsD_to_IPL4_Send(in StatsD_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { udp := {} }; + pout.msg := char2oct(enc_StatsDMessage(pin.msg)); +} with { extension "prototype(fast)" }; + +type port STATSD_CODEC_PT message { + out StatsD_Send; + in StatsD_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(StatsD_Send -> ASP_Send: function(StatsD_to_IPL4_Send)) + in(ASP_RecvFrom -> StatsD_RecvFrom: function(IPL4_to_StatsD_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + +} diff --git a/library/StatsD_CodecPort_CtrlFunct.ttcn b/library/StatsD_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..b2927c3 --- /dev/null +++ b/library/StatsD_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,43 @@ +module StatsD_CodecPort_CtrlFunct { + +import from StatsD_CodecPort all; +import from IPL4asp_Types all; + +external function f_IPL4_listen( + inout STATSD_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} +) return Result; + +external function f_IPL4_connect( + inout STATSD_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} +) return Result; + +external function f_IPL4_close( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } +) return Result; + +external function f_IPL4_setUserData( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + in UserData userData +) return Result; + +external function f_IPL4_getUserData( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + out UserData userData +) return Result; + +} diff --git a/library/StatsD_CodecPort_CtrlFunctdef.cc b/library/StatsD_CodecPort_CtrlFunctdef.cc new file mode 100644 index 0000000..1b78a7e --- /dev/null +++ b/library/StatsD_CodecPort_CtrlFunctdef.cc @@ -0,0 +1,55 @@ +#include "IPL4asp_PortType.hh" +#include "IPL4asp_PT.hh" +#include "StatsD_CodecPort.hh" + +namespace StatsD__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + +} diff --git a/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn new file mode 100644 index 0000000..71023c4 --- /dev/null +++ b/library/StatsD_Types.ttcn @@ -0,0 +1,69 @@ +module StatsD_Types { + +/* Definition of abstract types for the StatsD protocol. USes the TITAN "TEXT" + * codec to auto-generate encoder/decoder functions + * + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Author: Daniel Willmann + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +type charstring MetricName with { + variant "END(':')"; +}; + +type integer MetricValue with { + variant "END('|', '\|#(1)')"; +}; + +type charstring MetricType (pattern "(g|c|ms|h|m)"); + +type charstring MetricSampleRate (pattern "\d.\d+") with { + variant "BEGIN('|@')" +}; + +type record StatsDMetric { + MetricName name, + MetricValue val, + MetricType mtype, + MetricSampleRate srate optional +}; + +type record of StatsDMetric StatsDMessage with { + variant "SEPARATOR('\n')"; +}; + +external function enc_StatsDMessage(in StatsDMessage id) return charstring +with { extension "prototype(convert) encode(TEXT)"}; + +external function dec_StatsDMessage(in charstring id) return StatsDMessage +with { extension "prototype(convert) decode(TEXT)"}; + +template StatsDMessage tr_StatsDMsg1(template StatsDMetric metric) := { + [0] := metric +} + +template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { + name := name, + val := val, + mtype := mtype +} + +template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { + name := name, + val := val, + mtype := "c" +} + +template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { + name := name, + val := val, + mtype := "g" +} + +} with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 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 Aug 12 16:54:51 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 12 Aug 2020 16:54:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 ) Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... bsc: Add statsd checker and use it in TC_assignment_sign Related: SYS#4877 Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d --- M bsc/BSC_Tests.default M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/README.md M bsc/gen_links.sh M bsc/osmo-bsc.cfg M bsc/regen_makefile.sh 7 files changed, 55 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/19582/1 diff --git a/bsc/BSC_Tests.default b/bsc/BSC_Tests.default index 8818359..c5d1559 100644 --- a/bsc/BSC_Tests.default +++ b/bsc/BSC_Tests.default @@ -17,8 +17,18 @@ *.BSCVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" *.BSCVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" *.BSCVTY.PROMPT1 := "OsmoBSC> " +*.STATSVTY.CTRL_MODE := "client" +*.STATSVTY.CTRL_HOSTNAME := "127.0.0.1" +*.STATSVTY.CTRL_PORTNUM := "4242" +*.STATSVTY.CTRL_LOGIN_SKIPPED := "yes" +*.STATSVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" +*.STATSVTY.CTRL_READMODE := "buffered" +*.STATSVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" +*.STATSVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" +*.STATSVTY.PROMPT1 := "OsmoBSC> " [MODULE_PARAMETERS] Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoBSC"; +StatsD_Checker.mp_enable_stats := true; [EXECUTE] diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 799d6a1..b58887d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -45,6 +45,11 @@ import from Osmocom_CTRL_Types all; import from Osmocom_CTRL_Adapter all; +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; +import from StatsD_Checker all; + import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; @@ -454,6 +459,9 @@ var MGCP_Emulation_CT vc_MGCP; port TELNETasp_PT BSCVTY; + /* StatsD */ + var StatsD_Checker_CT vc_STATSD; + var RAN_Adapter g_bssap[NUM_MSC]; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; @@ -487,6 +495,8 @@ integer mp_bsc_rsl_port := 3003; /* port number to which to establish the IPA CTRL connection */ integer mp_bsc_ctrl_port := 4249; + /* port number to which to listen for STATSD metrics */ + integer mp_bsc_statsd_port := 8125; /* IP address at which the test binds */ charstring mp_test_ip := "127.0.0.1"; @@ -776,6 +786,13 @@ "sccp-timer iar " & int2str(g_bsc_sccp_timer_iar)}); } +function f_init_statsd(charstring id) runs on test_CT { + id := id & "-STATS"; + + vc_STATSD := StatsD_Checker_CT.create(id); + vc_STATSD.start(StatsD_Checker.main(mp_test_ip, mp_bsc_statsd_port)); +} + private function f_logp(charstring log_msg) runs on MSC_ConnHdlr { // log on TTCN3 log output @@ -873,6 +890,8 @@ } var my_BooleanList allow_attach := { false, false, false }; + f_init_statsd("VirtMSC"); + for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { allow_attach[bssap_idx] := true; /* Call a function of our 'parent component' RAN_Adapter_CT to start the @@ -2610,6 +2629,7 @@ connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); + connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -2771,7 +2791,15 @@ var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, omit); var PDU_BSSAP ass_cmd := f_gen_ass_req(); ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeSIGNAL); + + f_statsd_reset(); f_establish_fully(ass_cmd, exp_compl); + + var StatsDExpects expect := { + { name := "TTCN3.bsc.0.assignment.attempted", mtype := "c", min := 1, max := 1}, + { name := "TTCN3.bsc.0.assignment.completed", mtype := "c", min := 1, max := 1} + }; + f_statsd_expect(expect); } testcase TC_assignment_sign() runs on test_CT { diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 7b8f087..bf96eff 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -30,6 +30,8 @@ import from MGCP_Emulation all; import from SDP_Types all; +import from StatsD_Checker all; + import from RSL_Emulation all; import from RSL_Types all; @@ -409,7 +411,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; diff --git a/bsc/README.md b/bsc/README.md index 015687c..47714e9 100644 --- a/bsc/README.md +++ b/bsc/README.md @@ -8,6 +8,7 @@ * MGW side: MGCP (emulates MGW side) * VTY * CTRL + * StatsD {% dot bsc_tests.svg digraph G { @@ -22,6 +23,7 @@ ATS -> BSC [label="A-bis RSL"]; ATS -> BSC [label="CTRL"]; ATS -> BSC [label="VTY"]; + BSC -> ATS [label="StatsD"]; ATS -> STP [label="A BSSAP\nSCCP/M3UA"]; BSC -> STP [label="A BSSAP\nSCCP/M3UA"]; } @@ -39,6 +41,7 @@ ATS -> BSC [label="A-bis RSL"]; ATS -> BSC [label="CTRL"]; ATS -> BSC [label="VTY"]; + BSC -> ATS [label="StatsD"]; ATS -> BSC [label="A BSSAP\nSCCP/IPA"]; } %} diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 343cc1c..02e093d 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,6 +70,7 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index a4c767a..1662d00 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -41,7 +41,15 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable ! line vty no login diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index def4a3f..f1ea963 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -2,7 +2,7 @@ MAIN=BSC_Tests.ttcn -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc *.c" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc StatsD_CodecPort_CtrlFunctdef.cc *.c" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 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 Aug 12 16:59:21 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 12 Aug 2020 16:59:21 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Update bsc tester config to enable stats testing Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Related: SYS#4877 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 6 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/83/19583/1 diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index fab146d..9aef82a 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -7,6 +7,7 @@ [TESTPORT_PARAMETERS] *.BSCVTY.CTRL_HOSTNAME := "172.18.2.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.2.20" [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.2.20"; @@ -51,6 +52,7 @@ BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; BSC_Tests_CBSP.mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; BSC_Tests_CBSP.mp_cgi_bts3 := { '001'H, '01'H, 3, 3 }; +StatsD_Checker.mp_enable_stats := true; [MAIN_CONTROLLER] diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index f91e603..f55d8e9 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -18,6 +18,13 @@ network_create 172.18.12.0/24 +# Disable stats testing until libosmocore release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^StatsD_Checker.mp_enable_stats.*/StatsD_Checker.mp_enable_stats := false;" $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg + sed -i "s/stats interval 0//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg + sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg +fi + echo Starting container with BSC docker run --rm \ --network $NET_NAME --ip 172.18.12.20 \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 11b9d2a..5e7c8e5 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -24,6 +24,13 @@ cp pre-mscpool-osmo-bsc.cfg $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi +# Disable stats testing until libosmocore release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^StatsD_Checker.mp_enable_stats.*/StatsD_Checker.mp_enable_stats := false;/" $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg + sed -i "s/stats interval 0//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg + sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg +fi + network_create 172.18.2.0/24 echo Starting container with STP diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index d49e6f2..a981097 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -45,7 +45,15 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.2.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable ! line vty no login diff --git a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg index 3aa61d0..2ced140 100644 --- a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg +++ b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg @@ -34,7 +34,16 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.2.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! ! line vty no login diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index 5e0485c..519de4b 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -7,6 +7,7 @@ [TESTPORT_PARAMETERS] *.BSCVTY.CTRL_HOSTNAME := "172.18.12.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.12.20" [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.12.20"; @@ -25,6 +26,7 @@ rctx := 0 } }; +StatsD_Checker.mp_enable_stats := true; [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 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 Aug 12 17:30:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 17:30:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Make sure CHAN RQDs for emergency are denied In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 ) Change subject: BSC_Tests: Make sure CHAN RQDs for emergency are denied ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Gerrit-Change-Number: 19579 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 17:30:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 17:31:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 17:31:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_chan_act_ack_noest_emerg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 ) Change subject: BSC_Tests: fix TC_chan_act_ack_noest_emerg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0ddac0ba8ed4afe993d566dcbea87cdc62ed9fe4 Gerrit-Change-Number: 19578 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 17: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 Wed Aug 12 17:35:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 17:35:38 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19580/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19580/1/src/osmo-bsc/abis_rsl.c at 1403 PS1, Line 1403: 0xe0) == 0xa0 Please add spec. references for these magic numbers. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 17:35:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:05:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:05:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Make sure CHAN RQDs for emergency are denied In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 ) Change subject: BSC_Tests: Make sure CHAN RQDs for emergency are denied ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Gerrit-Change-Number: 19579 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:05:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:05:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:05:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_chan_act_ack_noest_emerg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 ) Change subject: BSC_Tests: fix TC_chan_act_ack_noest_emerg ...................................................................... BSC_Tests: fix TC_chan_act_ack_noest_emerg The testcase TC_chan_act_ack_noest_emerg tests if an emergency causes a channel assignment. This can only work if emergency calls are allowed, but the testcase does not make sure that this actually is the case. Related: OS#4548 Change-Id: I0ddac0ba8ed4afe993d566dcbea87cdc62ed9fe4 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 799d6a1..e556b48 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -999,8 +999,6 @@ private function f_TC_chan_act_ack_noest(OCT1 ra := '23'O) runs on test_CT { var RSL_Message rx_rsl; - f_init(1); - /* Send CHAN RQD and wait for allocation; acknowledge it */ var RslChannelNr chan_nr := f_chreq_act_ack(ra); @@ -1012,12 +1010,15 @@ /* Normal variant */ testcase TC_chan_act_ack_noest() runs on test_CT { + f_init(1); f_TC_chan_act_ack_noest(); } /* Emergency call variant */ testcase TC_chan_act_ack_noest_emerg() runs on test_CT { /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + f_init(1); + f_vty_allow_emerg_bts(true, 0); f_TC_chan_act_ack_noest(ra := 'A5'O); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0ddac0ba8ed4afe993d566dcbea87cdc62ed9fe4 Gerrit-Change-Number: 19578 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 Wed Aug 12 18:05:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:05:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Make sure CHAN RQDs for emergency are denied In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 ) Change subject: BSC_Tests: Make sure CHAN RQDs for emergency are denied ...................................................................... BSC_Tests: Make sure CHAN RQDs for emergency are denied Test that a CHAN RQD that indicates an emergency call is rejected if emergency calls are disabled. Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Related: OS#4548 --- M bsc/BSC_Tests.ttcn 1 file changed, 23 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index e556b48..903d5d7 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1022,6 +1022,28 @@ f_TC_chan_act_ack_noest(ra := 'A5'O); } +/* Emergency call variant, but emergency calls are not allowed */ +testcase TC_chan_rqd_emerg_deny() runs on test_CT { + /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + + var RSL_Message rx_rsl; + var GsmRrMessage rr; + + f_init(1); + f_vty_allow_emerg_bts(false, 0); + + IPA_RSL[0].clear; + f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23)); + + rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeC(RSL_MT_IMMEDIATE_ASSIGN_CMD)); + rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); + if (rr.header.message_type == IMMEDIATE_ASSIGNMENT_REJECT) { + setverdict(pass); + } else { + setverdict(fail, "immediate assignment not rejected"); + } +} + /* Test behavior if MSC never answers to CR */ testcase TC_chan_act_ack_est_ind_noreply() runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); @@ -6136,6 +6158,7 @@ execute( TC_chan_act_counter() ); execute( TC_chan_act_ack_noest() ); execute( TC_chan_act_ack_noest_emerg() ); + execute( TC_chan_rqd_emerg_deny() ); execute( TC_chan_act_ack_est_ind_noreply() ); execute( TC_chan_act_ack_est_ind_refused() ); execute( TC_chan_act_nack() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71 Gerrit-Change-Number: 19579 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 Wed Aug 12 18:07:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:07:43 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied If the BSC configuration is set up to deny emergency calls, make sure that an EMERGENCY SETUP will not be passed to the MSC, instead ensure that the call is released. Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Related: OS#4548 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/19565/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:12:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:12:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 ) Change subject: Add parsing and checking of StatsD metrics ...................................................................... Patch Set 1: Code-Review+1 (4 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn File library/StatsD_Checker.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 48 PS1, Line 48: record of could probably be a 'set of', as 'record of' means ordering is strict/required? not critical. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 91 PS1, Line 91: var StatsD_ConnHdlr vc_conn; : whitespace? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 99 PS1, Line 99: map(self:STATS, system:STATS); : S whitespace? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Types.ttcn File library/StatsD_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Types.ttcn at 17 PS1, Line 17: va ws -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:12: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 Wed Aug 12 18:16:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:16:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 ) Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582/1/bsc/BSC_Tests.ttcn at 788 PS1, Line 788: : function f_init_statsd(charstring id) runs on test_CT { : id := id & "-STATS"; : : vc_STATSD := StatsD_Checker_CT.create(id); : vc_STATSD.start(StatsD_Checker.main(mp_test_ip, mp_bsc_statsd_port)); : } this could become part of the statsd module, so we don't have to replicate it in every bts/bsc/msc/... test suite. You could use a function signature like this: f_init_statsd(charstring id, inout StatsD_Checker_CT vc_STATSD, charsrtring test_ip, integer port) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:16:30 +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 Aug 12 18:17:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:17:29 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Patch Set 1: Code-Review+1 commitlog should probably reference the osmo-ttcn3-hacks.git Change-Id that is required for this to work -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18: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 Wed Aug 12 18:19:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:19:50 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19416 ) Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 12 Aug 2020 18: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 Wed Aug 12 18:20:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:20:30 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:20:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:20:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:20:33 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In [1] I restricted L1 SAPI of PH-RA.ind to PDTCH and PTCCH, and this seems to have caused a regression reported in [2]: DL1IF ERROR sysmo_l1_if.c:251 Rx PH-RA.ind for unknown L1 SAPI PRACH I assumed that PH-RA.ind belonging to a Control Acknowledgement message (in format of 4 Access Bursts) would have PDTCH SAPI, while apparently it's actually arriving on PRACH. [1] I482d60a46b9d253dfe0b16140eac9fea6420b30c [2] https://osmocom.org/issues/1526#note-39 Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Related: OS#1526 --- 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(+), 0 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 0fcd7cf..bf2ecec 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -250,6 +250,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 6c1e0f8..0bfe0b9 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -249,6 +249,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 5e743db..7406bbf 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -239,6 +239,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:21:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 ) Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 18:21:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:21:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 ) Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Aug 2020 18:21:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release EARFCNs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 ) Change subject: bsc: test RR Channel Release EARFCNs ...................................................................... bsc: test RR Channel Release EARFCNs Add a DCHAN and release to recently added SI2quater tests (because these tests already configure various amounts of EARFCNs in osmo-bsc). Verify that the RR Channel Release for CSFB contains all configured EARFCNs. In GSM_RR_Types.ttcn, add coding for "Cell selection indicator after release of all TCH and SDCCH IE". In f_expect_chan_rel(), add optional arg csfb_expect_cells, and, if present, decode the RR Channel Release message's L3 part, and in turn the Cell Selection Indicator Value contained. Match against csfb_expect_cells. In f_tc_si2quater_n_earfcns(), also compose a list of EARFCNs as found in the RR Channel Release, and pass to f_expect_chan_rel(). Depends: I59e427e4ebb1c6af99b27a15c40fed82457ac8ab (osmo-bsc) Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 170 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 903d5d7..660e758 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1498,13 +1498,15 @@ boolean expect_rr_chan_rel := true, boolean expect_rll_rel_req := true, boolean handle_rll_rel := true, - boolean is_csfb := false + boolean is_csfb := false, + template CellSelIndValue csfb_expect_cells := omit ) runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); var boolean got_deact_sacch := false; var boolean got_rr_chan_rel := false; var boolean got_rll_rel_req := false; + var ASP_RSL_Unitdata ud; log("f_expect_chan_rel() expecting: expect_deact_sacch=", expect_deact_sacch, " expect_rr_chan_rel=", expect_rr_chan_rel, " expect_rll_rel_req=", expect_rll_rel_req); alt { @@ -1512,8 +1514,27 @@ got_deact_sacch := true; repeat; } - [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { + [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) -> value ud { got_rr_chan_rel := true; + + if (not istemplatekind(csfb_expect_cells, "omit")) { + var RSL_IE_Body l3_ie; + if (f_rsl_find_ie(ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { + setverdict(fail, "cannot find L3"); + mtc.stop; + } + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(l3_ie.l3_info.payload); + var CellSelIndValue cells := dec_CellSelIndValue( + l3.msgs.rrm.channelRelease.cellSelectionIndicator.cellSelectionIndicatorValue); + + log("GOT RR CHANNEL RELEASE CSFB CELLS: ", cells); + if (match(cells, csfb_expect_cells)) { + setverdict(pass); + } else { + log("EXPECTED CSFB CELLS: ", csfb_expect_cells); + setverdict(fail, "Received CSFB cells list on RR Channel Release does not match expectations"); + } + } repeat; } [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { @@ -1792,7 +1813,8 @@ } } -function f_test_si2quater(integer total_earfcns, template SystemInformationConfig expect_si) runs on test_CT { +function f_test_si2quater(integer total_earfcns, template SystemInformationConfig expect_si, + template CellSelIndValue expect_cells := omit) runs on test_CT { f_init(0); @@ -1804,6 +1826,30 @@ f_init_bts_and_check_sysinfo(0, expect_si := expect_si); + f_init(1); + + if (not istemplatekind(expect_cells, "omit")) { + /* Also check that RR Channel Release contains these EARFCNs. + * (copied code from TC_chan_rel_hard_clear_csfb) */ + var BSSAP_N_DATA_ind rx_di; + var DchanTuple dt; + + dt := f_est_dchan('23'O, 23, '00010203040506'O); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommandCSFB(cause))); + + /* expect Clear Complete from BSC on A */ + BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete)) { + /* release the SCCP connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + } + + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false, is_csfb := true, + csfb_expect_cells := expect_cells); + } + for (var integer i := 1; i < total_earfcns; i := i + 1) { f_bts_0_cfg(BSCVTY, {"si2quater neighbor-list del earfcn " & int2str(f_test_si2quater_earfcn_by_idx(i))}); } @@ -1827,11 +1873,24 @@ return si2quater; } +private function f_tr_rr_chan_rel_earfcns(integer count) return template CellSelIndValue +{ + var template CellSelIndValue_EUTRAN_Descrs cells := {}; + + for (var integer i := 0; i < count; i := i + 1) { + var integer earfcn := f_test_si2quater_earfcn_by_idx(i); + cells[i] := tr_CellSelIndValue_EUTRAN_Descr(earfcn, meas_bw_presence := '0'B, meas_bw := omit); + } + + return tr_CellSelIndValue_EUTRAN(cells); +} + private function f_tc_si2quater_n_earfcns(integer n) runs on test_CT { var template SystemInformationConfig sic := SystemInformationConfig_default; sic.si2quater := f_tr_si2quater_earfcns(n); - f_test_si2quater(n, sic); + var template CellSelIndValue cells := f_tr_rr_chan_rel_earfcns(n); + f_test_si2quater(n, sic, cells); } testcase TC_si2quater_2_earfcns() runs on test_CT { diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index c12ebd1..e54bc92 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1106,4 +1106,111 @@ maio_hsn := maio_hsn } + + /* Templates for the RR Channel Release message's "Cell selection indicator after release of all TCH and SDCCH" IE. + * See 3GPP TS 44.018 9.1.7 and 10.5.2.1e */ + + /* 3GPP TS 44.018 10.5.2.1e, Cell Selection Indicator after release of all TCH and SDCCH value part */ + type record CellSelIndValue { + BIT3 discr, + CellSelIndValueEnum value_list, + BIT1 value_list_term ('0'B) + } with { + variant (value_list) "CROSSTAG( + gsm, discr='000'B; + utran_fdd, discr='001'B; + utran_tdd, discr='010'B; + eutran, discr='011'B; + )" + }; + + /* 3GPP TS 44.018 10.5.2.1e, Cell Selection Indicator after release of all TCH and SDCCH value part */ + private type union CellSelIndValueEnum { + CellSelIndValue_GSM_Descrs gsm, + CellSelIndValue_UTRAN_Descrs utran_fdd, + CellSelIndValue_UTRAN_Descrs utran_tdd, + CellSelIndValue_EUTRAN_Descrs eutran + } with { variant "" }; + + type record of CellSelIndValue_GSM_Descr CellSelIndValue_GSM_Descrs; + /* 3GPP TS 44.018 10.5.2.1e, GSM Description struct */ + type record CellSelIndValue_GSM_Descr { + BIT1 item_ind ('1'B), + BIT1 band_indicator, + uint10_t arfcn, + uint6_t bsic + } with { + variant "PRESENCE(item_ind = '1'B)" + }; + + type record of CellSelIndValue_UTRAN_Descr CellSelIndValue_UTRAN_Descrs; + /* 3GPP TS 44.018 10.5.2.1e, UTRAN {FDD,TDD} Description struct */ + type record CellSelIndValue_UTRAN_Descr { + BIT1 item_ind ('1'B), + BIT1 bandwidth_presence, + uint3_t bandwidth optional, + uint14_t arfcn, + BIT1 cell_info_presence, + UTRAN_CellInfo cell_info optional + } with { + variant "PRESENCE(item_ind = '1'B)" + variant (bandwidth) "PRESENCE(bandwidth_presence = '1'B)" + variant (cell_info) "PRESENCE(cell_info_presence = '1'B)" + }; + type record UTRAN_CellInfo { + BIT1 indic0, + uint5_t nr_of_cells, + // TODO: define cell_information_field + octetstring cell_information_field + } with { variant "" }; + + type record of CellSelIndValue_EUTRAN_Descr CellSelIndValue_EUTRAN_Descrs; + /* 3GPP TS 44.018 10.5.2.1e, E-UTRAN Description struct */ + type record CellSelIndValue_EUTRAN_Descr { + BIT1 item_ind ('1'B), + uint16_t earfcn, + BIT1 meas_bw_presence, + uint3_t meas_bw optional, + BIT1 not_allowed_cells_presence, + // define not_allowed_cells + octetstring not_allowed_cells optional, + BIT1 target_pcid_presence, + uint9_t target_pcid optional + } with { + variant "PRESENCE(item_ind = '1'B)" + variant (meas_bw) "PRESENCE(meas_bw_presence = '1'B)" + variant (not_allowed_cells) "PRESENCE(not_allowed_cells_presence = '1'B)" + variant (target_pcid) "PRESENCE(target_pcid_presence = '1'B)" + }; + + template CellSelIndValue tr_CellSelIndValue_EUTRAN( + template CellSelIndValue_EUTRAN_Descrs cells := {}) + := { + discr := '011'B, + value_list := { + eutran := cells + }, + value_list_term := '0'B + }; + + template CellSelIndValue_EUTRAN_Descr tr_CellSelIndValue_EUTRAN_Descr( + template (present) uint16_t earfcn, + template (present) BIT1 meas_bw_presence := ?, + template uint3_t meas_bw := *) + := { + item_ind := '1'B, + earfcn := earfcn, + meas_bw_presence := meas_bw_presence, + meas_bw := meas_bw, + not_allowed_cells_presence := '0'B, + not_allowed_cells := omit, + target_pcid_presence := '0'B, + target_pcid := omit + }; + + external function enc_CellSelIndValue(in CellSelIndValue ro) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + external function dec_CellSelIndValue(in octetstring stream) return CellSelIndValue + with { extension "prototype(convert) decode(RAW)" }; + } with { encode "RAW" ; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I882c5e1f70bcc4833fc837a95c900ce291919cc5 Gerrit-Change-Number: 19216 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: test RR Channel Release cause codes from Clear Command cause codes In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 ) Change subject: bsc: test RR Channel Release cause codes from Clear Command cause codes ...................................................................... bsc: test RR Channel Release cause codes from Clear Command cause codes Invoke Clear Command with various Cause codes and verify that the RR Channel Release reflects them. Depends: I734cc55c501d61bbdadee81a223b26f9df57f959 (osmo-bsc) Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 89 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 660e758..15d83da 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1499,7 +1499,8 @@ boolean expect_rll_rel_req := true, boolean handle_rll_rel := true, boolean is_csfb := false, - template CellSelIndValue csfb_expect_cells := omit + template CellSelIndValue csfb_expect_cells := omit, + template RR_Cause expect_rr_cause := ? ) runs on test_CT { var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0)); @@ -1507,6 +1508,9 @@ var boolean got_rr_chan_rel := false; var boolean got_rll_rel_req := false; var ASP_RSL_Unitdata ud; + var RSL_IE_Body l3_ie; + var PDU_ML3_NW_MS l3; + var RR_Cause got_cause; log("f_expect_chan_rel() expecting: expect_deact_sacch=", expect_deact_sacch, " expect_rr_chan_rel=", expect_rr_chan_rel, " expect_rll_rel_req=", expect_rll_rel_req); alt { @@ -1517,13 +1521,13 @@ [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) -> value ud { got_rr_chan_rel := true; + if (f_rsl_find_ie(ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { + setverdict(fail, "cannot find L3"); + mtc.stop; + } + l3 := dec_PDU_ML3_NW_MS(l3_ie.l3_info.payload); + if (not istemplatekind(csfb_expect_cells, "omit")) { - var RSL_IE_Body l3_ie; - if (f_rsl_find_ie(ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { - setverdict(fail, "cannot find L3"); - mtc.stop; - } - var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(l3_ie.l3_info.payload); var CellSelIndValue cells := dec_CellSelIndValue( l3.msgs.rrm.channelRelease.cellSelectionIndicator.cellSelectionIndicatorValue); @@ -1535,10 +1539,38 @@ setverdict(fail, "Received CSFB cells list on RR Channel Release does not match expectations"); } } + + if (not istemplatekind(expect_rr_cause, "omit")) { + int2enum(oct2int(l3.msgs.rrm.channelRelease.rRCause.valuePart), got_cause); + log("GOT CAUSE CODE: ", l3.msgs.rrm.channelRelease.rRCause.valuePart, " = ", got_cause); + if (match(got_cause, expect_rr_cause)) { + setverdict(pass); + } else { + log("EXPECTED CAUSE CODE: ", expect_rr_cause); + setverdict(fail, "Received RR Channel Release Cause code does not match expectations"); + } + } repeat; } - [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { + [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) -> value ud { got_rr_chan_rel := true; + + if (not istemplatekind(expect_rr_cause, "omit")) { + if (f_rsl_find_ie(ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { + setverdict(fail, "cannot find L3"); + mtc.stop; + } + l3 := dec_PDU_ML3_NW_MS(l3_ie.l3_info.payload); + + int2enum(oct2int(l3.msgs.rrm.channelRelease.rRCause.valuePart), got_cause); + log("GOT CAUSE CODE: ", l3.msgs.rrm.channelRelease.rRCause.valuePart, " = ", got_cause); + if (match(got_cause, expect_rr_cause)) { + setverdict(pass); + } else { + log("EXPECTED CAUSE CODE: ", expect_rr_cause); + setverdict(fail, "Received RR Channel Release Cause code does not match expectations"); + } + } repeat; } [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_REL_REQ(rsl_chan_nr, ?))) { @@ -1688,6 +1720,34 @@ setverdict(pass); } +private function f_tc_chan_rel_rr_cause(myBSSMAP_Cause clear_cmd_cause, template RR_Cause expect_rr_cause) +runs on test_CT +{ + var DchanTuple dt; + + dt := f_est_dchan('23'O, 23, '00010203040506'O); + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(enum2int(clear_cmd_cause)))); + BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete)) { + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + } + + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false, expect_rr_cause := expect_rr_cause); + setverdict(pass); +} + +/* Test that Clear Command cause codes affect the RR Channel Release cause code */ +testcase TC_chan_rel_rr_cause() runs on test_CT { + f_init(1); + + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_CALL_CONTROL, GSM48_RR_CAUSE_NORMAL); + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_HANDOVER_SUCCESSFUL, GSM48_RR_CAUSE_NORMAL); + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_PREEMPTION, GSM48_RR_CAUSE_PREMPTIVE_REL); + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE, GSM48_RR_CAUSE_PROT_ERROR_UNSPC); + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE, GSM48_RR_CAUSE_ABNORMAL_UNSPEC); + f_tc_chan_rel_rr_cause(GSM0808_CAUSE_EQUIPMENT_FAILURE, GSM48_RR_CAUSE_ABNORMAL_UNSPEC); +} + /* Test behavior if RSL EST IND for non-active channel */ testcase TC_rll_est_ind_inact_lchan() runs on test_CT { timer T := 2.0; @@ -6231,6 +6291,7 @@ execute( TC_chan_rel_hard_rlsd_ms_dead() ); execute( TC_chan_rel_a_reset() ); execute( TC_chan_rel_sccp_tiar_timeout() ); + execute( TC_chan_rel_rr_cause() ); execute( TC_outbound_connect() ); diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index e54bc92..2c607a7 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -113,6 +113,26 @@ INTERSYS_TO_EUTRAN_HO_CMD ('01100110'B) } with { variant "FIELDLENGTH(8)" }; + type enumerated RR_Cause { + GSM48_RR_CAUSE_NORMAL ('00'O), + GSM48_RR_CAUSE_ABNORMAL_UNSPEC ('01'O), + GSM48_RR_CAUSE_ABNORMAL_UNACCT ('02'O), + GSM48_RR_CAUSE_ABNORMAL_TIMER ('03'O), + GSM48_RR_CAUSE_ABNORMAL_NOACT ('04'O), + GSM48_RR_CAUSE_PREMPTIVE_REL ('05'O), + GSM48_RR_CAUSE_HNDOVER_IMP ('08'O), + GSM48_RR_CAUSE_CHAN_MODE_UNACCT ('09'O), + GSM48_RR_CAUSE_FREQ_NOT_IMPL ('0a'O), + GSM48_RR_CAUSE_CALL_CLEARED ('41'O), + GSM48_RR_CAUSE_SEMANT_INCORR ('5f'O), + GSM48_RR_CAUSE_INVALID_MAND_INF ('60'O), + GSM48_RR_CAUSE_MSG_TYPE_N ('61'O), + GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT('62'O), + GSM48_RR_CAUSE_COND_IE_ERROR ('64'O), + GSM48_RR_CAUSE_NO_CELL_ALLOC_A ('65'O), + GSM48_RR_CAUSE_PROT_ERROR_UNSPC ('6f'O) + } with { variant "FIELDLENGTH(8)" }; + type octetstring RestOctets with { variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; type hexstring GsmBcdString with { variant "HEXORDER(low)" }; type GsmBcdString BcdMccMnc with { variant "FIELDLENGTH(6)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6c99f28b610a67f2d59ec00b3541940e882251b Gerrit-Change-Number: 19217 Gerrit-PatchSet: 6 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 Wed Aug 12 18:21:28 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 12 Aug 2020 18:21:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify NSVC IPv4/IPv6 in the INFO.ind message In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421 ) Change subject: BTS_Tests: verify NSVC IPv4/IPv6 in the INFO.ind message ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae854875a45dbc29cd46a267ccaf60f1f2ac2973 Gerrit-Change-Number: 19421 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 12 Aug 2020 18:21: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 Wed Aug 12 18:21:38 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 12 Aug 2020 18:21:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: support IPv6 NSVC addr In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420 ) Change subject: library/PCUIF_Types: version 10: support IPv6 NSVC addr ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I13b03c380edc2dc609c5e4053462a3cd6f78ce72 Gerrit-Change-Number: 19420 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 12 Aug 2020 18:21: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 Wed Aug 12 18:21:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add E1 related testscases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 ) Change subject: MGCP_Test: add E1 related testscases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Gerrit-Change-Number: 19561 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:21:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:21:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:21:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add E1 related testscases In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 ) Change subject: MGCP_Test: add E1 related testscases ...................................................................... MGCP_Test: add E1 related testscases osmo-mgw recently added support for E1 trunks via libosmoabis. While the actual E1 plane may be difficult to test, there is some functionality that can already be tested without having E1 support in TTCN3. Lets add three testcases: - TC_e1_crcx_and_dlcx_ep: Does a CRCX to an E1 endpoint followed by a DLCX - TC_e1_crcx_with_overlap: Not all E1 endpoint combinations are possible at the same time. This test verifies that invalid endpoint combinations are prevented. - TC_e1_crcx_loopback: Opes an E1 endpoint and tests if RTP loopback works (NO E1 traffic involved) Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Related: OS#2659 --- M mgw/MGCP_Test.ttcn 1 file changed, 87 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 6caef79..24bfdaf 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2146,6 +2146,88 @@ setverdict(pass); } + /* Test (valid) CRCX followed by (valid) DLCX containing EP (E1) */ + testcase TC_e1_crcx_and_dlcx_ep() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id := '8376F297'H; + + f_init(ep); + + cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + + f_dlcx_ok(ep); + + setverdict(pass); + } + + /* Test what happens when overlapping endpoints are selected (E1) */ + testcase TC_e1_crcx_with_overlap() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep_1 := "ds/e1-1/s-1/su8-0@" & c_mgw_domain; + var MgcpEndpoint ep_2 := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id_1 := '8376F297'H; + var MgcpCallId call_id_2 := '837AF2A7'H; + + f_init(); + + /* ep_1 and ep_2 are overlapping, selecting both one after + * another should work fine: */ + cmd := ts_CRCX(get_next_trans_id(), ep_1, "recvonly", call_id_1); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + f_dlcx_ok(ep_1); + cmd := ts_CRCX(get_next_trans_id(), ep_2, "recvonly", call_id_2); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + f_dlcx_ok(ep_2); + + /* When ep_1 is serving a call we can not select ep_2 becaus + * it is overlapping with ep_1 */ + cmd := ts_CRCX(get_next_trans_id(), ep_1, "recvonly", call_id_1); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + cmd := ts_CRCX(get_next_trans_id(), ep_2, "recvonly", call_id_2); + resp := mgcp_transceive_mgw(cmd, ?); + if (resp.line.code != "501") { + setverdict(fail, "unexpected CRCX returncode, CRCX should fail!"); + } + f_dlcx_ok(ep_1); + + setverdict(pass); + } + + /* Create one connection in loopback mode, test if the RTP packets are + * actually reflected */ + testcase TC_e1_crcx_loopback() runs on dummy_CT { + var RtpFlowData flow; + var MgcpEndpoint ep := "ds/e1-1/s-1/su16-0@" & c_mgw_domain; + var MgcpCallId call_id := '12250989'H; + var RtpemStats stats; + + f_init(ep); + flow := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000/1")); + flow.em.portnr := 10000; + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(1.0); + f_flow_delete(RTPEM[0], ep, call_id); + + stats := f_rtpem_stats_get(RTPEM[0]); + + if (stats.num_pkts_tx != stats.num_pkts_rx) { + setverdict(fail); + } + if (stats.bytes_payload_tx != stats.bytes_payload_rx) { + setverdict(fail); + } + + f_rtpem_stats_err_check(stats); + + setverdict(pass); + } + control { execute(TC_selftest()); execute(TC_crcx()); @@ -2201,5 +2283,10 @@ execute(TC_amr_bwe_bwe_rtp_conversion()); execute(TC_conn_timeout()); + + execute(TC_e1_crcx_and_dlcx_ep()); + execute(TC_e1_crcx_with_overlap()); + execute(TC_e1_crcx_loopback()); + } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673eeffcb3012b42f039789960c54d99282e1aad Gerrit-Change-Number: 19561 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:24:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:24:09 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 18: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 Wed Aug 12 18:24:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:24:12 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19565 ) Change subject: gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied ...................................................................... gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied If the BSC configuration is set up to deny emergency calls, make sure that an EMERGENCY SETUP will not be passed to the MSC, instead ensure that the call is released. Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Related: OS#4548 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index e54a937..8bf4b2a 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -988,6 +989,24 @@ break; } break; + case GSM48_PDISC_CC: + /* Make sure that EMERGENCY CALLS can not be made if the + * VTY configuration does not permit. */ + if (msg_type == GSM48_MT_CC_EMERG_SETUP) { + if (msg->lchan->ts->trx->bts->si_common.rach_control.t2 & 0x4) { + LOG_LCHAN(msg->lchan, LOGL_NOTICE, "MS attempts EMERGENCY SETUP although EMERGENCY CALLS" + " are not allowed in sysinfo (spec violation by MS!)\n"); + lchan_release(msg->lchan, true, true, GSM48_RR_CAUSE_PREMPTIVE_REL); + break; + } + if (!conn->sccp.msc->allow_emerg) { + LOG_LCHAN(msg->lchan, LOGL_NOTICE, "MS attempts EMERGENCY SETUP, but EMERGENCY CALLS are" + " denied on this BSC (check BTS config!)\n"); + lchan_release(msg->lchan, true, true, GSM48_RR_CAUSE_PREMPTIVE_REL); + break; + } + } + /* fall through */ default: bsc_dtap(conn, link_id, msg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6eb38370ce4165d221d2ffbe1cd105c0628313c Gerrit-Change-Number: 19565 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:31:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:31:36 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... abis_rsl.c: make sure emergency calls are rejected early If a CHAN RQD indicates an emergency call on a BTS that does not allow emergency calls, then respond with an IMMEDIAGE ASSIGNMENT REJECT message to deny the emergency call early. Related: OS#4548 Change-Id: I148c540269bffd703f38233a1e689e863c175e97 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/19580/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:32:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:32:49 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19580/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19580/1/src/osmo-bsc/abis_rsl.c at 1403 PS1, Line 1403: 0xe0) == 0xa0 > Please add spec. references for these magic numbers. [?] in orddrto avoid having to use such magic numbers, we actually already have called get_reason_by_chreq() above, which will return CHREQ_T_EMERG_CALL. I've submitted an amended patch, I don't want to wait any longer to finally get this merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:32:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:33:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:33:29 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: exit early on full disk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19429 ) Change subject: jenkins-common.sh: exit early on full disk ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6540797c8e0ee3e7b09d4a80592d5e270e7d9adc Gerrit-Change-Number: 19429 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18: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 Wed Aug 12 18:33:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:33:31 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: exit early on full disk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19429 ) Change subject: jenkins-common.sh: exit early on full disk ...................................................................... jenkins-common.sh: exit early on full disk When my disk runs full, jenkins-common.sh fails to create a VOL_BASEDIR right at the start, and hence no testsuite gets its external volumes mounted properly. However, the test suite still starts up with missing cfg files etc, and fails in non-obvious ways, until I find out the disk is full some minutes later. Instead, verify that the base dir really exists or bail out right there. Change-Id: I6540797c8e0ee3e7b09d4a80592d5e270e7d9adc --- M jenkins-common.sh 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified fixeria: Looks good to me, approved diff --git a/jenkins-common.sh b/jenkins-common.sh index a29720c..64ec0bb 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -135,6 +135,11 @@ mkdir -p "$VOL_BASE_DIR" fi +if [ ! -d "$VOL_BASE_DIR" ]; then + echo "ERROR: \$VOL_BASE_DIR does not exist: '$VOL_BASE_DIR'" + exit 1 +fi + # non-jenkins execution: put logs in /tmp if [ "x$BUILD_TAG" = "x" ]; then BUILD_TAG=nonjenkins -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6540797c8e0ee3e7b09d4a80592d5e270e7d9adc Gerrit-Change-Number: 19429 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Aug 12 18:35:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:35:16 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... Abandoned we have concluded that a single L1CTL socket is only to be used for a single MS -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 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 Wed Aug 12 18:36:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:36:04 +0000 Subject: Change in osmocom-bb[master]: l1ctl: preserve TS configuration for HR channels In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18095 ) Change subject: l1ctl: preserve TS configuration for HR channels ...................................................................... Abandoned I think in a MS it is ok to not support activation of multiple lchan within one timeslot -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3ac0ae22c40e3cb99c44f1156000c6909f739ad4 Gerrit-Change-Number: 18095 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:37:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:37:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 2 ...................................................................... Patch Set 4: > This seems indeed too low for LimeNET-micro. so what is the conclusion? Which value works for LimeNET-micro? Can you help roh to do related tests? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Aug 2020 18:37: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 Aug 12 18:38:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:38:28 +0000 Subject: Change in osmo-bsc[master]: paging: Remove obsolete comment. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18428 ) Change subject: paging: Remove obsolete comment. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd Gerrit-Change-Number: 18428 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 12 Aug 2020 18:38: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 Aug 12 18:38:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:38:36 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Name TS FSM instances on allocation. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18702 ) Change subject: timeslot_fsm: Name TS FSM instances on allocation. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc74ea142b96323b48826f8a52e13e45d535512a Gerrit-Change-Number: 18702 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Aug 2020 18:38: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 Aug 12 18:40:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:40:44 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#4) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... abis_rsl.c: make sure emergency calls are rejected early If a CHAN RQD indicates an emergency call on a BTS that does not allow emergency calls, then respond with an IMMEDIAGE ASSIGNMENT REJECT message to deny the emergency call early. Related: OS#4548 Change-Id: I148c540269bffd703f38233a1e689e863c175e97 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/19580/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:49:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:49:50 +0000 Subject: Change in osmo-bsc[master]: paging: Remove obsolete comment. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18428 ) Change subject: paging: Remove obsolete comment. ...................................................................... paging: Remove obsolete comment. I beleive MSC split is finished a long time ago and everything is already re-wired for the A-interface. Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd --- M src/osmo-bsc/paging.c 1 file changed, 0 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 521598f..37ec61c 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -60,12 +60,6 @@ #define PAGING_TIMER 0, 500000 /* - * TODO MSCSPLIT: the paging in libbsc is closely tied to MSC land in that the - * MSC realm callback functions used to be invoked from the BSC/BTS level. So - * this entire file needs to be rewired for use with an A interface. - */ - -/* * Kill one paging request update the internal list... */ static void paging_remove_request(struct gsm_bts_paging_state *paging_bts, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd Gerrit-Change-Number: 18428 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 18:49:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:49:50 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Fix typo in a comment. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18701 ) Change subject: chan_alloc: Fix typo in a comment. ...................................................................... chan_alloc: Fix typo in a comment. Change-Id: Iaed3fcd99ec8c08faa75e23af5b50a1d0e0905eb --- M src/osmo-bsc/chan_alloc.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 6829251..3569d4e 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -46,7 +46,7 @@ llist_for_each_entry(trx, &bts->trx_list, list) { int i; - /* skip administratively deactivated tranxsceivers */ + /* skip administratively deactivated transceivers */ if (!trx_is_usable(trx)) continue; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaed3fcd99ec8c08faa75e23af5b50a1d0e0905eb Gerrit-Change-Number: 18701 Gerrit-PatchSet: 2 Gerrit-Owner: ipse 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 Aug 12 18:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 18:49:51 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Name TS FSM instances on allocation. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18702 ) Change subject: timeslot_fsm: Name TS FSM instances on allocation. ...................................................................... timeslot_fsm: Name TS FSM instances on allocation. Before this patch FSM instances of configured but not connected BTS's look like this: FSM Instance Name: 'timeslot[0x612000004a20]', ID: '(null)' Log-Level: 'DEBUG', State: 'NOT_INITIALIZED' Now they look like this: FSM Instance Name: 'timeslot(0-0-7-NONE)[0x612000004a20]', ID: '0-0-7-NONE' Log-Level: 'DEBUG', State: 'NOT_INITIALIZED' which makes it possible to attribute them to where they belong. Otherwise, they look like lingering or leaking unattributed FSM instances. Change-Id: Idc74ea142b96323b48826f8a52e13e45d535512a --- M src/osmo-bsc/timeslot_fsm.c 1 file changed, 1 insertion(+), 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/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 0aecfae..106e6a1 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -63,6 +63,7 @@ OSMO_ASSERT(ts->trx); ts->fi = osmo_fsm_inst_alloc(&ts_fsm, ts->trx, ts, LOGL_DEBUG, NULL); OSMO_ASSERT(ts->fi); + ts_fsm_update_id(ts); } enum lchan_sanity { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc74ea142b96323b48826f8a52e13e45d535512a Gerrit-Change-Number: 18702 Gerrit-PatchSet: 2 Gerrit-Owner: ipse 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 Aug 12 18:51:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 18:51:26 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 12 Aug 2020 18:51:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 19:02:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Aug 2020 19:02:11 +0000 Subject: Change in osmo-bsc[master]: abis_rsl.c: make sure emergency calls are rejected early In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19580 ) Change subject: abis_rsl.c: make sure emergency calls are rejected early ...................................................................... abis_rsl.c: make sure emergency calls are rejected early If a CHAN RQD indicates an emergency call on a BTS that does not allow emergency calls, then respond with an IMMEDIAGE ASSIGNMENT REJECT message to deny the emergency call early. Related: OS#4548 Change-Id: I148c540269bffd703f38233a1e689e863c175e97 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 10 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 1ffdd06..6787511 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1394,11 +1394,20 @@ /* check availability / allocate channel * - * - First try to allocate SDCCH. + * - First check for EMERGENCY call attempts, + * - then try to allocate SDCCH. * - If SDCCH is not available, try a TCH/H (less bandwidth). * - If there is still no channel available, try a TCH/F. * */ + if (chreq_reason == GSM_CHREQ_REASON_EMERG) { + if (bts->si_common.rach_control.t2 & 0x4) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: MS attempts EMERGENCY CALL although EMERGENCY CALLS " + "are not allowed in sysinfo (spec violation by MS!)\n"); + rsl_tx_imm_ass_rej(bts, rqd_ref); + return -EINVAL; + } + } lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I148c540269bffd703f38233a1e689e863c175e97 Gerrit-Change-Number: 19580 Gerrit-PatchSet: 5 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 Wed Aug 12 19:29:07 2020 From: gerrit-no-reply at lists.osmocom.org (Matt Johnson) Date: Wed, 12 Aug 2020 19:29:07 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag References: Message-ID: Matt Johnson has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... sip: Specify invite contact tag Version 1.12.12 of libsofia-sip-ua no longer automatically generates a contact header element from the local ip address and port. Specifying the contact tag does not break operation with the existing library (1.12.11), but allows for operation on a system with freeswitch 1.10.4 or later installed, which is built against this new version of libsofia-sip-ua. Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 --- M src/sip.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/84/19584/1 diff --git a/src/sip.c b/src/sip.c index c635542..037afd3 100644 --- a/src/sip.c +++ b/src/sip.c @@ -597,6 +597,9 @@ called_num, agent->app->sip.remote_addr, agent->app->sip.remote_port); + char *contact = talloc_asprintf(leg, "sip:%s:%d", + agent->app->sip.local_addr, + agent->app->sip.local_port); char *sdp = sdp_create_file(leg, other, sdp_sendrecv); leg->state = SIP_CC_INITIAL; @@ -604,6 +607,7 @@ nua_invite(leg->nua_handle, SIPTAG_FROM_STR(from), SIPTAG_TO_STR(to), + SIPTAG_CONTACT_STR(contact), NUTAG_MEDIA_ENABLE(0), SIPTAG_CONTENT_TYPE_STR("application/sdp"), SIPTAG_PAYLOAD_STR(sdp), -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 1 Gerrit-Owner: Matt Johnson Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 19:37:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Aug 2020 19:37:19 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584/1/src/sip.c File src/sip.c: https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584/1/src/sip.c at 620 PS1, Line 620: return 0; Looks like you're leaking memory. Chunk 'contact' needs to be free()d here too. -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 1 Gerrit-Owner: Matt Johnson Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 19:37:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 19:46:09 2020 From: gerrit-no-reply at lists.osmocom.org (Matt Johnson) Date: Wed, 12 Aug 2020 19:46:09 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 to look at the new patch set (#2). Change subject: sip: Specify invite contact tag ...................................................................... sip: Specify invite contact tag Version 1.12.12 of libsofia-sip-ua no longer automatically generates a contact header element from the local ip address and port. Specifying the contact tag does not break operation with the existing library (1.12.11), but allows for operation on a system with freeswitch 1.10.4 or later installed, which is built against this new version of libsofia-sip-ua. Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 --- M src/sip.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/84/19584/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: Matt Johnson 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 Aug 12 19:48:01 2020 From: gerrit-no-reply at lists.osmocom.org (Matt Johnson) Date: Wed, 12 Aug 2020 19:48:01 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: Matt Johnson has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > (1 comment) I believe this should be addressed in the new patch. Thank you for the quick review, and sorry for a rookie mistake! -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: Matt Johnson Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Matt Johnson Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Aug 2020 19:48: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 Aug 12 22:57:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 22:57:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix ... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 ) Change subject: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix latest) ...................................................................... bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix latest) In the ttcn3-bsc-latest tests, there are no 'msc 1' and 'msc 2' configured, so stepping into 'msc 1' and '2' creates two new, empty MSC configurations. osmo-bsc latest actually still tries to use them and fails 2/3 Compl L3. So do not step into 'msc' config scopes if no such MSC is mentioned in the running config yet. This should finally fix the bsc latest tests after I broke them in I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca and Ibd5adb359b3fb302e2c70700d911878aef605ff3 and I75295d638072df9f5213a7e74e4a960c009c2865. Yes, I know :/ Change-Id: Ibfeeea98c2a962dec58ad03beb35bb7f83cad228 --- M bsc/BSC_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/19585/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 15d83da..1c02cb6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -837,7 +837,15 @@ private function f_vty_msc_allow_attach(TELNETasp_PT pt, my_BooleanList allow_attach_list) { + var charstring config := f_vty_transceive_ret(pt, "show running-config"); + for (var integer msc_nr := 0; msc_nr < sizeof(allow_attach_list); msc_nr := msc_nr+1) { + if (f_strstr(config, "\nmsc " & int2str(msc_nr) & "\n") < 0) { + /* There is no 'msc N' for this msc_nr in the running config, so don't create an empty msc by + * stepping into that config node. */ + log("msc ", msc_nr, " is not configured, skipping"); + continue; + } f_vty_enter_cfg_msc(pt, msc_nr); if (allow_attach_list[msc_nr]) { /* strict := false: ignore if osmo-bsc does not support this config option (latest build) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibfeeea98c2a962dec58ad03beb35bb7f83cad228 Gerrit-Change-Number: 19585 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 22:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 22:57:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix ... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 ) Change subject: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix latest) ...................................................................... Patch Set 1: Code-Review+2 yet another fast track to finally fix the ttcn3-bsc-test-latest build -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibfeeea98c2a962dec58ad03beb35bb7f83cad228 Gerrit-Change-Number: 19585 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 12 Aug 2020 22: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 Wed Aug 12 23:10:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:10:16 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19576 ) Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... Patch Set 1: > I actually implemented what you described first, and then found myself asking how many potential variations of "when it applies" would we need. I imagine a free-text attribute that indicates which vty command effects the config to apply. to-apply: oml drop to-apply: no active; active to-apply: full restart would that be possible? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 12 Aug 2020 23:10: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 Wed Aug 12 23:17:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:17:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix ... In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 ) Change subject: bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix latest) ...................................................................... bsc: fix f_vty_msc_allow_attach(): do not create new empty mscs (fix latest) In the ttcn3-bsc-latest tests, there are no 'msc 1' and 'msc 2' configured, so stepping into 'msc 1' and '2' creates two new, empty MSC configurations. osmo-bsc latest actually still tries to use them and fails 2/3 Compl L3. So do not step into 'msc' config scopes if no such MSC is mentioned in the running config yet. This should finally fix the bsc latest tests after I broke them in I02ad58ed7d0d0aac61e393b415e09c6c5c8a70ca and Ibd5adb359b3fb302e2c70700d911878aef605ff3 and I75295d638072df9f5213a7e74e4a960c009c2865. Yes, I know :/ Change-Id: Ibfeeea98c2a962dec58ad03beb35bb7f83cad228 --- M bsc/BSC_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 15d83da..1c02cb6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -837,7 +837,15 @@ private function f_vty_msc_allow_attach(TELNETasp_PT pt, my_BooleanList allow_attach_list) { + var charstring config := f_vty_transceive_ret(pt, "show running-config"); + for (var integer msc_nr := 0; msc_nr < sizeof(allow_attach_list); msc_nr := msc_nr+1) { + if (f_strstr(config, "\nmsc " & int2str(msc_nr) & "\n") < 0) { + /* There is no 'msc N' for this msc_nr in the running config, so don't create an empty msc by + * stepping into that config node. */ + log("msc ", msc_nr, " is not configured, skipping"); + continue; + } f_vty_enter_cfg_msc(pt, msc_nr); if (allow_attach_list[msc_nr]) { /* strict := false: ignore if osmo-bsc does not support this config option (latest build) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibfeeea98c2a962dec58ad03beb35bb7f83cad228 Gerrit-Change-Number: 19585 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 to look at the new patch set (#2). Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... bsc CBSP: quick-fix f_cbsp_init_client() Expecting a CBSP RESTART when connecting as CBSP client does not work, osmo-bsc doesn't send any. Let's ignore this to get the CBSP tests running at all first. We should clarify expected behavior and apply that, later (OS#4702). Related: OS#4702 Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/19435/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): allow passing explicit payload len In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 to look at the new patch set (#3). Change subject: bsc CBSP: f_gen_page(): allow passing explicit payload len ...................................................................... bsc CBSP: f_gen_page(): allow passing explicit payload len Keep the default of using a random payload length, but also allow picking one specifically. TC_cbsp_write_bss() will use this in a subsequent patch. Change-Id: I259da42cbcbfdfe930aabb45c9de8a2b67c69629 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/19438/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I259da42cbcbfdfe930aabb45c9de8a2b67c69629 Gerrit-Change-Number: 19438 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 to look at the new patch set (#3). Change subject: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths ...................................................................... bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths Recently fixed errors in the last_block counting as well as encoding ask for a proper test coverage of various lengths, which also verifies the expected blocks count explicitly. Implement this in TC_cbsp_write_bss(): Run f_tc_cbsp_write_bss() multiple times with differing fixed payload lengths, at all block count transitions, plus some arbitrary lengths in-between. Before this patch, TC_cbsp_write_bss() would pick a different random payload length for every test run, which, until recently, then sporadically hit last_block value errors. That's not good for reproducability. Change-Id: I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 33 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/19439/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 Gerrit-Change-Number: 19439 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 ) Change subject: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val ...................................................................... comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val Change-Id: I0841b037d39fcadb75e1c13cf97d22917b68e2aa --- M library/Osmocom_Types.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/19586/1 diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index e55f1d6..994a0cc 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -49,7 +49,8 @@ uint15_t arfcn } with { variant "" }; - /* return random integer between 0 and max */ + /* 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 { return float2int(rnd()*int2float(max)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0841b037d39fcadb75e1c13cf97d22917b68e2aa Gerrit-Change-Number: 19586 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): fix generated payload size range References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 ) Change subject: bsc CBSP: f_gen_page(): fix generated payload size range ...................................................................... bsc CBSP: f_gen_page(): fix generated payload size range Fix the length calculation to provide a range of [1..82]. f_rnd_int() generates [0..max[ (i.e., < max), so f_gen_page() so far has a payload len range of [0..81]. We want no zero payload, and we want a maximum of 82 bytes (page max of 88 minus 6 header bytes). Change-Id: Id521b6038a23dc8e71ea25475bcdef7bc8917531 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/19587/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 2399c3a..f54de9b 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -136,7 +136,10 @@ } function f_gen_page() return CBSP_IE { - var integer len := f_rnd_int(82); + /* The maximum CBSP page payload space is 88, but 6 bytes of payload header are added in the first page: the + * maximum length generated here thus is 82. The minimum generated length is 1 (avoiding zero length). + * note, f_rnd_int(82) returns [0..81], so this results in a len ranging [1..82]: */ + var integer len := 1 + f_rnd_int(82); var octetstring payload := f_rnd_octstring(len); return valueof(ts_CbspMsgContent(payload, len)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id521b6038a23dc8e71ea25475bcdef7bc8917531 Gerrit-Change-Number: 19587 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 ) Change subject: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks ...................................................................... bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks Subsequent patch I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 adds a test with specific payload lengths. To verify the correctness of the number-of-blocks calculation (recently fixed), allow pinpointing the expected blocks count. Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/19588/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index ea080a2..ff031a5 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -310,7 +310,8 @@ } /* build a RSL_Message receive template from a CBSP page */ -private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false) +private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false, + template (present) integer expect_blocks := ?) return template (present) RSL_Message { var template RSL_Message tr; @@ -325,6 +326,11 @@ num_blocks := num_blocks + 1; } + if (not istemplatekind(expect_blocks, "omit") and not match(expect_blocks, num_blocks)) { + setverdict(fail, "mismatch: CBSP page expect_blocks == ", expect_blocks, ", but generated num_blocks == ", num_blocks); + mtc.stop; + } + var integer lblock := f_cbsp_block_count_enc(num_blocks); tr := tr_RSL_SMSCB_CMD(tr_RslCbCmdType(lblock), f_pad_oct(payload, 88, '00'O)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 Gerrit-Change-Number: 19588 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 ) Change subject: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no ...................................................................... bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no For each CBSP test, define one global set of CBSP msg id and serno for use by that test. Each CBSP test should use a distinct message id and serial nr, to not get mixed up with previous state. But keeping those numbers manually is a confusing pain, and as a reader it is hard to follow how these numbers change (if they do). In f_cbsp_init_server(), require a preset of msg id and serno to be used in that test, and from then on only use g_cbsp_msg_id and g_cbsp_ser_no instead of magic numbers. If they change, write it out explicitly, making it easy to follow what is expected to happen, and also making it easy to copy-paste code snippets without having to manually adjust magic numbers. Choice of numbers: pick a simpler scheme where both msg_id and ser_no share a common "prefix" in the 1000s range, and for a ser_no add 500 to keep distinct numbers (that avoid confusion when reading the logs): test prefix msg_id ser_no next-ser_no 1 1000 1001 1501 1502 2 2000 2001 2501 2502 3 3000 3001 3501 3502 ... E.g. the first test has the prefix of 1000. msg_id: 1001, ser_no: 1101. Change-Id: I43ba196974614d1aea2b6055be2fe82059b38974 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 73 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/19589/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 41ef112..79b0723 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -68,6 +68,15 @@ private template (value) OCT2 bssmap_ci(GsmCgiAbstract cgi) := ts_BSSMAP_CI_CI(cgi.ci); type component cbsp_test_CT extends test_CT, CBSP_Adapter_CT { + var uint16_t g_cbsp_msg_id := 0; + var uint16_t g_cbsp_ser_no := 0; +} + +private function f_g_cbsp_next_msg_id_ser_no() runs on cbsp_test_CT +{ + g_cbsp_msg_id := g_cbsp_msg_id + 1; + g_cbsp_ser_no := g_cbsp_ser_no + 1; + log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { @@ -108,7 +117,7 @@ setverdict(pass); } -private function f_cbsp_init_server(float guard_timeout := 30.0) runs on cbsp_test_CT { +private function f_cbsp_init_server(uint16_t cbsp_msg_id, uint16_t cbsp_ser_no, float guard_timeout := 30.0) runs on cbsp_test_CT { var ASP_Event asp_evt; timer T := 10.0; @@ -126,6 +135,10 @@ } } f_expect_cbsp_restart(); + + g_cbsp_msg_id := cbsp_msg_id; + g_cbsp_ser_no := cbsp_ser_no; + log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } private function f_expect_cbsp_restart() runs on cbsp_test_CT { interleave { @@ -353,13 +366,13 @@ /* Test if BSC (client) is connecting to CBC (server) */ testcase TC_cbsp_bsc_client() runs on cbsp_test_CT { - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); setverdict(pass); } /* Test if a BSS-global RESET is executed successfully */ testcase TC_cbsp_reset_bss() runs on cbsp_test_CT { - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); f_cbsp_reset_bss(0); setverdict(pass); @@ -368,7 +381,7 @@ testcase TC_cbsp_write() runs on cbsp_test_CT { var template (value) CBSP_PDU tx; var CBSP_IEs pages := {f_gen_page()}; - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); tx := ts_CBSP_WRITE_CBS(msg_id:=23, new_ser_nr:=42, cell_list:=ts_BSSMAP_CIL_BSS, channel_ind:=0, category:=CBSP_CATEG_NORMAL, @@ -384,10 +397,10 @@ var CBSP_IEs pages := {f_gen_page(payload_len := payload_len)}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_BSS; - f_cbsp_write(1, 1001, cell_list, content:=pages, + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); - var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001, expect_blocks := expect_blocks); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); log("RSL[0,1,2] EXPECTING ", tr_ASP_RSL_UD(tr)); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[0]"); } @@ -395,9 +408,12 @@ [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[2]"); } } setverdict(pass); + + /* Make the next test run (if any) use different msg_id and ser_no */ + f_g_cbsp_next_msg_id_ser_no(); } testcase TC_cbsp_write_bss() runs on cbsp_test_CT { - f_cbsp_init_server(guard_timeout := 60.0); + f_cbsp_init_server(1001, 1501, guard_timeout := 60.0); /* In the SMSCB message, there is a head followed by payload, * and the resulting data is segmented in blocks of 22 octets (<= 4 blocks). * @@ -427,10 +443,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(2, 1002, cell_list, content:=pages, + f_cbsp_init_server(2001, 2501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -440,8 +456,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts3)}); - f_cbsp_init_server(); - f_cbsp_write(3, 1003, cell_list, content:=pages, + f_cbsp_init_server(3001, 3501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=omit, fail_list:={?}); f_sleep(5.0); } @@ -451,8 +467,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({ts_BSSMAP_CI_CGI(mp_cgi_bts0.mcc, mp_cgi_bts1.mnc, 22222, 33333)}); - f_cbsp_init_server(); - f_cbsp_write(4, 1004, cell_list, content:=pages, + f_cbsp_init_server(4001, 4501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=omit, fail_list:={?}); f_sleep(5.0); } @@ -462,10 +478,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(5, 1005, cell_list, content:=pages, + f_cbsp_init_server(5001, 5501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -474,10 +490,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CI({bssmap_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(6, 1006, cell_list, content:=pages, + f_cbsp_init_server(6001, 6501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -486,10 +502,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(7, 1007, cell_list, content:=pages, + f_cbsp_init_server(7001, 7501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -498,10 +514,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC({bssmap_lac(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(8, 1008, cell_list, content:=pages, + f_cbsp_init_server(8001, 8501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); @@ -514,11 +530,19 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(9, 1009, cell_list, num_bcast_req:=10, content:=pages, + f_cbsp_init_server(9001, 9501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req:=10, content:=pages, success_list:=?, fail_list:=omit); - f_cbsp_replace(9, 2009, 1009, cell_list, content:=pages, + + /* FIXME: expect CBSP message */ + + /* Replace: keep the same msg_id, use a new ser_no */ + var uint16_t old_ser_no := g_cbsp_ser_no; + g_cbsp_ser_no := g_cbsp_ser_no + 1; + f_cbsp_replace(g_cbsp_msg_id, g_cbsp_ser_no, old_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); + + /* FIXME: expect CBSP message */ } /* Replace a message that doesn't exist: failure */ @@ -526,8 +550,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_replace(10, 2010, 1010, cell_list, content:=pages, + f_cbsp_init_server(10001, 10501); + f_cbsp_replace(10, 10023, 10042, cell_list, content:=pages, success_list:=omit, fail_list:=?); } @@ -537,8 +561,8 @@ var CBSP_IEs pages := {f_gen_page(), f_gen_page(), f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(11, 1011, cell_list, rep_period:=1, content:=pages, + f_cbsp_init_server(11001, 11501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, rep_period:=1, content:=pages, success_list:=omit, fail_list:=?); } @@ -547,17 +571,17 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_kill(12, 1012, 0, cell_list, success_list:=omit, fail_list:=?); + f_cbsp_init_server(12001, 12501); + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, fail_list:=?); } /* Write a message, then kill it */ testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(13, 1013, cell_list, content:=pages, success_list:=?, fail_list:=omit); - f_cbsp_kill(13, 1013, 0, cell_list, success_list:=?, fail_list:=omit); + f_cbsp_init_server(13001, 13501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, fail_list:=omit); } /* Write a message, then reset all messages */ @@ -565,8 +589,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(14, 1014, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_init_server(14001, 14501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); f_cbsp_reset_bss(0); } @@ -585,14 +609,14 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(15001, 15501); /* first establish a dedicated channel */ var DchanTuple dt := f_est_dchan('23'O, 23, '00010203040506'O); /* then send ETWS PN */ - f_cbsp_write_emerg(15, 1015, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(1015, 15); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { @@ -627,10 +651,10 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(16001, 16501); - f_cbsp_write_emerg(16, 1016, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { @@ -656,12 +680,12 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(17001, 17501); - f_cbsp_write_emerg(16, 1016, cell_list); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); /* first expect the PN to be enabled */ - var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43ba196974614d1aea2b6055be2fe82059b38974 Gerrit-Change-Number: 19589 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_lai References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 ) Change subject: bsc CBSP: fix TC_cbsp_write_lai ...................................................................... bsc CBSP: fix TC_cbsp_write_lai bts 2 matches the described scenario, not bts 0. Change-Id: If8408df207176704db0d0ce9d75ae13d500d31ae --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/90/19590/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 79b0723..d01b7d9 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -501,11 +501,15 @@ testcase TC_cbsp_write_lai() runs on cbsp_test_CT { var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; - cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); + /* bts0 and bts1 have the same LAI (only differ in cell identity). + * bts2 and bts3 also have the same LAI, but only bts2 has a CBCH. + * Target only bts2. + */ + cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts2)}); f_cbsp_init_server(7001, 7501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); + IPA_RSL[2].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8408df207176704db0d0ce9d75ae13d500d31ae Gerrit-Change-Number: 19590 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:46:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:46:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_then_replace References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 ) Change subject: bsc CBSP: fix TC_cbsp_write_then_replace ...................................................................... bsc CBSP: fix TC_cbsp_write_then_replace Change-Id: I62bbce6b9cc48c968fb9e80abe54ae8bed8432a6 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/19591/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index d01b7d9..3152975 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -538,7 +538,7 @@ f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req:=10, content:=pages, success_list:=?, fail_list:=omit); - /* FIXME: expect CBSP message */ + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); /* Replace: keep the same msg_id, use a new ser_no */ var uint16_t old_ser_no := g_cbsp_ser_no; @@ -546,7 +546,9 @@ f_cbsp_replace(g_cbsp_msg_id, g_cbsp_ser_no, old_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - /* FIXME: expect CBSP message */ + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); + f_sleep(1.0); + setverdict(pass); } /* Replace a message that doesn't exist: failure */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I62bbce6b9cc48c968fb9e80abe54ae8bed8432a6 Gerrit-Change-Number: 19591 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:48:23 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:48:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b Gerrit-Change-Number: 19434 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 12 Aug 2020 23:48:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 12 23:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:54:03 +0000 Subject: Change in docker-playground[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19428 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 2: the problem is fixed in the mentioned osmo-ttcn3-hacks patch. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbcc703ace7012fb395f0eef3e445df28b368d74 Gerrit-Change-Number: 19428 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 12 Aug 2020 23:54: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 Aug 12 23:57:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 12 Aug 2020 23:57:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl: fix nr of blocks calculation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 ) Change subject: bsc CBSP: f_page2rsl: fix nr of blocks calculation ...................................................................... Patch Set 3: the template part is now separate in https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06cc144bd92e94d461dac3f56a738da8e055b73a Gerrit-Change-Number: 19436 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 12 Aug 2020 23:57:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 00:02:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 00:02:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks 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/+/19588 to look at the new patch set (#2). Change subject: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks ...................................................................... bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks Subsequent patch I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 adds a test with specific payload lengths. To verify the correctness of the number-of-blocks calculation (recently fixed), allow pinpointing the expected blocks count. Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/19588/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 Gerrit-Change-Number: 19588 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Aug 13 01:34:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:34:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f3498cd16957_74bf2aebd44c46004184e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 56s] checking for library containing dlsym... -ldl [ 56s] checking for LIBOSMOCORE... yes [ 56s] checking for LIBOSMOGSM... yes [ 56s] checking for LIBOSMOCTRL... yes [ 56s] checking for LIBOSMOVTY... yes [ 56s] checking for LIBOSMONETIF... yes [ 56s] checking for LIBOSMOABIS... no [ 56s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 56s] [ 56s] Package 'libosmoabis', required by 'virtual:world', not found [ 56s] [ 56s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 56s] installed software in a non-standard prefix. [ 56s] [ 56s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 56s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 56s] See the pkg-config man page for more details. [ 56s] error: Bad exit status from /var/tmp/rpm-tmp.8kLmrm (%build) [ 56s] [ 56s] [ 56s] RPM build errors: [ 56s] Bad exit status from /var/tmp/rpm-tmp.8kLmrm (%build) [ 56s] ### VM INTERACTION START ### [ 59s] [ 53.874677] sysrq: Power Off [ 59s] [ 53.880655] reboot: Power down [ 59s] ### VM INTERACTION END ### [ 59s] [ 59s] lamb52 failed "build osmo-mgw.spec" at Thu Aug 13 01:34:43 UTC 2020. [ 59s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:35:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:35:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f349909393fc_74bf2aebd44c4600418984@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: [ 126s] [COMPILING libboard/common/source/uart_console.c] [ 126s] [COMPILING libboard/common/source/led.c] [ 126s] [COMPILING libboard/common/source/boardver_adc.c] [ 126s] [COMPILING libboard/common/source/manifest.c] [ 126s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 127s] [COMPILING apps/dfu/main.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16460 B 16 KB 100.46% [ 127s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 127s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] make[2]: *** [Makefile:234: flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: error: make -j1 returned exit code 2 [ 127s] make: *** [debian/rules:16: build] Error 25 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 131s] [ 122.036627] sysrq: Power Off [ 131s] [ 122.056499] reboot: Power down [ 131s] ### VM INTERACTION END ### [ 131s] [ 131s] lamb51 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:35:36 UTC 2020. [ 131s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:35:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:35:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f349908c89ff_74bf2aebd44c4600418857@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 122s] [COMPILING libboard/qmod/source/i2c.c] [ 122s] [COMPILING libboard/qmod/source/board_qmod.c] [ 122s] [COMPILING apps/dfu/main.c] [ 122s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 122s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 123s] Memory region Used Size Region Size %age Used [ 123s] rom: 16584 B 16 KB 101.22% [ 123s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 123s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 123s] collect2: error: ld returned 1 exit status [ 123s] % [ 123s] Makefile:234: recipe for target 'flash' failed [ 123s] make[2]: *** [flash] Error 1 [ 123s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 123s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 123s] make[1]: *** [fw-qmod-dfu] Error 2 [ 123s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 123s] dh_auto_build: make -j1 returned exit code 2 [ 123s] debian/rules:16: recipe for target 'build' failed [ 123s] make: *** [build] Error 2 [ 123s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 123s] ### VM INTERACTION START ### [ 126s] [ 119.192576] sysrq: Power Off [ 126s] [ 119.197092] reboot: Power down [ 126s] ### VM INTERACTION END ### [ 126s] [ 126s] lamb11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:35:34 UTC 2020. [ 126s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:35:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:35:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f349909bdaa5_74bf2aebd44c46004190ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 149s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 149s] [COMPILING libboard/qmod/source/card_pres.c] [ 149s] [COMPILING libboard/qmod/source/wwan_led.c] [ 149s] [COMPILING libboard/qmod/source/i2c.c] [ 149s] [COMPILING libboard/qmod/source/board_qmod.c] [ 150s] [COMPILING apps/dfu/main.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 150s] Memory region Used Size Region Size %age Used [ 150s] rom: 16504 B 16 KB 100.73% [ 150s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 150s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 150s] collect2: error: ld returned 1 exit status [ 150s] % [ 150s] make[2]: *** [Makefile:234: flash] Error 1 [ 150s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 150s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 150s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 150s] dh_auto_build: make -j1 returned exit code 2 [ 150s] make: *** [debian/rules:16: build] Error 255 [ 150s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 150s] ### VM INTERACTION START ### [ 153s] [ 145.676422] sysrq: Power Off [ 153s] [ 145.683299] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] lamb25 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:35:26 UTC 2020. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:35:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:35:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f34990a53a34_74bf2aebd44c4600419188@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 134s] [COMPILING libboard/qmod/source/i2c.c] [ 134s] [COMPILING libboard/qmod/source/board_qmod.c] [ 134s] [COMPILING apps/dfu/main.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 135s] Memory region Used Size Region Size %age Used [ 135s] rom: 16576 B 16 KB 101.17% [ 135s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 135s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 135s] collect2: error: ld returned 1 exit status [ 135s] % [ 135s] Makefile:234: recipe for target 'flash' failed [ 135s] make[2]: *** [flash] Error 1 [ 135s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 135s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 135s] make[1]: *** [fw-qmod-dfu] Error 2 [ 135s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 135s] dh_auto_build: make -j1 returned exit code 2 [ 135s] debian/rules:16: recipe for target 'build' failed [ 135s] make: *** [build] Error 2 [ 135s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 135s] ### VM INTERACTION START ### [ 138s] [ 130.914451] sysrq: Power Off [ 138s] [ 130.924486] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] lamb57 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:35:32 UTC 2020. [ 138s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f34996496c6_74bf2aebd44c4600419245@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 56s] checking for library containing dlsym... -ldl [ 56s] checking for libosmocore >= 1.1.0... yes [ 56s] checking for libosmogsm >= 1.1.0... yes [ 56s] checking for libosmoctrl >= 1.1.0... yes [ 56s] checking for libosmovty >= 1.1.0... yes [ 56s] checking for libosmo-netif >= 0.6.0... yes [ 56s] checking for libosmoabis >= 0.6.0... no [ 56s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 56s] [ 56s] No package 'libosmoabis' found [ 56s] [ 56s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 56s] installed software in a non-standard prefix. [ 56s] [ 56s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 56s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 56s] See the pkg-config man page for more details. [ 56s] error: Bad exit status from /var/tmp/rpm-tmp.m9r6Vz (%build) [ 56s] [ 56s] [ 56s] RPM build errors: [ 56s] Bad exit status from /var/tmp/rpm-tmp.m9r6Vz (%build) [ 56s] ### VM INTERACTION START ### [ 60s] [ 44.674682] sysrq: Power Off [ 60s] [ 44.678031] reboot: Power down [ 60s] ### VM INTERACTION END ### [ 60s] [ 60s] cloud120 failed "build osmo-mgw.spec" at Thu Aug 13 01:37:20 UTC 2020. [ 60s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f3499646cf8f_74bf2aebd44c460041939a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 28s] checking for library containing dlsym... -ldl [ 28s] checking for libosmocore >= 1.1.0... yes [ 28s] checking for libosmogsm >= 1.1.0... yes [ 28s] checking for libosmoctrl >= 1.1.0... yes [ 28s] checking for libosmovty >= 1.1.0... yes [ 28s] checking for libosmo-netif >= 0.6.0... yes [ 28s] checking for libosmoabis >= 0.6.0... no [ 28s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 28s] [ 28s] No package 'libosmoabis' found [ 28s] [ 28s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 28s] installed software in a non-standard prefix. [ 28s] [ 28s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 28s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 28s] See the pkg-config man page for more details. [ 28s] error: Bad exit status from /var/tmp/rpm-tmp.HXJ15Z (%build) [ 28s] [ 28s] [ 28s] RPM build errors: [ 28s] Bad exit status from /var/tmp/rpm-tmp.HXJ15Z (%build) [ 28s] ### VM INTERACTION START ### [ 31s] [ 27.400120] sysrq: SysRq : Power Off [ 31s] [ 27.406560] reboot: Power down [ 31s] ### VM INTERACTION END ### [ 31s] [ 31s] goat05 failed "build osmo-mgw.spec" at Thu Aug 13 01:37:08 UTC 2020. [ 31s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f349964c581f_74bf2aebd44c4600419429@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 134s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 134s] [COMPILING libboard/qmod/source/card_pres.c] [ 135s] [COMPILING libboard/qmod/source/wwan_led.c] [ 135s] [COMPILING libboard/qmod/source/i2c.c] [ 135s] [COMPILING libboard/qmod/source/board_qmod.c] [ 135s] [COMPILING apps/dfu/main.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 135s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 136s] Memory region Used Size Region Size %age Used [ 136s] rom: 16504 B 16 KB 100.73% [ 136s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 136s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 136s] collect2: error: ld returned 1 exit status [ 136s] % [ 136s] make[2]: *** [Makefile:234: flash] Error 1 [ 136s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 136s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 136s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 136s] dh_auto_build: make -j1 returned exit code 2 [ 136s] make: *** [debian/rules:16: build] Error 2 [ 136s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 136s] ### VM INTERACTION START ### [ 139s] [ 131.539229] sysrq: Power Off [ 139s] [ 131.546549] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] lamb16 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:37:11 UTC 2020. [ 139s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f349984b3995_74bf2aebd44c46004195ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 130s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 130s] [COMPILING libboard/qmod/source/card_pres.c] [ 130s] [COMPILING libboard/qmod/source/wwan_led.c] [ 130s] [COMPILING libboard/qmod/source/i2c.c] [ 131s] [COMPILING libboard/qmod/source/board_qmod.c] [ 131s] [COMPILING apps/dfu/main.c] [ 131s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 131s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 131s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 131s] Memory region Used Size Region Size %age Used [ 131s] rom: 16576 B 16 KB 101.17% [ 131s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 131s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 131s] collect2: error: ld returned 1 exit status [ 131s] % [ 131s] make[2]: *** [Makefile:234: flash] Error 1 [ 131s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 131s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 131s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 131s] dh_auto_build: make -j1 returned exit code 2 [ 131s] make: *** [debian/rules:16: build] Error 2 [ 131s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 131s] ### VM INTERACTION START ### [ 134s] [ 128.067829] sysrq: Power Off [ 134s] [ 128.075088] reboot: Power down [ 134s] ### VM INTERACTION END ### [ 134s] [ 134s] lamb63 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:37:40 UTC 2020. [ 134s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f34998519954_74bf2aebd44c4600419643@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 166s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 166s] [COMPILING libboard/qmod/source/card_pres.c] [ 166s] [COMPILING libboard/qmod/source/wwan_led.c] [ 166s] [COMPILING libboard/qmod/source/i2c.c] [ 167s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16504 B 16 KB 100.73% [ 167s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 167s] collect2: error: ld returned 1 exit status [ 167s] % [ 167s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 167s] make: *** [debian/rules:16: build] Error 2 [ 167s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 167s] ### VM INTERACTION START ### [ 171s] [ 159.136043] sysrq: Power Off [ 171s] [ 159.139984] reboot: Power down [ 171s] ### VM INTERACTION END ### [ 171s] [ 171s] cloud107 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:37:44 UTC 2020. [ 171s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:37:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:37:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f3499855ff06_74bf2aebd44c460041972b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 50s] checking for library containing dlsym... -ldl [ 50s] checking for LIBOSMOCORE... yes [ 50s] checking for LIBOSMOGSM... yes [ 50s] checking for LIBOSMOCTRL... yes [ 50s] checking for LIBOSMOVTY... yes [ 50s] checking for LIBOSMONETIF... yes [ 50s] checking for LIBOSMOABIS... no [ 50s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 50s] [ 50s] Package 'libosmoabis', required by 'virtual:world', not found [ 50s] [ 50s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 50s] installed software in a non-standard prefix. [ 50s] [ 50s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 50s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 50s] See the pkg-config man page for more details. [ 50s] error: Bad exit status from /var/tmp/rpm-tmp.FFIDgn (%build) [ 50s] [ 50s] [ 50s] RPM build errors: [ 50s] Bad exit status from /var/tmp/rpm-tmp.FFIDgn (%build) [ 50s] ### VM INTERACTION START ### [ 53s] [ 47.355073] sysrq: Power Off [ 53s] [ 47.361538] reboot: Power down [ 53s] ### VM INTERACTION END ### [ 53s] [ 53s] lamb13 failed "build osmo-mgw.spec" at Thu Aug 13 01:37:45 UTC 2020. [ 53s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:38:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:38:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f34999f6e942_74bf2aebd44c4600419860@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 126s] [COMPILING libboard/qmod/source/i2c.c] [ 126s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [COMPILING apps/dfu/main.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16576 B 16 KB 101.17% [ 127s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 127s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] Makefile:234: recipe for target 'flash' failed [ 127s] make[2]: *** [flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 127s] make[1]: *** [fw-qmod-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: make -j1 returned exit code 2 [ 127s] debian/rules:16: recipe for target 'build' failed [ 127s] make: *** [build] Error 2 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 130s] [ 122.705241] sysrq: Power Off [ 130s] [ 122.713087] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] lamb69 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:38:00 UTC 2020. [ 130s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:38:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:38:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f3499bb860ab_74bf2aebd44c460041991@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 151s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 151s] [COMPILING libboard/qmod/source/card_pres.c] [ 151s] [COMPILING libboard/qmod/source/wwan_led.c] [ 151s] [COMPILING libboard/qmod/source/i2c.c] [ 151s] [COMPILING libboard/qmod/source/board_qmod.c] [ 151s] [COMPILING apps/dfu/main.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 152s] Memory region Used Size Region Size %age Used [ 152s] rom: 16576 B 16 KB 101.17% [ 152s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 152s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 152s] collect2: error: ld returned 1 exit status [ 152s] % [ 152s] make[2]: *** [Makefile:234: flash] Error 1 [ 152s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 152s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 152s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 152s] dh_auto_build: make -j1 returned exit code 2 [ 152s] make: *** [debian/rules:16: build] Error 2 [ 152s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 152s] ### VM INTERACTION START ### [ 155s] [ 147.709624] sysrq: Power Off [ 155s] [ 147.716096] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] lamb15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:38:42 UTC 2020. [ 155s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:39:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:39:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f3499daa161d_74bf2aebd44c460042003b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 109s] [COMPILING apps/dfu/main.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 109s] Memory region Used Size Region Size %age Used [ 109s] rom: 16464 B 16 KB 100.49% [ 109s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 109s] collect2: error: ld returned 1 exit status [ 109s] % [ 109s] make[2]: *** [Makefile:234: flash] Error 1 [ 109s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 109s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 109s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 109s] dh_auto_build: error: make -j1 returned exit code 2 [ 109s] make: *** [debian/rules:16: build] Error 25 [ 109s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 109s] ### VM INTERACTION START ### [ 112s] [ 105.096894] sysrq: Power Off [ 112s] [ 105.100913] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] sheep86 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:39:04 UTC 2020. [ 112s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:39:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:39:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f3499dae40fd_74bf2aebd44c4600420198@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 81s] checking for library containing dlsym... -ldl [ 81s] checking for LIBOSMOCORE... yes [ 81s] checking for LIBOSMOGSM... yes [ 81s] checking for LIBOSMOCTRL... yes [ 81s] checking for LIBOSMOVTY... yes [ 81s] checking for LIBOSMONETIF... yes [ 81s] checking for LIBOSMOABIS... no [ 81s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 81s] [ 81s] Package 'libosmoabis', required by 'virtual:world', not found [ 81s] [ 81s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 81s] installed software in a non-standard prefix. [ 81s] [ 81s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 81s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 81s] See the pkg-config man page for more details. [ 81s] error: Bad exit status from /var/tmp/rpm-tmp.hBvPkt (%build) [ 81s] [ 81s] [ 81s] RPM build errors: [ 81s] Bad exit status from /var/tmp/rpm-tmp.hBvPkt (%build) [ 81s] ### VM INTERACTION START ### [ 85s] [ 71.921821] sysrq: Power Off [ 85s] [ 71.988728] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] obs-arm-9 failed "build osmo-mgw.spec" at Thu Aug 13 01:39:05 UTC 2020. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:39:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:39:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f3499fa94e27_74bf2aebd44c460042025c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 114s] [COMPILING libboard/qmod/source/i2c.c] [ 114s] [COMPILING libboard/qmod/source/board_qmod.c] [ 114s] [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] [ 115s] Memory region Used Size Region Size %age Used [ 115s] rom: 16584 B 16 KB 101.22% [ 115s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 115s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 115s] collect2: error: ld returned 1 exit status [ 115s] % [ 115s] Makefile:234: recipe for target 'flash' failed [ 115s] make[2]: *** [flash] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 115s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 115s] make[1]: *** [fw-qmod-dfu] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 115s] dh_auto_build: make -j1 returned exit code 2 [ 115s] debian/rules:16: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] ### VM INTERACTION START ### [ 118s] [ 110.249361] sysrq: Power Off [ 118s] [ 110.256955] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] lamb70 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:39:24 UTC 2020. [ 118s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:39:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:39:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5f3499fb3469d_74bf2aebd44c4600420334@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_8.0/i586 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 195s] #define VERSION "1.7.0.72-1131" [ 195s] #define STDC_HEADERS 1 [ 195s] #define HAVE_SYS_TYPES_H 1 [ 195s] #define HAVE_SYS_STAT_H 1 [ 195s] #define HAVE_STDLIB_H 1 [ 195s] #define HAVE_STRING_H 1 [ 195s] #define HAVE_MEMORY_H 1 [ 195s] #define HAVE_STRINGS_H 1 [ 195s] #define HAVE_INTTYPES_H 1 [ 195s] #define HAVE_STDINT_H 1 [ 195s] #define HAVE_UNISTD_H 1 [ 195s] #define HAVE_DLFCN_H 1 [ 195s] #define LT_OBJDIR ".libs/" [ 195s] [ 195s] configure: exit 1 [ 195s] dh_auto_configure: ./configure --build=i586-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 195s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 195s] make[1]: *** [override_dh_auto_configure] Error 255 [ 195s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 195s] debian/rules:17: recipe for target 'build' failed [ 195s] make: *** [build] Error 2 [ 195s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 195s] ### VM INTERACTION START ### [ 196s] Powering off. [ 196s] [ 188.563407] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] lamb04 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:39:50 UTC 2020. [ 196s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:40:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:40:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f349a155f2b1_74bf2aebd44c46004204d9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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] [ 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: 16464 B 16 KB 100.49% [ 158s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 158s] collect2: error: ld returned 1 exit status [ 158s] % [ 158s] make[2]: *** [Makefile:234: 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.414685] sysrq: Power Off [ 161s] [ 150.422455] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] lamb54 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:40:01 UTC 2020. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:40:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:40:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f349a354ea9d_74bf2aebd44c46004205ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_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/wwan_perst.c] [ 158s] [COMPILING libboard/qmod/source/card_pres.c] [ 158s] [COMPILING libboard/qmod/source/wwan_led.c] [ 158s] [COMPILING libboard/qmod/source/i2c.c] [ 158s] [COMPILING libboard/qmod/source/board_qmod.c] [ 158s] [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: 16504 B 16 KB 100.73% [ 159s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 159s] collect2: error: ld returned 1 exit status [ 159s] % [ 159s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 159s] make: *** [debian/rules:16: build] Error 2 [ 159s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 159s] ### VM INTERACTION START ### [ 162s] [ 153.276173] sysrq: Power Off [ 162s] [ 153.283149] reboot: Power down [ 162s] ### VM INTERACTION END ### [ 162s] [ 162s] lamb15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:40:36 UTC 2020. [ 162s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:41:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:41:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f349a5576efa_74bf2aebd44c46004206bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 276s] #define PACKAGE_URL "" [ 276s] #define PACKAGE "osmo-mgw" [ 276s] #define VERSION "1.7.0.72-1131" [ 276s] #define STDC_HEADERS 1 [ 276s] #define HAVE_SYS_TYPES_H 1 [ 276s] #define HAVE_SYS_STAT_H 1 [ 276s] #define HAVE_STDLIB_H 1 [ 276s] #define HAVE_STRING_H 1 [ 276s] #define HAVE_MEMORY_H 1 [ 276s] #define HAVE_STRINGS_H 1 [ 276s] #define HAVE_INTTYPES_H 1 [ 276s] #define HAVE_STDINT_H 1 [ 276s] #define HAVE_UNISTD_H 1 [ 276s] #define HAVE_DLFCN_H 1 [ 276s] #define LT_OBJDIR ".libs/" [ 276s] [ 276s] configure: exit 1 [ 276s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 276s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 255 [ 276s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 276s] make: *** [debian/rules:17: build] Error 2 [ 276s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 276s] ### VM INTERACTION START ### [ 279s] [ 263.493727] sysrq: Power Off [ 279s] [ 263.498001] reboot: Power down [ 279s] ### VM INTERACTION END ### [ 279s] [ 279s] cloud123 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:41:21 UTC 2020. [ 279s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:41:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:41:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f349a6f7a3c0_74bf2aebd44c4600420775@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 136s] #define PACKAGE_URL "" [ 136s] #define PACKAGE "osmo-mgw" [ 136s] #define VERSION "1.7.0.72-1131" [ 136s] #define STDC_HEADERS 1 [ 136s] #define HAVE_SYS_TYPES_H 1 [ 136s] #define HAVE_SYS_STAT_H 1 [ 136s] #define HAVE_STDLIB_H 1 [ 136s] #define HAVE_STRING_H 1 [ 136s] #define HAVE_MEMORY_H 1 [ 136s] #define HAVE_STRINGS_H 1 [ 136s] #define HAVE_INTTYPES_H 1 [ 136s] #define HAVE_STDINT_H 1 [ 136s] #define HAVE_UNISTD_H 1 [ 136s] #define HAVE_DLFCN_H 1 [ 136s] #define LT_OBJDIR ".libs/" [ 136s] [ 136s] configure: exit 1 [ 136s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 136s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 136s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 136s] make: *** [debian/rules:17: build] Error 2 [ 136s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 136s] ### VM INTERACTION START ### [ 139s] [ 132.929280] sysrq: Power Off [ 139s] [ 132.935713] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] goat19 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:41:29 UTC 2020. [ 139s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f349a906e027_74bf2aebd44c4600420895@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_9.0/i586 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 229s] #define VERSION "1.7.0.72-1131" [ 229s] #define STDC_HEADERS 1 [ 229s] #define HAVE_SYS_TYPES_H 1 [ 229s] #define HAVE_SYS_STAT_H 1 [ 229s] #define HAVE_STDLIB_H 1 [ 229s] #define HAVE_STRING_H 1 [ 229s] #define HAVE_MEMORY_H 1 [ 229s] #define HAVE_STRINGS_H 1 [ 229s] #define HAVE_INTTYPES_H 1 [ 229s] #define HAVE_STDINT_H 1 [ 229s] #define HAVE_UNISTD_H 1 [ 229s] #define HAVE_DLFCN_H 1 [ 229s] #define LT_OBJDIR ".libs/" [ 229s] [ 229s] configure: exit 1 [ 229s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 229s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 229s] make[1]: *** [override_dh_auto_configure] Error 2 [ 229s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 229s] debian/rules:17: recipe for target 'build' failed [ 229s] make: *** [build] Error 2 [ 229s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 229s] ### VM INTERACTION START ### [ 232s] [ 224.112630] sysrq: Power Off [ 232s] [ 224.119280] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] lamb24 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:42:15 UTC 2020. [ 232s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5f349a9147362_74bf2aebd44c46004209b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 205s] #define VERSION "1.7.0.72-1131" [ 205s] #define STDC_HEADERS 1 [ 205s] #define HAVE_SYS_TYPES_H 1 [ 205s] #define HAVE_SYS_STAT_H 1 [ 205s] #define HAVE_STDLIB_H 1 [ 205s] #define HAVE_STRING_H 1 [ 205s] #define HAVE_MEMORY_H 1 [ 205s] #define HAVE_STRINGS_H 1 [ 205s] #define HAVE_INTTYPES_H 1 [ 205s] #define HAVE_STDINT_H 1 [ 205s] #define HAVE_UNISTD_H 1 [ 205s] #define HAVE_DLFCN_H 1 [ 205s] #define LT_OBJDIR ".libs/" [ 205s] [ 205s] configure: exit 1 [ 205s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 205s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 205s] make[1]: *** [override_dh_auto_configure] Error 255 [ 205s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 205s] debian/rules:17: recipe for target 'build' failed [ 205s] make: *** [build] Error 2 [ 205s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 205s] ### VM INTERACTION START ### [ 209s] [ 200.349420] sysrq: Power Off [ 209s] [ 200.356317] reboot: Power down [ 209s] ### VM INTERACTION END ### [ 209s] [ 209s] lamb02 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:42:27 UTC 2020. [ 209s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f349a919bd63_74bf2aebd44c46004210ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 133s] checking for library containing dlsym... -ldl [ 133s] checking for LIBOSMOCORE... yes [ 133s] checking for LIBOSMOGSM... yes [ 133s] checking for LIBOSMOCTRL... yes [ 133s] checking for LIBOSMOVTY... yes [ 133s] checking for LIBOSMONETIF... yes [ 133s] checking for LIBOSMOABIS... no [ 133s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 133s] [ 133s] Package 'libosmoabis', required by 'virtual:world', not found [ 133s] [ 133s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 133s] installed software in a non-standard prefix. [ 133s] [ 133s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 133s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 133s] See the pkg-config man page for more details. [ 133s] error: Bad exit status from /var/tmp/rpm-tmp.MKOCll (%build) [ 133s] [ 133s] [ 133s] RPM build errors: [ 133s] Bad exit status from /var/tmp/rpm-tmp.MKOCll (%build) [ 133s] ### VM INTERACTION START ### [ 134s] Powering off. [ 134s] [ 124.255888] reboot: Power down [ 134s] ### VM INTERACTION END ### [ 134s] [ 134s] lamb09 failed "build osmo-mgw.spec" at Thu Aug 13 01:42:29 UTC 2020. [ 134s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f349aab1d2a4_74bf2aebd44c46004211d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 213s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 213s] [COMPILING libboard/qmod/source/card_pres.c] [ 213s] [COMPILING libboard/qmod/source/wwan_led.c] [ 213s] [COMPILING libboard/qmod/source/i2c.c] [ 213s] [COMPILING libboard/qmod/source/board_qmod.c] [ 214s] [COMPILING apps/dfu/main.c] [ 214s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 214s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 214s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 215s] Memory region Used Size Region Size %age Used [ 215s] rom: 16504 B 16 KB 100.73% [ 215s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 215s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 215s] collect2: error: ld returned 1 exit status [ 215s] % [ 215s] make[2]: *** [Makefile:234: flash] Error 1 [ 215s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 215s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 215s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 215s] dh_auto_build: make -j1 returned exit code 2 [ 215s] make: *** [debian/rules:16: build] Error 2 [ 215s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 215s] ### VM INTERACTION START ### [ 218s] [ 205.151509] sysrq: Power Off [ 218s] [ 205.153089] reboot: Power down [ 218s] ### VM INTERACTION END ### [ 218s] [ 218s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:42:32 UTC 2020. [ 218s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_10/i586 In-Reply-To: References: Message-ID: <5f349aab6569f_74bf2aebd44c46004212a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_10/i586 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 181s] #define PACKAGE_URL "" [ 181s] #define PACKAGE "osmo-mgw" [ 181s] #define VERSION "1.7.0.72-1131" [ 181s] #define STDC_HEADERS 1 [ 181s] #define HAVE_SYS_TYPES_H 1 [ 181s] #define HAVE_SYS_STAT_H 1 [ 181s] #define HAVE_STDLIB_H 1 [ 181s] #define HAVE_STRING_H 1 [ 181s] #define HAVE_MEMORY_H 1 [ 181s] #define HAVE_STRINGS_H 1 [ 181s] #define HAVE_INTTYPES_H 1 [ 181s] #define HAVE_STDINT_H 1 [ 181s] #define HAVE_UNISTD_H 1 [ 181s] #define HAVE_DLFCN_H 1 [ 181s] #define LT_OBJDIR ".libs/" [ 181s] [ 181s] configure: exit 1 [ 181s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 181s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 181s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 181s] make: *** [debian/rules:17: build] Error 2 [ 181s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 181s] ### VM INTERACTION START ### [ 184s] [ 177.799382] sysrq: Power Off [ 184s] [ 177.805192] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] goat07 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:42:33 UTC 2020. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f349aabb3ed3_74bf2aebd44c46004213da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 74s] checking for library containing dlsym... -ldl [ 74s] checking for libosmocore >= 1.1.0... yes [ 74s] checking for libosmogsm >= 1.1.0... yes [ 74s] checking for libosmoctrl >= 1.1.0... yes [ 74s] checking for libosmovty >= 1.1.0... yes [ 74s] checking for libosmo-netif >= 0.6.0... yes [ 74s] checking for libosmoabis >= 0.6.0... no [ 74s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 74s] [ 74s] No package 'libosmoabis' found [ 74s] [ 74s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 74s] installed software in a non-standard prefix. [ 74s] [ 74s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 74s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 74s] See the pkg-config man page for more details. [ 74s] error: Bad exit status from /var/tmp/rpm-tmp.2mbMCN (%build) [ 74s] [ 74s] [ 74s] RPM build errors: [ 74s] Bad exit status from /var/tmp/rpm-tmp.2mbMCN (%build) [ 74s] ### VM INTERACTION START ### [ 78s] [ 64.145457] sysrq: SysRq : Power Off [ 78s] [ 64.153278] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 78s] [ 78s] obs-arm-8 failed "build osmo-mgw.spec" at Thu Aug 13 01:42:36 UTC 2020. [ 78s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:42:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:42:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f349aac25892_74bf2aebd44c460042141b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 204s] [COMPILING libboard/qmod/source/i2c.c] [ 204s] [COMPILING libboard/qmod/source/board_qmod.c] [ 204s] [COMPILING apps/dfu/main.c] [ 205s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 205s] [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: 16584 B 16 KB 101.22% [ 205s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 205s] collect2: error: ld returned 1 exit status [ 205s] % [ 205s] Makefile:234: recipe for target 'flash' failed [ 205s] make[2]: *** [flash] Error 1 [ 205s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 205s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 205s] make[1]: *** [fw-qmod-dfu] Error 2 [ 205s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 205s] dh_auto_build: make -j1 returned exit code 2 [ 205s] debian/rules:16: recipe for target 'build' failed [ 205s] make: *** [build] Error 2 [ 205s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 205s] ### VM INTERACTION START ### [ 209s] [ 192.828491] sysrq: Power Off [ 209s] [ 192.832617] reboot: Power down [ 209s] ### VM INTERACTION END ### [ 209s] [ 209s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 01:42:43 UTC 2020. [ 209s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:43:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:43:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f349acbb6c5_74bf2aebd44c460042158a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 283s] #define VERSION "1.7.0.72-1131" [ 283s] #define STDC_HEADERS 1 [ 283s] #define HAVE_SYS_TYPES_H 1 [ 283s] #define HAVE_SYS_STAT_H 1 [ 283s] #define HAVE_STDLIB_H 1 [ 283s] #define HAVE_STRING_H 1 [ 283s] #define HAVE_MEMORY_H 1 [ 283s] #define HAVE_STRINGS_H 1 [ 283s] #define HAVE_INTTYPES_H 1 [ 283s] #define HAVE_STDINT_H 1 [ 283s] #define HAVE_UNISTD_H 1 [ 283s] #define HAVE_DLFCN_H 1 [ 283s] #define LT_OBJDIR ".libs/" [ 283s] [ 283s] configure: exit 1 [ 283s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 283s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 283s] make[1]: *** [override_dh_auto_configure] Error 2 [ 283s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 283s] debian/rules:17: recipe for target 'build' failed [ 283s] make: *** [build] Error 2 [ 283s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 283s] ### VM INTERACTION START ### [ 286s] [ 275.948856] sysrq: Power Off [ 286s] [ 275.954438] reboot: Power down [ 286s] ### VM INTERACTION END ### [ 286s] [ 286s] lamb01 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:43:05 UTC 2020. [ 286s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:43:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:43:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f349aeac762d_74bf2aebd44c46004216b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 329s] #define PACKAGE_URL "" [ 329s] #define PACKAGE "osmo-mgw" [ 329s] #define VERSION "1.7.0.72-1131" [ 329s] #define STDC_HEADERS 1 [ 329s] #define HAVE_SYS_TYPES_H 1 [ 329s] #define HAVE_SYS_STAT_H 1 [ 329s] #define HAVE_STDLIB_H 1 [ 329s] #define HAVE_STRING_H 1 [ 329s] #define HAVE_MEMORY_H 1 [ 329s] #define HAVE_STRINGS_H 1 [ 329s] #define HAVE_INTTYPES_H 1 [ 329s] #define HAVE_STDINT_H 1 [ 329s] #define HAVE_UNISTD_H 1 [ 329s] #define HAVE_DLFCN_H 1 [ 329s] #define LT_OBJDIR ".libs/" [ 329s] [ 329s] configure: exit 1 [ 329s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 329s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 25 [ 329s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 329s] make: *** [debian/rules:17: build] Error 2 [ 329s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 329s] ### VM INTERACTION START ### [ 332s] [ 321.205075] sysrq: Power Off [ 332s] [ 321.209590] reboot: Power down [ 332s] ### VM INTERACTION END ### [ 332s] [ 332s] lamb21 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:43:37 UTC 2020. [ 332s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:43:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:43:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f349aeb71f6e_74bf2aebd44c460042179d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 180s] #define PACKAGE_URL "" [ 180s] #define PACKAGE "osmo-mgw" [ 180s] #define VERSION "1.7.0.72-1131" [ 180s] #define STDC_HEADERS 1 [ 180s] #define HAVE_SYS_TYPES_H 1 [ 180s] #define HAVE_SYS_STAT_H 1 [ 180s] #define HAVE_STDLIB_H 1 [ 180s] #define HAVE_STRING_H 1 [ 180s] #define HAVE_MEMORY_H 1 [ 180s] #define HAVE_STRINGS_H 1 [ 180s] #define HAVE_INTTYPES_H 1 [ 180s] #define HAVE_STDINT_H 1 [ 180s] #define HAVE_UNISTD_H 1 [ 180s] #define HAVE_DLFCN_H 1 [ 180s] #define LT_OBJDIR ".libs/" [ 180s] [ 180s] configure: exit 1 [ 180s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 180s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 180s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 180s] make: *** [debian/rules:17: build] Error 2 [ 180s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 180s] ### VM INTERACTION START ### [ 183s] [ 175.129935] sysrq: Power Off [ 183s] [ 175.134423] reboot: Power down [ 183s] ### VM INTERACTION END ### [ 183s] [ 183s] sheep86 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:43:40 UTC 2020. [ 183s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:44:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:44:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5f349b06ae566_74bf2aebd44c46004218ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 193s] #define VERSION "1.7.0.72-1131" [ 193s] #define STDC_HEADERS 1 [ 193s] #define HAVE_SYS_TYPES_H 1 [ 193s] #define HAVE_SYS_STAT_H 1 [ 193s] #define HAVE_STDLIB_H 1 [ 193s] #define HAVE_STRING_H 1 [ 193s] #define HAVE_MEMORY_H 1 [ 193s] #define HAVE_STRINGS_H 1 [ 193s] #define HAVE_INTTYPES_H 1 [ 193s] #define HAVE_STDINT_H 1 [ 193s] #define HAVE_UNISTD_H 1 [ 193s] #define HAVE_DLFCN_H 1 [ 193s] #define LT_OBJDIR ".libs/" [ 193s] [ 193s] configure: exit 1 [ 193s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 193s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 193s] make[1]: *** [override_dh_auto_configure] Error 255 [ 193s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 193s] debian/rules:17: recipe for target 'build' failed [ 193s] make: *** [build] Error 2 [ 193s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 193s] ### VM INTERACTION START ### [ 196s] [ 188.153242] sysrq: Power Off [ 196s] [ 188.160471] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] lamb15 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:44:28 UTC 2020. [ 196s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:45:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:45:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f349b2619cc3_74bf2aebd44c46004219c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 265s] #define PACKAGE_URL "" [ 265s] #define PACKAGE "osmo-mgw" [ 265s] #define VERSION "1.7.0.72-1131" [ 265s] #define STDC_HEADERS 1 [ 265s] #define HAVE_SYS_TYPES_H 1 [ 265s] #define HAVE_SYS_STAT_H 1 [ 265s] #define HAVE_STDLIB_H 1 [ 265s] #define HAVE_STRING_H 1 [ 265s] #define HAVE_MEMORY_H 1 [ 265s] #define HAVE_STRINGS_H 1 [ 265s] #define HAVE_INTTYPES_H 1 [ 265s] #define HAVE_STDINT_H 1 [ 265s] #define HAVE_UNISTD_H 1 [ 265s] #define HAVE_DLFCN_H 1 [ 265s] #define LT_OBJDIR ".libs/" [ 265s] [ 265s] configure: exit 1 [ 265s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 265s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 265s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 265s] make: *** [debian/rules:17: build] Error 2 [ 265s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 265s] ### VM INTERACTION START ### [ 268s] [ 257.534346] sysrq: Power Off [ 268s] [ 257.541846] reboot: Power down [ 268s] ### VM INTERACTION END ### [ 268s] [ 268s] lamb19 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:44:51 UTC 2020. [ 268s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:45:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:45:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f349b451b42_74bf2aebd44c460042207a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 235s] #define VERSION "1.7.0.72-1131" [ 235s] #define STDC_HEADERS 1 [ 235s] #define HAVE_SYS_TYPES_H 1 [ 235s] #define HAVE_SYS_STAT_H 1 [ 235s] #define HAVE_STDLIB_H 1 [ 235s] #define HAVE_STRING_H 1 [ 235s] #define HAVE_MEMORY_H 1 [ 235s] #define HAVE_STRINGS_H 1 [ 235s] #define HAVE_INTTYPES_H 1 [ 235s] #define HAVE_STDINT_H 1 [ 235s] #define HAVE_UNISTD_H 1 [ 235s] #define HAVE_DLFCN_H 1 [ 235s] #define LT_OBJDIR ".libs/" [ 235s] [ 235s] configure: exit 1 [ 235s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 235s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 235s] make[1]: *** [override_dh_auto_configure] Error 2 [ 235s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 235s] debian/rules:17: recipe for target 'build' failed [ 235s] make: *** [build] Error 2 [ 235s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 235s] ### VM INTERACTION START ### [ 238s] [ 228.300417] sysrq: Power Off [ 238s] [ 228.307407] reboot: Power down [ 238s] ### VM INTERACTION END ### [ 238s] [ 238s] lamb54 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:45:16 UTC 2020. [ 238s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:45:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:45:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5f349b5f18b8b_74bf2aebd44c460042219c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 186s] #define VERSION "1.7.0.72-1131" [ 186s] #define STDC_HEADERS 1 [ 186s] #define HAVE_SYS_TYPES_H 1 [ 186s] #define HAVE_SYS_STAT_H 1 [ 186s] #define HAVE_STDLIB_H 1 [ 186s] #define HAVE_STRING_H 1 [ 186s] #define HAVE_MEMORY_H 1 [ 186s] #define HAVE_STRINGS_H 1 [ 186s] #define HAVE_INTTYPES_H 1 [ 186s] #define HAVE_STDINT_H 1 [ 186s] #define HAVE_UNISTD_H 1 [ 186s] #define HAVE_DLFCN_H 1 [ 186s] #define LT_OBJDIR ".libs/" [ 186s] [ 186s] configure: exit 1 [ 186s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 186s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 186s] make[1]: *** [override_dh_auto_configure] Error 255 [ 186s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 186s] debian/rules:17: recipe for target 'build' failed [ 186s] make: *** [build] Error 2 [ 186s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 186s] ### VM INTERACTION START ### [ 187s] Powering off. [ 187s] [ 179.686406] reboot: Power down [ 187s] ### VM INTERACTION END ### [ 187s] [ 187s] lamb55 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:45:32 UTC 2020. [ 187s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:45:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:45:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f349b60b1aaf_74bf2aebd44c46004222a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 240s] #define VERSION "1.7.0.72-1131" [ 240s] #define STDC_HEADERS 1 [ 240s] #define HAVE_SYS_TYPES_H 1 [ 240s] #define HAVE_SYS_STAT_H 1 [ 240s] #define HAVE_STDLIB_H 1 [ 240s] #define HAVE_STRING_H 1 [ 240s] #define HAVE_MEMORY_H 1 [ 240s] #define HAVE_STRINGS_H 1 [ 240s] #define HAVE_INTTYPES_H 1 [ 240s] #define HAVE_STDINT_H 1 [ 240s] #define HAVE_UNISTD_H 1 [ 240s] #define HAVE_DLFCN_H 1 [ 240s] #define LT_OBJDIR ".libs/" [ 240s] [ 240s] configure: exit 1 [ 240s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 240s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 240s] make[1]: *** [override_dh_auto_configure] Error 2 [ 240s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 240s] debian/rules:17: recipe for target 'build' failed [ 240s] make: *** [build] Error 2 [ 240s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 240s] ### VM INTERACTION START ### [ 243s] [ 230.929761] sysrq: Power Off [ 243s] [ 230.944328] reboot: Power down [ 243s] ### VM INTERACTION END ### [ 243s] [ 243s] cloud117 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:45:45 UTC 2020. [ 243s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:46:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:46:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f349b7fbd1fc_74bf2aebd44c46004224dc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 213s] #define PACKAGE_URL "" [ 213s] #define PACKAGE "osmo-mgw" [ 213s] #define VERSION "1.7.0.72-1131" [ 213s] #define STDC_HEADERS 1 [ 213s] #define HAVE_SYS_TYPES_H 1 [ 213s] #define HAVE_SYS_STAT_H 1 [ 213s] #define HAVE_STDLIB_H 1 [ 213s] #define HAVE_STRING_H 1 [ 213s] #define HAVE_MEMORY_H 1 [ 213s] #define HAVE_STRINGS_H 1 [ 213s] #define HAVE_INTTYPES_H 1 [ 213s] #define HAVE_STDINT_H 1 [ 213s] #define HAVE_UNISTD_H 1 [ 213s] #define HAVE_DLFCN_H 1 [ 213s] #define LT_OBJDIR ".libs/" [ 213s] [ 213s] configure: exit 1 [ 213s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 213s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 25 [ 213s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 213s] make: *** [debian/rules:17: build] Error 2 [ 213s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 213s] ### VM INTERACTION START ### [ 214s] Powering off. [ 214s] [ 205.158941] reboot: Power down [ 214s] ### VM INTERACTION END ### [ 214s] [ 214s] build77 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:46:29 UTC 2020. [ 214s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:47:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:47:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f349bd7ad3fc_74bf2aebd44c46004225cf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_10/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 301s] #define PACKAGE_URL "" [ 301s] #define PACKAGE "osmo-mgw" [ 301s] #define VERSION "1.7.0.72-1131" [ 301s] #define STDC_HEADERS 1 [ 301s] #define HAVE_SYS_TYPES_H 1 [ 301s] #define HAVE_SYS_STAT_H 1 [ 301s] #define HAVE_STDLIB_H 1 [ 301s] #define HAVE_STRING_H 1 [ 301s] #define HAVE_MEMORY_H 1 [ 301s] #define HAVE_STRINGS_H 1 [ 301s] #define HAVE_INTTYPES_H 1 [ 301s] #define HAVE_STDINT_H 1 [ 301s] #define HAVE_UNISTD_H 1 [ 301s] #define HAVE_DLFCN_H 1 [ 301s] #define LT_OBJDIR ".libs/" [ 301s] [ 301s] configure: exit 1 [ 301s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 301s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 301s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 301s] make: *** [debian/rules:17: build] Error 2 [ 301s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 301s] ### VM INTERACTION START ### [ 304s] [ 292.301560] sysrq: Power Off [ 304s] [ 292.307272] reboot: Power down [ 304s] ### VM INTERACTION END ### [ 304s] [ 304s] lamb53 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:47:27 UTC 2020. [ 304s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:50:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:50:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f349c6fac3d4_74bf2aebd44c4600422753@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 204s] checking for library containing dlsym... -ldl [ 204s] checking for LIBOSMOCORE... yes [ 204s] checking for LIBOSMOGSM... yes [ 204s] checking for LIBOSMOCTRL... yes [ 204s] checking for LIBOSMOVTY... yes [ 204s] checking for LIBOSMONETIF... yes [ 204s] checking for LIBOSMOABIS... no [ 204s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 204s] [ 204s] Package 'libosmoabis', required by 'virtual:world', not found [ 204s] [ 204s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 204s] installed software in a non-standard prefix. [ 204s] [ 204s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 204s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 204s] See the pkg-config man page for more details. [ 204s] error: Bad exit status from /var/tmp/rpm-tmp.a3hyH0 (%build) [ 204s] [ 204s] [ 204s] RPM build errors: [ 204s] Bad exit status from /var/tmp/rpm-tmp.a3hyH0 (%build) [ 204s] ### VM INTERACTION START ### [ 205s] Powering off. [ 205s] [ 186.908638] reboot: Power down [ 205s] ### VM INTERACTION END ### [ 205s] [ 205s] obs-arm-8 failed "build osmo-mgw.spec" at Thu Aug 13 01:50:05 UTC 2020. [ 205s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:50:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:50:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f349c706f988_74bf2aebd44c46004228a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 406s] #define PACKAGE_URL "" [ 406s] #define PACKAGE "osmo-mgw" [ 406s] #define VERSION "1.7.0.72-1131" [ 406s] #define STDC_HEADERS 1 [ 406s] #define HAVE_SYS_TYPES_H 1 [ 406s] #define HAVE_SYS_STAT_H 1 [ 406s] #define HAVE_STDLIB_H 1 [ 406s] #define HAVE_STRING_H 1 [ 406s] #define HAVE_MEMORY_H 1 [ 406s] #define HAVE_STRINGS_H 1 [ 406s] #define HAVE_INTTYPES_H 1 [ 406s] #define HAVE_STDINT_H 1 [ 406s] #define HAVE_UNISTD_H 1 [ 406s] #define HAVE_DLFCN_H 1 [ 406s] #define LT_OBJDIR ".libs/" [ 406s] [ 406s] configure: exit 1 [ 406s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 406s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 25 [ 406s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 406s] make: *** [debian/rules:17: build] Error 2 [ 406s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 406s] ### VM INTERACTION START ### [ 407s] Powering off. [ 407s] [ 379.814337] reboot: Power down [ 407s] ### VM INTERACTION END ### [ 407s] [ 407s] cloud129 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:50:01 UTC 2020. [ 407s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 01:54:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 01:54:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f349d7b6baeb_74bf2aebd44c46004233d5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 360s] #define VERSION "1.7.0.72-1131" [ 360s] #define STDC_HEADERS 1 [ 360s] #define HAVE_SYS_TYPES_H 1 [ 360s] #define HAVE_SYS_STAT_H 1 [ 360s] #define HAVE_STDLIB_H 1 [ 360s] #define HAVE_STRING_H 1 [ 360s] #define HAVE_MEMORY_H 1 [ 360s] #define HAVE_STRINGS_H 1 [ 360s] #define HAVE_INTTYPES_H 1 [ 360s] #define HAVE_STDINT_H 1 [ 360s] #define HAVE_UNISTD_H 1 [ 360s] #define HAVE_DLFCN_H 1 [ 360s] #define LT_OBJDIR ".libs/" [ 360s] [ 360s] configure: exit 1 [ 360s] dh_auto_configure: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/aarch64-linux-gnu --libexecdir=${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 360s] debian/rules:33: recipe for target 'override_dh_auto_configure' failed [ 360s] make[1]: *** [override_dh_auto_configure] Error 2 [ 360s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 360s] debian/rules:17: recipe for target 'build' failed [ 360s] make: *** [build] Error 2 [ 360s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 360s] ### VM INTERACTION START ### [ 363s] [ 348.462176] sysrq: Power Off [ 363s] [ 348.514547] reboot: Power down [ 363s] ### VM INTERACTION END ### [ 363s] [ 363s] obs-arm-9 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 01:54:45 UTC 2020. [ 363s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 02:03:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 02:03:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f349f5f13769_74bf2aebd44c4600424118@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_10/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 396s] #define PACKAGE_URL "" [ 396s] #define PACKAGE "osmo-mgw" [ 396s] #define VERSION "1.7.0.72-1131" [ 396s] #define STDC_HEADERS 1 [ 396s] #define HAVE_SYS_TYPES_H 1 [ 396s] #define HAVE_SYS_STAT_H 1 [ 396s] #define HAVE_STDLIB_H 1 [ 396s] #define HAVE_STRING_H 1 [ 396s] #define HAVE_MEMORY_H 1 [ 396s] #define HAVE_STRINGS_H 1 [ 396s] #define HAVE_INTTYPES_H 1 [ 396s] #define HAVE_STDINT_H 1 [ 396s] #define HAVE_UNISTD_H 1 [ 396s] #define HAVE_DLFCN_H 1 [ 396s] #define LT_OBJDIR ".libs/" [ 396s] [ 396s] configure: exit 1 [ 396s] dh_auto_configure: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --libexecdir=\${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 396s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 2 [ 396s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 396s] make: *** [debian/rules:17: build] Error 2 [ 396s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 396s] ### VM INTERACTION START ### [ 399s] [ 381.188801] sysrq: Power Off [ 399s] [ 381.217171] reboot: Power down [ 399s] ### VM INTERACTION END ### [ 399s] [ 399s] obs-arm-9 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 02:02:57 UTC 2020. [ 399s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 02:21:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 02:21:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <5f34a3d360e0f_74bf2aebd44c46004266e6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 62s] checking for library containing dlsym... -ldl [ 62s] checking for libosmocore >= 1.1.0... yes [ 62s] checking for libosmogsm >= 1.1.0... yes [ 62s] checking for libosmoctrl >= 1.1.0... yes [ 62s] checking for libosmovty >= 1.1.0... yes [ 62s] checking for libosmo-netif >= 0.6.0... yes [ 62s] checking for libosmoabis >= 0.6.0... no [ 62s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 62s] [ 62s] No package 'libosmoabis' found [ 62s] [ 62s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 62s] installed software in a non-standard prefix. [ 62s] [ 62s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 62s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 62s] See the pkg-config man page for more details. [ 62s] error: Bad exit status from /var/tmp/rpm-tmp.klqFyu (%build) [ 62s] [ 62s] [ 62s] RPM build errors: [ 62s] Bad exit status from /var/tmp/rpm-tmp.klqFyu (%build) [ 62s] ### VM INTERACTION START ### [ 66s] [ 54.175902] sysrq: SysRq : Power Off [ 66s] [ 54.179487] reboot: Power down [ 66s] ### VM INTERACTION END ### [ 66s] [ 66s] armbuild25 failed "build osmo-mgw.spec" at Thu Aug 13 02:21:42 UTC 2020. [ 66s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 03:53:59 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 03:53:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f34b964e82d2_74bf2aebd44c460044446c@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: [ 104s] checking for library containing dlsym... -ldl [ 104s] checking for LIBOSMOCORE... yes [ 104s] checking for LIBOSMOGSM... yes [ 104s] checking for LIBOSMOCTRL... yes [ 105s] checking for LIBOSMOVTY... yes [ 105s] checking for LIBOSMONETIF... yes [ 105s] checking for LIBOSMOABIS... no [ 105s] configure: error: Package requirements (libosmoabis >= 0.6.0) were not met: [ 105s] [ 105s] Package 'libosmoabis', required by 'virtual:world', not found [ 105s] [ 105s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 105s] installed software in a non-standard prefix. [ 105s] [ 105s] Alternatively, you may set the environment variables LIBOSMOABIS_CFLAGS [ 105s] and LIBOSMOABIS_LIBS to avoid the need to call pkg-config. [ 105s] See the pkg-config man page for more details. [ 105s] error: Bad exit status from /var/tmp/rpm-tmp.qNzyN2 (%build) [ 105s] [ 105s] [ 105s] RPM build errors: [ 105s] Bad exit status from /var/tmp/rpm-tmp.qNzyN2 (%build) [ 105s] ### VM INTERACTION START ### [ 108s] [ 93.605514] sysrq: Power Off [ 108s] [ 93.615879] reboot: Power down [ 109s] ### VM INTERACTION END ### [ 109s] [ 109s] obs-arm-6 failed "build osmo-mgw.spec" at Thu Aug 13 03:53:52 UTC 2020. [ 109s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:19:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:19:58 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34bf79da945_74bf2aebd44c4600448956@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 60s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 60s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 60s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 60s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 60s] | | [ 60s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 60s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 60s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 60s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 60s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 60s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 60s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 60s] cc1: all warnings being treated as errors [ 60s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 60s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 60s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 60s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 60s] make[1]: *** [Makefile:166: all] Error 2 [ 60s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 60s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 60s] make: *** [debian/rules:9: build] Error 25 [ 60s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 60s] ### VM INTERACTION START ### [ 63s] [ 57.371468] sysrq: Power Off [ 63s] [ 57.373639] reboot: Power down [ 63s] ### VM INTERACTION END ### [ 63s] [ 63s] build76 failed "build ulfius_2.5.2-4.1.dsc" at Thu Aug 13 04:19:56 UTC 2020. [ 63s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:20:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:20:32 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34bf9964a96_74bf2aebd44c460044908@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 117s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 117s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 117s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 117s] | | [ 117s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 117s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 117s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 117s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 117s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 117s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 117s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 118s] cc1: all warnings being treated as errors [ 118s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 118s] make[3]: *** Waiting for unfinished jobs.... [ 118s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 118s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] make[1]: *** [Makefile:166: all] Error 2 [ 118s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 118s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 118s] make: *** [debian/rules:9: build] Error 25 [ 118s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 118s] ### VM INTERACTION START ### [ 121s] [ 111.854119] sysrq: Power Off [ 121s] [ 111.861729] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] lamb58 failed "build ulfius_2.5.2-4.1.dsc" at Thu Aug 13 04:20:16 UTC 2020. [ 121s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:21:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:21:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34bfd3846d5_74bf2aebd44c46004491f9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 153s] [COMPILING apps/dfu/main.c] [ 153s] [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: 16464 B 16 KB 100.49% [ 154s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 154s] collect2: error: ld returned 1 exit status [ 154s] % [ 154s] make[2]: *** [Makefile:234: 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 ### [ 157s] [ 148.052147] sysrq: Power Off [ 157s] [ 148.059554] reboot: Power down [ 157s] ### VM INTERACTION END ### [ 157s] [ 157s] lamb14 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 04:21:21 UTC 2020. [ 157s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:27:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:27:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f34c15b2e086_74bf2aebd44c46004495a8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 367s] #define PACKAGE_URL "" [ 367s] #define PACKAGE "osmo-mgw" [ 367s] #define VERSION "1.7.0.72-1131" [ 367s] #define STDC_HEADERS 1 [ 367s] #define HAVE_SYS_TYPES_H 1 [ 367s] #define HAVE_SYS_STAT_H 1 [ 367s] #define HAVE_STDLIB_H 1 [ 367s] #define HAVE_STRING_H 1 [ 367s] #define HAVE_MEMORY_H 1 [ 367s] #define HAVE_STRINGS_H 1 [ 367s] #define HAVE_INTTYPES_H 1 [ 367s] #define HAVE_STDINT_H 1 [ 367s] #define HAVE_UNISTD_H 1 [ 367s] #define HAVE_DLFCN_H 1 [ 367s] #define LT_OBJDIR ".libs/" [ 367s] [ 367s] configure: exit 1 [ 367s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 367s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 25 [ 367s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 367s] make: *** [debian/rules:17: build] Error 2 [ 367s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 367s] ### VM INTERACTION START ### [ 368s] Powering off. [ 368s] [ 354.744448] reboot: Power down [ 368s] ### VM INTERACTION END ### [ 368s] [ 368s] lamb10 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 04:27:43 UTC 2020. [ 368s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:30:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:30:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34c1f13582d_74bf2aebd44c46004497b1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 374s] #define PACKAGE_URL "" [ 374s] #define PACKAGE "osmo-mgw" [ 374s] #define VERSION "1.7.0.72-1131" [ 374s] #define STDC_HEADERS 1 [ 374s] #define HAVE_SYS_TYPES_H 1 [ 374s] #define HAVE_SYS_STAT_H 1 [ 374s] #define HAVE_STDLIB_H 1 [ 374s] #define HAVE_STRING_H 1 [ 374s] #define HAVE_MEMORY_H 1 [ 374s] #define HAVE_STRINGS_H 1 [ 374s] #define HAVE_INTTYPES_H 1 [ 374s] #define HAVE_STDINT_H 1 [ 374s] #define HAVE_UNISTD_H 1 [ 374s] #define HAVE_DLFCN_H 1 [ 374s] #define LT_OBJDIR ".libs/" [ 374s] [ 374s] configure: exit 1 [ 374s] dh_auto_configure: error: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 374s] make[1]: *** [debian/rules:33: override_dh_auto_configure] Error 25 [ 374s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 374s] make: *** [debian/rules:17: build] Error 2 [ 374s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 374s] ### VM INTERACTION START ### [ 375s] Powering off. [ 375s] [ 363.229398] reboot: Power down [ 375s] ### VM INTERACTION END ### [ 375s] [ 375s] lamb06 failed "build osmo-mgw_1.7.0.72.1131.dsc" at Thu Aug 13 04:30:30 UTC 2020. [ 375s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:38:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:38:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f34c3ed3c545_74bf2aebd44c460045039a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 359s] [COMPILING libboard/qmod/source/i2c.c] [ 359s] [COMPILING libboard/qmod/source/board_qmod.c] [ 360s] [COMPILING apps/dfu/main.c] [ 360s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 361s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 361s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 362s] Memory region Used Size Region Size %age Used [ 362s] rom: 16584 B 16 KB 101.22% [ 362s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 362s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 362s] collect2: error: ld returned 1 exit status [ 362s] % [ 362s] Makefile:234: recipe for target 'flash' failed [ 362s] make[2]: *** [flash] Error 1 [ 362s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 362s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 362s] make[1]: *** [fw-qmod-dfu] Error 2 [ 362s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 362s] dh_auto_build: make -j1 returned exit code 2 [ 362s] debian/rules:16: recipe for target 'build' failed [ 362s] make: *** [build] Error 2 [ 362s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 362s] ### VM INTERACTION START ### [ 365s] [ 343.348818] sysrq: SysRq : Power Off [ 365s] [ 343.361644] reboot: Power down [ 365s] ### VM INTERACTION END ### [ 365s] [ 365s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 04:38:35 UTC 2020. [ 365s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 04:57:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 04:57:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f34c85f94442_74bf2aebd44c460045332@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: [ 428s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 428s] [COMPILING libboard/qmod/source/card_pres.c] [ 429s] [COMPILING libboard/qmod/source/wwan_led.c] [ 429s] [COMPILING libboard/qmod/source/i2c.c] [ 430s] [COMPILING libboard/qmod/source/board_qmod.c] [ 431s] [COMPILING apps/dfu/main.c] [ 431s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 432s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 433s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 433s] Memory region Used Size Region Size %age Used [ 433s] rom: 16504 B 16 KB 100.73% [ 433s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 433s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 433s] collect2: error: ld returned 1 exit status [ 433s] % [ 433s] make[2]: *** [Makefile:234: flash] Error 1 [ 433s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 433s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 433s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 433s] dh_auto_build: make -j1 returned exit code 2 [ 434s] make: *** [debian/rules:16: build] Error 2 [ 434s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 434s] ### VM INTERACTION START ### [ 437s] [ 413.927130] sysrq: SysRq : Power Off [ 437s] [ 413.936589] reboot: Power down [ 437s] ### VM INTERACTION END ### [ 437s] [ 437s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 04:57:27 UTC 2020. [ 437s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:26:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:26:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f34cf2fb1b33_74bf2aebd44c46004572ec@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: [ 330s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 331s] [COMPILING libboard/qmod/source/card_pres.c] [ 331s] [COMPILING libboard/qmod/source/wwan_led.c] [ 331s] [COMPILING libboard/qmod/source/i2c.c] [ 332s] [COMPILING libboard/qmod/source/board_qmod.c] [ 332s] [COMPILING apps/dfu/main.c] [ 333s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 333s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 333s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 334s] Memory region Used Size Region Size %age Used [ 334s] rom: 16504 B 16 KB 100.73% [ 334s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 334s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 334s] collect2: error: ld returned 1 exit status [ 334s] % [ 334s] make[2]: *** [Makefile:234: flash] Error 1 [ 334s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 334s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 334s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 334s] dh_auto_build: make -j1 returned exit code 2 [ 334s] make: *** [debian/rules:16: build] Error 2 [ 334s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 334s] ### VM INTERACTION START ### [ 337s] [ 321.466965] sysrq: SysRq : Power Off [ 338s] [ 321.666515] reboot: Power down [ 338s] ### VM INTERACTION END ### [ 338s] [ 338s] armbuild21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:26:36 UTC 2020. [ 338s] -- 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 Aug 13 05:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:29:18 +0000 Subject: Change in osmo-mgw[master]: debian/control + SPEC: Add missing build dependency to libosmo-abis References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19592 ) Change subject: debian/control + SPEC: Add missing build dependency to libosmo-abis ...................................................................... debian/control + SPEC: Add missing build dependency to libosmo-abis In I6b93809b5ac7d01af55888347dd787b0bc997ae1 we introduced E1 support to osmo-mgw, but failed to add it to the build dependencies of the Debian packages, making network:osmocmo:nightly builds fail. Change-Id: I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f --- M contrib/osmo-mgw.spec.in M debian/control 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/92/19592/1 diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index d24417e..a34a715 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,6 +35,7 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-abis) %{?systemd_requires} %description diff --git a/debian/control b/debian/control index aeceeac..33a9650 100644 --- a/debian/control +++ b/debian/control @@ -8,6 +8,7 @@ autotools-dev, libosmocore-dev, libosmo-netif-dev, + libosmo-abis-dev, osmo-gsm-manuals-dev Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/osmo-mgw.git -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f Gerrit-Change-Number: 19592 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 Aug 13 05:29:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:29:53 +0000 Subject: Change in osmo-mgw[master]: debian/control + SPEC: Add missing build dependency to libosmo-abis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19592 ) Change subject: debian/control + SPEC: Add missing build dependency to libosmo-abis ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f Gerrit-Change-Number: 19592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 05:29:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:32:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:32:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b Gerrit-Change-Number: 19434 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 05:32:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:32:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:32:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 ) Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 13 Aug 2020 05: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 Thu Aug 13 05:34:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:34:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl: fix nr of blocks calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 ) Change subject: bsc CBSP: f_page2rsl: fix nr of blocks calculation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06cc144bd92e94d461dac3f56a738da8e055b73a Gerrit-Change-Number: 19436 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 05: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 Thu Aug 13 05:34:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:34:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 ) Change subject: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0841b037d39fcadb75e1c13cf97d22917b68e2aa Gerrit-Change-Number: 19586 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:34:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:35:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:35:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): fix generated payload size range In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 ) Change subject: bsc CBSP: f_gen_page(): fix generated payload size range ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id521b6038a23dc8e71ea25475bcdef7bc8917531 Gerrit-Change-Number: 19587 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:35: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 Aug 13 05:36:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): allow passing explicit payload len In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 ) Change subject: bsc CBSP: f_gen_page(): allow passing explicit payload len ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I259da42cbcbfdfe930aabb45c9de8a2b67c69629 Gerrit-Change-Number: 19438 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:36:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:36:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH The bsc/BSC_Tests_CBSP.ttcn rely on a configuration where the first three BTS carry out SMSCB messaging, and the fourth BTS does not. That requires a CBCH channel config on bts 0, 1, 2. Side effects: - adjust the number of available SDCCH (for TC_chan_exhaustion). - there now is a CBCH channel description in SI4, add this to SystemInformationConfig_default. Related: Idbcc703ace7012fb395f0eef3e445df28b368d74 (docker-playground) Change-Id: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b --- M bsc/BSC_Tests.ttcn M bsc/osmo-bsc.cfg 2 files changed, 22 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 1c02cb6..22c94d4 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -70,7 +70,7 @@ /* make sure to sync this with the osmo-bts.cfg you're using */ const integer NUM_TCHH_PER_BTS := 2; const integer NUM_TCHF_PER_BTS := 4; -const integer NUM_SDCCH_PER_BTS := 4; +const integer NUM_SDCCH_PER_BTS := 3; /* per-BTS state which we keep */ @@ -267,7 +267,24 @@ re_not_allowed := true, acc := '0000010000000000'B }, - cbch_chan_desc := omit, + cbch_chan_desc := { + iei := '64'O, + v := { + chan_nr := { + u := { + sdcch4 := { + tag := '001'B, + sub_chan := 2 + } + }, + tn := 0 + }, + tsc := 2, + h := false, + arfcn := 871, + maio_hsn := omit + } + }, cbch_mobile_alloc := omit, rest_octets := { sel_params := { diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index a4c767a..cbadece 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -140,7 +140,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -230,7 +230,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -320,7 +320,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b Gerrit-Change-Number: 19434 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:36:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: quick-fix f_cbsp_init_client() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 ) Change subject: bsc CBSP: quick-fix f_cbsp_init_client() ...................................................................... bsc CBSP: quick-fix f_cbsp_init_client() Expecting a CBSP RESTART when connecting as CBSP client does not work, osmo-bsc doesn't send any. Let's ignore this to get the CBSP tests running at all first. We should clarify expected behavior and apply that, later (OS#4702). Related: OS#4702 Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index c44e9df..207f340 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -103,7 +103,9 @@ private function f_cbsp_init_client() runs on cbsp_test_CT { f_init(); CBSP_Adapter.f_connect(mp_bsc_ip, mp_bsc_cbsp_port, "", -1); - f_cbsp_init_tail(); + /* FIXME: osmo-bsc should probably still send a CBSP RESTART, but to get the current tests running, let's first + * ignore this aspect */ + setverdict(pass); } private function f_cbsp_init_server(float guard_timeout := 30.0) runs on cbsp_test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib93530691344c6dc4c0a8318bee2edf87e309a42 Gerrit-Change-Number: 19435 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:36:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl: fix nr of blocks calculation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 ) Change subject: bsc CBSP: f_page2rsl: fix nr of blocks calculation ...................................................................... bsc CBSP: f_page2rsl: fix nr of blocks calculation When dividing the payload by 22, the initial 6 header octets must also be taken into account. And, the last_block value indicates 4 as 0, which is not encoded correctly before this patch. Add a separate f_cbsp_block_count_enc() to fix the calculation. Change-Id: I06cc144bd92e94d461dac3f56a738da8e055b73a --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 24 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 207f340..2399c3a 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -289,17 +289,37 @@ last_block := lblock } +/* translate blocks count to RSL_CB_CMD_LASTBLOCK_1..4 values */ +private function f_cbsp_block_count_enc(integer num_blocks) return integer +{ + if (num_blocks < 1 or num_blocks > 4) { + setverdict(fail, "Invalid num_blocks: ", num_blocks); + mtc.stop; + } + if (num_blocks == 4) { + return 0; + } + return num_blocks; +} + /* build a RSL_Message receive template from a CBSP page */ private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false) return template (present) RSL_Message { var template RSL_Message tr; - var integer lblock := page.body.msg_content.user_len / 22; + var integer len; + var integer num_blocks; var octetstring payload; - if (page.body.msg_content.user_len mod 22 > 0) { - lblock := lblock + 1; - } + payload := int2oct(ser_no, 2) & int2oct(msg_id, 2) & '0011'O & page.body.msg_content.val; + len := lengthof(payload); + num_blocks := len / 22; + if (len mod 22 > 0) { + num_blocks := num_blocks + 1; + } + + var integer lblock := f_cbsp_block_count_enc(num_blocks); + tr := tr_RSL_SMSCB_CMD(tr_RslCbCmdType(lblock), f_pad_oct(payload, 88, '00'O)); if (ext_cbch) { tr.ies[3] := tr_RSL_IE(RSL_IE_Body:{smscb_chan_ind := 1}); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06cc144bd92e94d461dac3f56a738da8e055b73a Gerrit-Change-Number: 19436 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:36:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 ) Change subject: comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val ...................................................................... comment: Osmocom_Types.ttcn: clarify f_rnd_int() return val Change-Id: I0841b037d39fcadb75e1c13cf97d22917b68e2aa --- M library/Osmocom_Types.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index e55f1d6..994a0cc 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -49,7 +49,8 @@ uint15_t arfcn } with { variant "" }; - /* return random integer between 0 and max */ + /* 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 { return float2int(rnd()*int2float(max)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0841b037d39fcadb75e1c13cf97d22917b68e2aa Gerrit-Change-Number: 19586 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Aug 13 05:36:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): fix generated payload size range In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 ) Change subject: bsc CBSP: f_gen_page(): fix generated payload size range ...................................................................... bsc CBSP: f_gen_page(): fix generated payload size range Fix the length calculation to provide a range of [1..82]. f_rnd_int() generates [0..max[ (i.e., < max), so f_gen_page() so far has a payload len range of [0..81]. We want no zero payload, and we want a maximum of 82 bytes (page max of 88 minus 6 header bytes). Change-Id: Id521b6038a23dc8e71ea25475bcdef7bc8917531 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 2399c3a..f54de9b 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -136,7 +136,10 @@ } function f_gen_page() return CBSP_IE { - var integer len := f_rnd_int(82); + /* The maximum CBSP page payload space is 88, but 6 bytes of payload header are added in the first page: the + * maximum length generated here thus is 82. The minimum generated length is 1 (avoiding zero length). + * note, f_rnd_int(82) returns [0..81], so this results in a len ranging [1..82]: */ + var integer len := 1 + f_rnd_int(82); var octetstring payload := f_rnd_octstring(len); return valueof(ts_CbspMsgContent(payload, len)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id521b6038a23dc8e71ea25475bcdef7bc8917531 Gerrit-Change-Number: 19587 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Aug 13 05:36:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_gen_page(): allow passing explicit payload len In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 ) Change subject: bsc CBSP: f_gen_page(): allow passing explicit payload len ...................................................................... bsc CBSP: f_gen_page(): allow passing explicit payload len Keep the default of using a random payload length, but also allow picking one specifically. TC_cbsp_write_bss() will use this in a subsequent patch. Change-Id: I259da42cbcbfdfe930aabb45c9de8a2b67c69629 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 11 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index f54de9b..ea080a2 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -135,13 +135,17 @@ } } -function f_gen_page() return CBSP_IE { - /* The maximum CBSP page payload space is 88, but 6 bytes of payload header are added in the first page: the - * maximum length generated here thus is 82. The minimum generated length is 1 (avoiding zero length). - * note, f_rnd_int(82) returns [0..81], so this results in a len ranging [1..82]: */ - var integer len := 1 + f_rnd_int(82); - var octetstring payload := f_rnd_octstring(len); - return valueof(ts_CbspMsgContent(payload, len)); +/* Generate a CBSP payload: random size for payload_len == 0, or specific fixed size for payload_len > 0. */ +function f_gen_page(integer payload_len := 0) return CBSP_IE { + if (payload_len < 1) { + /* The maximum CBSP page payload space is 88, but 6 bytes of payload header are added in the first page: + * the maximum length generated here thus is 82. The minimum generated length is 1 (avoiding zero + * length). Note, f_rnd_int(82) returns [0..81], so this results in a len ranging [1..82]: */ + payload_len := 1 + f_rnd_int(82); + } + log("Generating CBSP payload: ", payload_len, " octets"); + var octetstring payload := f_rnd_octstring(payload_len); + return valueof(ts_CbspMsgContent(payload, payload_len)); } function f_cbsp_reset_bss(integer idx) runs on CBSP_Adapter_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I259da42cbcbfdfe930aabb45c9de8a2b67c69629 Gerrit-Change-Number: 19438 Gerrit-PatchSet: 4 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 Thu Aug 13 05:36:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:36:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 ) Change subject: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 Gerrit-Change-Number: 19588 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:36:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:37:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:37:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 ) Change subject: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 Gerrit-Change-Number: 19439 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 05:37:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:38:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:38:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 ) Change subject: bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks ...................................................................... bsc CBSP: f_page2rsl(): allow expecting specific nr of blocks Subsequent patch I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 adds a test with specific payload lengths. To verify the correctness of the number-of-blocks calculation (recently fixed), allow pinpointing the expected blocks count. Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index ea080a2..657d172 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -310,7 +310,8 @@ } /* build a RSL_Message receive template from a CBSP page */ -private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false) +private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false, + template (present) integer expect_blocks := ?) return template (present) RSL_Message { var template RSL_Message tr; @@ -325,6 +326,11 @@ num_blocks := num_blocks + 1; } + if (not istemplatekind(expect_blocks, "omit") and not match(num_blocks, expect_blocks)) { + setverdict(fail, "mismatch: CBSP page expect_blocks == ", expect_blocks, ", but generated num_blocks == ", num_blocks); + mtc.stop; + } + var integer lblock := f_cbsp_block_count_enc(num_blocks); tr := tr_RSL_SMSCB_CMD(tr_RslCbCmdType(lblock), f_pad_oct(payload, 88, '00'O)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie58a6175e55ab2679dc69f9e191d0efc0e84cde0 Gerrit-Change-Number: 19588 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Aug 13 05:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:39:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 ) Change subject: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43ba196974614d1aea2b6055be2fe82059b38974 Gerrit-Change-Number: 19589 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:39:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:40:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_lai In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 ) Change subject: bsc CBSP: fix TC_cbsp_write_lai ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8408df207176704db0d0ce9d75ae13d500d31ae Gerrit-Change-Number: 19590 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05: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 Thu Aug 13 05:40:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_then_replace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 ) Change subject: bsc CBSP: fix TC_cbsp_write_then_replace ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I62bbce6b9cc48c968fb9e80abe54ae8bed8432a6 Gerrit-Change-Number: 19591 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05: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 Thu Aug 13 05:40:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 ) Change subject: bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths ...................................................................... bsc CBSP: TC_cbsp_write_bss: run a fixed series of payload lengths Recently fixed errors in the last_block counting as well as encoding ask for a proper test coverage of various lengths, which also verifies the expected blocks count explicitly. Implement this in TC_cbsp_write_bss(): Run f_tc_cbsp_write_bss() multiple times with differing fixed payload lengths, at all block count transitions, plus some arbitrary lengths in-between. Before this patch, TC_cbsp_write_bss() would pick a different random payload length for every test run, which, until recently, then sporadically hit last_block value errors. That's not good for reproducability. Change-Id: I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 33 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 657d172..413ab5d 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -380,20 +380,46 @@ } /* Write to entire BSS; three cells succeed; one fails (no CBCH) */ -testcase TC_cbsp_write_bss() runs on cbsp_test_CT { - var CBSP_IEs pages := {f_gen_page()}; +function f_tc_cbsp_write_bss(integer payload_len := -1, template (present) integer expect_blocks) runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page(payload_len := payload_len)}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_BSS; - f_cbsp_init_server(); f_cbsp_write(1, 1001, cell_list, content:=pages, success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); - var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001, expect_blocks := expect_blocks); + log("RSL[0,1,2] EXPECTING ", tr_ASP_RSL_UD(tr)); interleave { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) {} - [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) {} - [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) {} + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[0]"); } + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[1]"); } + [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[2]"); } } + setverdict(pass); +} +testcase TC_cbsp_write_bss() runs on cbsp_test_CT { + f_cbsp_init_server(guard_timeout := 60.0); + /* In the SMSCB message, there is a head followed by payload, + * and the resulting data is segmented in blocks of 22 octets (<= 4 blocks). + * + * [head][...payload....]|[....................]|[....................]|[....................] + * 0 |16 |38 |60 |82 + * 0 5 |22 |44 |66 |88 + * + * blocks count: 1 | 2 | 3 | 4 + * payload octets count: 1..16 | 17..38 | 39..60 | 61..82 + */ + f_tc_cbsp_write_bss(payload_len := 1, expect_blocks := 1); + f_tc_cbsp_write_bss(payload_len := 2, expect_blocks := 1); + f_tc_cbsp_write_bss(payload_len := 16, expect_blocks := 1); + f_tc_cbsp_write_bss(payload_len := 17, expect_blocks := 2); + f_tc_cbsp_write_bss(payload_len := 23, expect_blocks := 2); + f_tc_cbsp_write_bss(payload_len := 38, expect_blocks := 2); + f_tc_cbsp_write_bss(payload_len := 39, expect_blocks := 3); + f_tc_cbsp_write_bss(payload_len := 42, expect_blocks := 3); + f_tc_cbsp_write_bss(payload_len := 60, expect_blocks := 3); + f_tc_cbsp_write_bss(payload_len := 61, expect_blocks := 4); + f_tc_cbsp_write_bss(payload_len := 77, expect_blocks := 4); + f_tc_cbsp_write_bss(payload_len := 82, expect_blocks := 4); } /* Write to single BTS supporting CBCH: success */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cace19f9e5adc8ebab13ef2328a36dc150b2b31 Gerrit-Change-Number: 19439 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:40:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: cosmetic: rename f_cbsp_init_tail() to f_expect_cbsp_restart() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19440 ) Change subject: bsc CBSP: cosmetic: rename f_cbsp_init_tail() to f_expect_cbsp_restart() ...................................................................... bsc CBSP: cosmetic: rename f_cbsp_init_tail() to f_expect_cbsp_restart() It might be part of initialization, but what this function does is expect to receive a CBSP RESTART, period. Change-Id: Ieffe70cf43eb79b798d93717bbce294ee809f0e2 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 413ab5d..8b7954d 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -125,9 +125,9 @@ mtc.stop; } } - f_cbsp_init_tail(); + f_expect_cbsp_restart(); } -private function f_cbsp_init_tail() runs on cbsp_test_CT { +private function f_expect_cbsp_restart() runs on cbsp_test_CT { interleave { [] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_CBS, CBSP_RI_DATA_LOST))); /* should we also expect a restart for emergency related messages? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieffe70cf43eb79b798d93717bbce294ee809f0e2 Gerrit-Change-Number: 19440 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:40:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 ) Change subject: bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no ...................................................................... bsc CBSP: introduce g_cbsp_msg_id and g_cbsp_ser_no For each CBSP test, define one global set of CBSP msg id and serno for use by that test. Each CBSP test should use a distinct message id and serial nr, to not get mixed up with previous state. But keeping those numbers manually is a confusing pain, and as a reader it is hard to follow how these numbers change (if they do). In f_cbsp_init_server(), require a preset of msg id and serno to be used in that test, and from then on only use g_cbsp_msg_id and g_cbsp_ser_no instead of magic numbers. If they change, write it out explicitly, making it easy to follow what is expected to happen, and also making it easy to copy-paste code snippets without having to manually adjust magic numbers. Choice of numbers: pick a simpler scheme where both msg_id and ser_no share a common "prefix" in the 1000s range, and for a ser_no add 500 to keep distinct numbers (that avoid confusion when reading the logs): test prefix msg_id ser_no next-ser_no 1 1000 1001 1501 1502 2 2000 2001 2501 2502 3 3000 3001 3501 3502 ... E.g. the first test has the prefix of 1000. msg_id: 1001, ser_no: 1101. Change-Id: I43ba196974614d1aea2b6055be2fe82059b38974 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 73 insertions(+), 49 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 8b7954d..20006dc 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -68,6 +68,15 @@ private template (value) OCT2 bssmap_ci(GsmCgiAbstract cgi) := ts_BSSMAP_CI_CI(cgi.ci); type component cbsp_test_CT extends test_CT, CBSP_Adapter_CT { + var uint16_t g_cbsp_msg_id := 0; + var uint16_t g_cbsp_ser_no := 0; +} + +private function f_g_cbsp_next_msg_id_ser_no() runs on cbsp_test_CT +{ + g_cbsp_msg_id := g_cbsp_msg_id + 1; + g_cbsp_ser_no := g_cbsp_ser_no + 1; + log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { @@ -108,7 +117,7 @@ setverdict(pass); } -private function f_cbsp_init_server(float guard_timeout := 30.0) runs on cbsp_test_CT { +private function f_cbsp_init_server(uint16_t cbsp_msg_id, uint16_t cbsp_ser_no, float guard_timeout := 30.0) runs on cbsp_test_CT { var ASP_Event asp_evt; timer T := 10.0; @@ -126,6 +135,10 @@ } } f_expect_cbsp_restart(); + + g_cbsp_msg_id := cbsp_msg_id; + g_cbsp_ser_no := cbsp_ser_no; + log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } private function f_expect_cbsp_restart() runs on cbsp_test_CT { interleave { @@ -353,13 +366,13 @@ /* Test if BSC (client) is connecting to CBC (server) */ testcase TC_cbsp_bsc_client() runs on cbsp_test_CT { - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); setverdict(pass); } /* Test if a BSS-global RESET is executed successfully */ testcase TC_cbsp_reset_bss() runs on cbsp_test_CT { - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); f_cbsp_reset_bss(0); setverdict(pass); @@ -368,7 +381,7 @@ testcase TC_cbsp_write() runs on cbsp_test_CT { var template (value) CBSP_PDU tx; var CBSP_IEs pages := {f_gen_page()}; - f_cbsp_init_server(); + f_cbsp_init_server(0, 0); tx := ts_CBSP_WRITE_CBS(msg_id:=23, new_ser_nr:=42, cell_list:=ts_BSSMAP_CIL_BSS, channel_ind:=0, category:=CBSP_CATEG_NORMAL, @@ -384,10 +397,10 @@ var CBSP_IEs pages := {f_gen_page(payload_len := payload_len)}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_BSS; - f_cbsp_write(1, 1001, cell_list, content:=pages, + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); - var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001, expect_blocks := expect_blocks); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); log("RSL[0,1,2] EXPECTING ", tr_ASP_RSL_UD(tr)); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[0]"); } @@ -395,9 +408,12 @@ [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[2]"); } } setverdict(pass); + + /* Make the next test run (if any) use different msg_id and ser_no */ + f_g_cbsp_next_msg_id_ser_no(); } testcase TC_cbsp_write_bss() runs on cbsp_test_CT { - f_cbsp_init_server(guard_timeout := 60.0); + f_cbsp_init_server(1001, 1501, guard_timeout := 60.0); /* In the SMSCB message, there is a head followed by payload, * and the resulting data is segmented in blocks of 22 octets (<= 4 blocks). * @@ -427,10 +443,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(2, 1002, cell_list, content:=pages, + f_cbsp_init_server(2001, 2501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -440,8 +456,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts3)}); - f_cbsp_init_server(); - f_cbsp_write(3, 1003, cell_list, content:=pages, + f_cbsp_init_server(3001, 3501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=omit, fail_list:={?}); f_sleep(5.0); } @@ -451,8 +467,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CGI({ts_BSSMAP_CI_CGI(mp_cgi_bts0.mcc, mp_cgi_bts1.mnc, 22222, 33333)}); - f_cbsp_init_server(); - f_cbsp_write(4, 1004, cell_list, content:=pages, + f_cbsp_init_server(4001, 4501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=omit, fail_list:={?}); f_sleep(5.0); } @@ -462,10 +478,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(5, 1005, cell_list, content:=pages, + f_cbsp_init_server(5001, 5501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -474,10 +490,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_CI({bssmap_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(6, 1006, cell_list, content:=pages, + f_cbsp_init_server(6001, 6501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -486,10 +502,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(7, 1007, cell_list, content:=pages, + f_cbsp_init_server(7001, 7501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } @@ -498,10 +514,10 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC({bssmap_lac(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(8, 1008, cell_list, content:=pages, + f_cbsp_init_server(8001, 8501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); + var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); @@ -514,11 +530,19 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(9, 1009, cell_list, num_bcast_req:=10, content:=pages, + f_cbsp_init_server(9001, 9501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req:=10, content:=pages, success_list:=?, fail_list:=omit); - f_cbsp_replace(9, 2009, 1009, cell_list, content:=pages, + + /* FIXME: expect CBSP message */ + + /* Replace: keep the same msg_id, use a new ser_no */ + var uint16_t old_ser_no := g_cbsp_ser_no; + g_cbsp_ser_no := g_cbsp_ser_no + 1; + f_cbsp_replace(g_cbsp_msg_id, g_cbsp_ser_no, old_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); + + /* FIXME: expect CBSP message */ } /* Replace a message that doesn't exist: failure */ @@ -526,8 +550,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_replace(10, 2010, 1010, cell_list, content:=pages, + f_cbsp_init_server(10001, 10501); + f_cbsp_replace(10, 10023, 10042, cell_list, content:=pages, success_list:=omit, fail_list:=?); } @@ -537,8 +561,8 @@ var CBSP_IEs pages := {f_gen_page(), f_gen_page(), f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(11, 1011, cell_list, rep_period:=1, content:=pages, + f_cbsp_init_server(11001, 11501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, rep_period:=1, content:=pages, success_list:=omit, fail_list:=?); } @@ -547,17 +571,17 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_kill(12, 1012, 0, cell_list, success_list:=omit, fail_list:=?); + f_cbsp_init_server(12001, 12501); + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, fail_list:=?); } /* Write a message, then kill it */ testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(13, 1013, cell_list, content:=pages, success_list:=?, fail_list:=omit); - f_cbsp_kill(13, 1013, 0, cell_list, success_list:=?, fail_list:=omit); + f_cbsp_init_server(13001, 13501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, fail_list:=omit); } /* Write a message, then reset all messages */ @@ -565,8 +589,8 @@ var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); - f_cbsp_init_server(); - f_cbsp_write(14, 1014, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_init_server(14001, 14501); + f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); f_cbsp_reset_bss(0); } @@ -585,14 +609,14 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(15001, 15501); /* first establish a dedicated channel */ var DchanTuple dt := f_est_dchan('23'O, 23, '00010203040506'O); /* then send ETWS PN */ - f_cbsp_write_emerg(15, 1015, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(1015, 15); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { @@ -627,10 +651,10 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(16001, 16501); - f_cbsp_write_emerg(16, 1016, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { @@ -656,12 +680,12 @@ var ASP_RSL_Unitdata rx_rsl_ud; cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); - f_cbsp_init_server(); + f_cbsp_init_server(17001, 17501); - f_cbsp_write_emerg(16, 1016, cell_list); + f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); /* first expect the PN to be enabled */ - var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); timer T := 5.0; T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43ba196974614d1aea2b6055be2fe82059b38974 Gerrit-Change-Number: 19589 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Aug 13 05:40:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_lai In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 ) Change subject: bsc CBSP: fix TC_cbsp_write_lai ...................................................................... bsc CBSP: fix TC_cbsp_write_lai bts 2 matches the described scenario, not bts 0. Change-Id: If8408df207176704db0d0ce9d75ae13d500d31ae --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 20006dc..b079347 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -501,11 +501,15 @@ testcase TC_cbsp_write_lai() runs on cbsp_test_CT { var CBSP_IEs pages := {f_gen_page()}; var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; - cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); + /* bts0 and bts1 have the same LAI (only differ in cell identity). + * bts2 and bts3 also have the same LAI, but only bts2 has a CBCH. + * Target only bts2. + */ + cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts2)}); f_cbsp_init_server(7001, 7501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); + IPA_RSL[2].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); f_sleep(5.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8408df207176704db0d0ce9d75ae13d500d31ae Gerrit-Change-Number: 19590 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Aug 13 05:40:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix TC_cbsp_write_then_replace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 ) Change subject: bsc CBSP: fix TC_cbsp_write_then_replace ...................................................................... bsc CBSP: fix TC_cbsp_write_then_replace Change-Id: I62bbce6b9cc48c968fb9e80abe54ae8bed8432a6 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index b079347..a56f7e6 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -538,7 +538,7 @@ f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req:=10, content:=pages, success_list:=?, fail_list:=omit); - /* FIXME: expect CBSP message */ + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); /* Replace: keep the same msg_id, use a new ser_no */ var uint16_t old_ser_no := g_cbsp_ser_no; @@ -546,7 +546,9 @@ f_cbsp_replace(g_cbsp_msg_id, g_cbsp_ser_no, old_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - /* FIXME: expect CBSP message */ + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no))); + f_sleep(1.0); + setverdict(pass); } /* Replace a message that doesn't exist: failure */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I62bbce6b9cc48c968fb9e80abe54ae8bed8432a6 Gerrit-Change-Number: 19591 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Aug 13 05:40:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:40:53 +0000 Subject: Change in osmo-mgw[master]: debian/control + SPEC: Add missing build dependency to libosmo-abis In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19592 ) Change subject: debian/control + SPEC: Add missing build dependency to libosmo-abis ...................................................................... debian/control + SPEC: Add missing build dependency to libosmo-abis In I6b93809b5ac7d01af55888347dd787b0bc997ae1 we introduced E1 support to osmo-mgw, but failed to add it to the build dependencies of the Debian packages, making network:osmocmo:nightly builds fail. Change-Id: I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f --- M contrib/osmo-mgw.spec.in M debian/control 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index d24417e..a34a715 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,6 +35,7 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-abis) %{?systemd_requires} %description diff --git a/debian/control b/debian/control index aeceeac..33a9650 100644 --- a/debian/control +++ b/debian/control @@ -8,6 +8,7 @@ autotools-dev, libosmocore-dev, libosmo-netif-dev, + libosmo-abis-dev, osmo-gsm-manuals-dev Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/osmo-mgw.git -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f Gerrit-Change-Number: 19592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:41:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:41:23 +0000 Subject: Change in docker-playground[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19428 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbcc703ace7012fb395f0eef3e445df28b368d74 Gerrit-Change-Number: 19428 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 05:41: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 Aug 13 05:41:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:41:25 +0000 Subject: Change in docker-playground[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19428 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbcc703ace7012fb395f0eef3e445df28b368d74 Gerrit-Change-Number: 19428 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 05:41: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 Aug 13 05:41:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:41:27 +0000 Subject: Change in docker-playground[master]: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19428 ) Change subject: bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... bsc CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH The bsc/BSC_Tests_CBSP.ttcn rely on a configuration where the first three BTS carry out SMSCB messaging, and the fourth BTS does not. That requires a CBCH channel config on bts 0, 1, 2. Related: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b (osmo-ttcn3-hacks) Change-Id: Idbcc703ace7012fb395f0eef3e445df28b368d74 --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved; Verified fixeria: Looks good to me, approved diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index d49e6f2..13e7f60 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -144,7 +144,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -234,7 +234,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -324,7 +324,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbcc703ace7012fb395f0eef3e445df28b368d74 Gerrit-Change-Number: 19428 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 05:42:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 05:42:21 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: Matt Johnson Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Matt Johnson Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 05:42:21 +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 Aug 13 05:53:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:53:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f34d562c5a1c_74bf2aebd44c46004590df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 91s] [COMPILING libboard/qmod/source/i2c.c] [ 91s] [COMPILING libboard/qmod/source/board_qmod.c] [ 91s] [COMPILING apps/dfu/main.c] [ 91s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 91s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 91s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 91s] Memory region Used Size Region Size %age Used [ 91s] rom: 16576 B 16 KB 101.17% [ 91s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 91s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 91s] collect2: error: ld returned 1 exit status [ 91s] % [ 91s] Makefile:234: recipe for target 'flash' failed [ 91s] make[2]: *** [flash] Error 1 [ 91s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 91s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 91s] make[1]: *** [fw-qmod-dfu] Error 2 [ 91s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 91s] dh_auto_build: make -j1 returned exit code 2 [ 91s] debian/rules:16: recipe for target 'build' failed [ 91s] make: *** [build] Error 2 [ 91s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 91s] ### VM INTERACTION START ### [ 95s] [ 88.972508] sysrq: Power Off [ 95s] [ 88.977387] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:53:11 UTC 2020. [ 95s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:53:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:53:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f34d5634c3ae_74bf2aebd44c460045913d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 147s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 147s] [COMPILING libboard/qmod/source/card_pres.c] [ 147s] [COMPILING libboard/qmod/source/wwan_led.c] [ 147s] [COMPILING libboard/qmod/source/i2c.c] [ 147s] [COMPILING libboard/qmod/source/board_qmod.c] [ 147s] [COMPILING apps/dfu/main.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 147s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 148s] Memory region Used Size Region Size %age Used [ 148s] rom: 16504 B 16 KB 100.73% [ 148s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 148s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 148s] collect2: error: ld returned 1 exit status [ 148s] % [ 148s] make[2]: *** [Makefile:234: flash] Error 1 [ 148s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 148s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 148s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 148s] dh_auto_build: make -j1 returned exit code 2 [ 148s] make: *** [debian/rules:16: build] Error 255 [ 148s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 148s] ### VM INTERACTION START ### [ 151s] [ 143.573736] sysrq: Power Off [ 151s] [ 143.581455] reboot: Power down [ 151s] ### VM INTERACTION END ### [ 151s] [ 151s] lamb07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:53:16 UTC 2020. [ 151s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:53:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:53:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f34d5638e3e7_74bf2aebd44c460045924d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 136s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 136s] [COMPILING libboard/qmod/source/card_pres.c] [ 136s] [COMPILING libboard/qmod/source/wwan_led.c] [ 136s] [COMPILING libboard/qmod/source/i2c.c] [ 136s] [COMPILING libboard/qmod/source/board_qmod.c] [ 137s] [COMPILING apps/dfu/main.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 137s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 137s] Memory region Used Size Region Size %age Used [ 137s] rom: 16504 B 16 KB 100.73% [ 137s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 137s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 137s] collect2: error: ld returned 1 exit status [ 137s] % [ 137s] make[2]: *** [Makefile:234: flash] Error 1 [ 137s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 137s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 137s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 137s] dh_auto_build: make -j1 returned exit code 2 [ 137s] make: *** [debian/rules:16: build] Error 2 [ 137s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 137s] ### VM INTERACTION START ### [ 140s] [ 132.986566] sysrq: Power Off [ 140s] [ 132.993950] reboot: Power down [ 140s] ### VM INTERACTION END ### [ 140s] [ 140s] lamb07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:53:16 UTC 2020. [ 140s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:54:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:54:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f34d59ea2fb7_74bf2aebd44c4600459327@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 135s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 135s] [COMPILING libboard/qmod/source/card_pres.c] [ 135s] [COMPILING libboard/qmod/source/wwan_led.c] [ 135s] [COMPILING libboard/qmod/source/i2c.c] [ 136s] [COMPILING libboard/qmod/source/board_qmod.c] [ 136s] [COMPILING apps/dfu/main.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 136s] Memory region Used Size Region Size %age Used [ 136s] rom: 16576 B 16 KB 101.17% [ 136s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 136s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 136s] collect2: error: ld returned 1 exit status [ 136s] % [ 136s] make[2]: *** [Makefile:234: flash] Error 1 [ 136s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 136s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 136s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 136s] dh_auto_build: make -j1 returned exit code 2 [ 136s] make: *** [debian/rules:16: build] Error 2 [ 136s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 136s] ### VM INTERACTION START ### [ 140s] [ 130.145330] sysrq: Power Off [ 140s] [ 130.150551] reboot: Power down [ 140s] ### VM INTERACTION END ### [ 140s] [ 140s] cloud111 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:53:58 UTC 2020. [ 140s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:55:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:55:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f34d5db7e5ab_74bf2aebd44c4600459519@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 128s] [COMPILING libboard/qmod/source/i2c.c] [ 128s] [COMPILING libboard/qmod/source/board_qmod.c] [ 129s] [COMPILING apps/dfu/main.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 129s] Memory region Used Size Region Size %age Used [ 129s] rom: 16576 B 16 KB 101.17% [ 129s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 129s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 129s] collect2: error: ld returned 1 exit status [ 129s] % [ 129s] Makefile:234: recipe for target 'flash' failed [ 129s] make[2]: *** [flash] Error 1 [ 129s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 129s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 129s] make[1]: *** [fw-qmod-dfu] Error 2 [ 129s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 129s] dh_auto_build: make -j1 returned exit code 2 [ 129s] debian/rules:16: recipe for target 'build' failed [ 129s] make: *** [build] Error 2 [ 129s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 129s] ### VM INTERACTION START ### [ 132s] [ 123.236964] sysrq: Power Off [ 132s] [ 123.241082] reboot: Power down [ 132s] ### VM INTERACTION END ### [ 132s] [ 132s] cloud115 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:55:10 UTC 2020. [ 132s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:55:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:55:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f34d5fa98a0a_74bf2aebd44c4600459645@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 libboard/common/source/uart_console.c] [ 125s] [COMPILING libboard/common/source/led.c] [ 125s] [COMPILING libboard/common/source/boardver_adc.c] [ 126s] [COMPILING libboard/common/source/manifest.c] [ 126s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 126s] [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: 16460 B 16 KB 100.46% [ 126s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 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:10: fw-simtrace-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] [ 120.697389] sysrq: Power Off [ 129s] [ 120.704395] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb59 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:55:25 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:55:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:55:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f34d5fbbe13b_74bf2aebd44c460045974d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 124s] [COMPILING libboard/qmod/source/i2c.c] [ 124s] [COMPILING libboard/qmod/source/board_qmod.c] [ 124s] [COMPILING apps/dfu/main.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 124s] [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: 16584 B 16 KB 101.22% [ 125s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] Makefile:234: recipe for target 'flash' failed [ 125s] make[2]: *** [flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 125s] make[1]: *** [fw-qmod-dfu] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] dh_auto_build: make -j1 returned exit code 2 [ 125s] debian/rules:16: recipe for target 'build' failed [ 125s] make: *** [build] Error 2 [ 125s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 121.013520] sysrq: Power Off [ 128s] [ 121.021138] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:55:39 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:56:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:56:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f34d616870df_74bf2aebd44c46004599f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 114s] [COMPILING libboard/qmod/source/i2c.c] [ 114s] [COMPILING libboard/qmod/source/board_qmod.c] [ 114s] [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: 16584 B 16 KB 101.22% [ 114s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 114s] collect2: error: ld returned 1 exit status [ 114s] % [ 115s] Makefile:234: recipe for target 'flash' failed [ 115s] make[2]: *** [flash] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 115s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 115s] make[1]: *** [fw-qmod-dfu] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 115s] dh_auto_build: make -j1 returned exit code 2 [ 115s] debian/rules:16: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] ### VM INTERACTION START ### [ 118s] [ 110.842042] sysrq: Power Off [ 118s] [ 110.848982] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] lamb09 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:56:05 UTC 2020. [ 118s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:56:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:56:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f34d6171757d_74bf2aebd44c46004600ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 132s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 132s] [COMPILING libboard/qmod/source/card_pres.c] [ 132s] [COMPILING libboard/qmod/source/wwan_led.c] [ 133s] [COMPILING libboard/qmod/source/i2c.c] [ 133s] [COMPILING libboard/qmod/source/board_qmod.c] [ 133s] [COMPILING apps/dfu/main.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 134s] Memory region Used Size Region Size %age Used [ 134s] rom: 16576 B 16 KB 101.17% [ 134s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 134s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 134s] collect2: error: ld returned 1 exit status [ 134s] % [ 134s] make[2]: *** [Makefile:234: flash] Error 1 [ 134s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 134s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 134s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 134s] dh_auto_build: make -j1 returned exit code 2 [ 134s] make: *** [debian/rules:16: build] Error 2 [ 134s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 134s] ### VM INTERACTION START ### [ 137s] [ 128.371702] sysrq: Power Off [ 137s] [ 128.377044] reboot: Power down [ 137s] ### VM INTERACTION END ### [ 137s] [ 137s] cloud136 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:56:08 UTC 2020. [ 137s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:56:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:56:32 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f34d617c96f4_74bf2aebd44c4600460141@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 168s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 168s] [COMPILING libboard/qmod/source/card_pres.c] [ 168s] [COMPILING libboard/qmod/source/wwan_led.c] [ 168s] [COMPILING libboard/qmod/source/i2c.c] [ 169s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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] [ 169s] Memory region Used Size Region Size %age Used [ 169s] rom: 16504 B 16 KB 100.73% [ 169s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 169s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 169s] collect2: error: ld returned 1 exit status [ 169s] % [ 169s] make[2]: *** [Makefile:234: flash] Error 1 [ 169s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 169s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 169s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 169s] dh_auto_build: make -j1 returned exit code 2 [ 169s] make: *** [debian/rules:16: build] Error 2 [ 169s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 169s] ### VM INTERACTION START ### [ 173s] [ 163.125652] sysrq: Power Off [ 173s] [ 163.131461] reboot: Power down [ 173s] ### VM INTERACTION END ### [ 173s] [ 173s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:56:26 UTC 2020. [ 173s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:57:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:57:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f34d651a80cc_74bf2aebd44c46004602f8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_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/wwan_perst.c] [ 161s] [COMPILING libboard/qmod/source/card_pres.c] [ 161s] [COMPILING libboard/qmod/source/wwan_led.c] [ 161s] [COMPILING libboard/qmod/source/i2c.c] [ 161s] [COMPILING libboard/qmod/source/board_qmod.c] [ 161s] [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] [ 162s] Memory region Used Size Region Size %age Used [ 162s] rom: 16504 B 16 KB 100.73% [ 162s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 162s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 162s] collect2: error: ld returned 1 exit status [ 162s] % [ 162s] make[2]: *** [Makefile:234: flash] Error 1 [ 162s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 162s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] dh_auto_build: make -j1 returned exit code 2 [ 162s] make: *** [debian/rules:16: build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] ### VM INTERACTION START ### [ 165s] [ 156.397254] sysrq: Power Off [ 165s] [ 156.402905] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:57:17 UTC 2020. [ 165s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:59:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:59:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34d6ca2a14f_74bf2aebd44c460046043d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/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] [ 155s] Memory region Used Size Region Size %age Used [ 155s] rom: 16464 B 16 KB 100.49% [ 155s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 155s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 155s] collect2: error: ld returned 1 exit status [ 155s] % [ 155s] make[2]: *** [Makefile:234: flash] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 155s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: error: make -j1 returned exit code 2 [ 155s] make: *** [debian/rules:16: build] Error 25 [ 155s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 148.343259] sysrq: Power Off [ 158s] [ 148.349042] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:59:08 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:59:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:59:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f34d6ca7c620_74bf2aebd44c46004605f9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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: 16464 B 16 KB 100.49% [ 158s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 158s] collect2: error: ld returned 1 exit status [ 158s] % [ 158s] make[2]: *** [Makefile:234: 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 [ 159s] ### VM INTERACTION START ### [ 162s] [ 149.867459] sysrq: Power Off [ 162s] [ 149.873239] reboot: Power down [ 162s] ### VM INTERACTION END ### [ 162s] [ 162s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:59:10 UTC 2020. [ 162s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 05:59:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 05:59:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f34d6ea64868_74bf2aebd44c4600460655@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 201s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 201s] [COMPILING libboard/qmod/source/card_pres.c] [ 201s] [COMPILING libboard/qmod/source/wwan_led.c] [ 202s] [COMPILING libboard/qmod/source/i2c.c] [ 202s] [COMPILING libboard/qmod/source/board_qmod.c] [ 202s] [COMPILING apps/dfu/main.c] [ 202s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 202s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 203s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 203s] Memory region Used Size Region Size %age Used [ 203s] rom: 16504 B 16 KB 100.73% [ 203s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 203s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 203s] collect2: error: ld returned 1 exit status [ 203s] % [ 203s] make[2]: *** [Makefile:234: flash] Error 1 [ 203s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 203s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 203s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 203s] dh_auto_build: make -j1 returned exit code 2 [ 203s] make: *** [debian/rules:16: build] Error 2 [ 203s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 203s] ### VM INTERACTION START ### [ 207s] [ 192.918437] sysrq: Power Off [ 207s] [ 192.920032] reboot: Power down [ 207s] ### VM INTERACTION END ### [ 207s] [ 207s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 05:59:48 UTC 2020. [ 207s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 06:06:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 06:06:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f34d89b5bb27_74bf2aebd44c460047249d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 186s] [COMPILING libboard/qmod/source/i2c.c] [ 186s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16584 B 16 KB 101.22% [ 187s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 187s] collect2: error: ld returned 1 exit status [ 187s] % [ 187s] Makefile:234: recipe for target 'flash' failed [ 187s] make[2]: *** [flash] Error 1 [ 187s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 187s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 187s] make[1]: *** [fw-qmod-dfu] Error 2 [ 187s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 187s] dh_auto_build: make -j1 returned exit code 2 [ 187s] debian/rules:16: recipe for target 'build' failed [ 187s] make: *** [build] Error 2 [ 187s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 187s] ### VM INTERACTION START ### [ 191s] [ 159.378155] sysrq: Power Off [ 191s] [ 159.412830] reboot: Power down [ 191s] ### VM INTERACTION END ### [ 191s] [ 191s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 06:06:42 UTC 2020. [ 191s] -- 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 Aug 13 06:47:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 06:47:11 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: Code-Review+1 > Patch Set 2: > > I believe this should be addressed in the new patch. Thank you for the quick review, and sorry for a rookie mistake! No problem, thanks for your contribution! -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: Matt Johnson Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Matt Johnson Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 06:47: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 Aug 13 06:58:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 06:58:17 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584/2//COMMIT_MSG at 9 PS2, Line 9: Version 1.12.12 of libsofia-sip-ua Wait, where did you get this version from? I just checked in [1], and 1.12.11 is still the latest available version there. Debian still seem to be providing 1.12.11+20110422.1-2.1+b1. While writing this comment, I also found something that looks like a fork [2], and the recent tag there is 1.13.44bc (!). [1] https://sourceforge.net/projects/sofia-sip/files/sofia-sip/ [2] https://gitlab.linphone.org/BC/public/external/sofia-sip/tags -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: Matt Johnson Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Matt Johnson Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 06:58: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 Thu Aug 13 07:35:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 07:35:22 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Fix dependency to libosmoabis References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19593 ) Change subject: osmo-mgw.spec.in: Fix dependency to libosmoabis ...................................................................... osmo-mgw.spec.in: Fix dependency to libosmoabis Confusingly, in Debian the package is called libosmo-abis, but in the CentOS/RPM it's called libosmoabis. Fixes a bug introduced in I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f Change-Id: I97dfec72a99295148e84e60c1e5037381f736c03 --- M contrib/osmo-mgw.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/93/19593/1 diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index a34a715..0f96ed0 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,7 +35,7 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 -BuildRequires: pkgconfig(libosmo-abis) +BuildRequires: pkgconfig(libosmoabis) %{?systemd_requires} %description -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I97dfec72a99295148e84e60c1e5037381f736c03 Gerrit-Change-Number: 19593 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 Aug 13 07:35:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 07:35:46 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Fix dependency to libosmoabis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19593 ) Change subject: osmo-mgw.spec.in: Fix dependency to libosmoabis ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I97dfec72a99295148e84e60c1e5037381f736c03 Gerrit-Change-Number: 19593 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 07:35: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 Aug 13 07:39:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 07:39:06 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Fix dependency to libosmoabis In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19593 ) Change subject: osmo-mgw.spec.in: Fix dependency to libosmoabis ...................................................................... osmo-mgw.spec.in: Fix dependency to libosmoabis Confusingly, in Debian the package is called libosmo-abis, but in the CentOS/RPM it's called libosmoabis. Fixes a bug introduced in I45717bda3ef7eba1ef59b993cc8a69bf2f92a29f Change-Id: I97dfec72a99295148e84e60c1e5037381f736c03 --- M contrib/osmo-mgw.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index a34a715..0f96ed0 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,7 +35,7 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 -BuildRequires: pkgconfig(libosmo-abis) +BuildRequires: pkgconfig(libosmoabis) %{?systemd_requires} %description -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I97dfec72a99295148e84e60c1e5037381f736c03 Gerrit-Change-Number: 19593 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 Thu Aug 13 07:46:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:46:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f34efffb971c_74bf2aebd44c460048473a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 75s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 75s] [COMPILING libboard/qmod/source/card_pres.c] [ 75s] [COMPILING libboard/qmod/source/wwan_led.c] [ 75s] [COMPILING libboard/qmod/source/i2c.c] [ 75s] [COMPILING libboard/qmod/source/board_qmod.c] [ 75s] [COMPILING apps/dfu/main.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 76s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 76s] Memory region Used Size Region Size %age Used [ 76s] rom: 16576 B 16 KB 101.17% [ 76s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 76s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 76s] collect2: error: ld returned 1 exit status [ 76s] % [ 76s] make[2]: *** [Makefile:234: flash] Error 1 [ 76s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 76s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 76s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 76s] dh_auto_build: make -j1 returned exit code 2 [ 76s] make: *** [debian/rules:16: build] Error 2 [ 76s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 76s] ### VM INTERACTION START ### [ 79s] [ 74.549677] sysrq: Power Off [ 79s] [ 74.554663] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] goat15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:46:41 UTC 2020. [ 79s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:47:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:47:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f34f01cd3086_74bf2aebd44c4600484974@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 36s] checking for LIBOSMOCORE... yes [ 36s] checking for LIBOSMOGSM... yes [ 36s] checking for LIBOSMOCTRL... yes [ 36s] checking for LIBOSMOVTY... yes [ 36s] checking for LIBOSMONETIF... yes [ 36s] checking for LIBOSMOABIS... yes [ 36s] checking for LIBOSMOTRAU... no [ 36s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 36s] [ 36s] Package 'libosmotrau', required by 'virtual:world', not found [ 36s] [ 36s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 36s] installed software in a non-standard prefix. [ 36s] [ 36s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 36s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 36s] See the pkg-config man page for more details. [ 36s] error: Bad exit status from /var/tmp/rpm-tmp.g8Ot4g (%build) [ 36s] [ 36s] [ 36s] RPM build errors: [ 36s] Bad exit status from /var/tmp/rpm-tmp.g8Ot4g (%build) [ 36s] ### VM INTERACTION START ### [ 39s] [ 35.337140] sysrq: Power Off [ 39s] [ 35.338183] reboot: Power down [ 39s] ### VM INTERACTION END ### [ 39s] [ 39s] build72 failed "build osmo-mgw.spec" at Thu Aug 13 07:47:12 UTC 2020. [ 39s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:47:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:47:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f34f01d7ce20_74bf2aebd44c46004850e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 104s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 104s] [COMPILING libboard/qmod/source/card_pres.c] [ 104s] [COMPILING libboard/qmod/source/wwan_led.c] [ 105s] [COMPILING libboard/qmod/source/i2c.c] [ 105s] [COMPILING libboard/qmod/source/board_qmod.c] [ 105s] [COMPILING apps/dfu/main.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 105s] Memory region Used Size Region Size %age Used [ 105s] rom: 16504 B 16 KB 100.73% [ 105s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 105s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 105s] collect2: error: ld returned 1 exit status [ 105s] % [ 105s] make[2]: *** [Makefile:234: flash] Error 1 [ 105s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 105s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 105s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 105s] dh_auto_build: make -j1 returned exit code 2 [ 105s] make: *** [debian/rules:16: build] Error 2 [ 105s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 105s] ### VM INTERACTION START ### [ 108s] [ 102.616902] sysrq: Power Off [ 108s] [ 102.618602] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] build74 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:47:17 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:50:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:50:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f34f0d17d5_74bf2aebd44c4600485143@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 54s] checking for libosmocore >= 1.1.0... yes [ 54s] checking for libosmogsm >= 1.1.0... yes [ 54s] checking for libosmoctrl >= 1.1.0... yes [ 54s] checking for libosmovty >= 1.1.0... yes [ 54s] checking for libosmo-netif >= 0.6.0... yes [ 54s] checking for libosmoabis >= 0.6.0... yes [ 54s] checking for libosmotrau >= 0.6.0... no [ 54s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 54s] [ 54s] No package 'libosmotrau' found [ 54s] [ 54s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 54s] installed software in a non-standard prefix. [ 54s] [ 54s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 54s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 54s] See the pkg-config man page for more details. [ 54s] error: Bad exit status from /var/tmp/rpm-tmp.cIKsz7 (%build) [ 54s] [ 54s] [ 54s] RPM build errors: [ 54s] Bad exit status from /var/tmp/rpm-tmp.cIKsz7 (%build) [ 54s] ### VM INTERACTION START ### [ 58s] [ 47.149618] sysrq: SysRq : Power Off [ 58s] [ 47.182895] reboot: Power down [ 58s] ### VM INTERACTION END ### [ 58s] [ 58s] obs-arm-9 failed "build osmo-mgw.spec" at Thu Aug 13 07:50:23 UTC 2020. [ 58s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:50:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:50:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f34f0eb8276_74bf2aebd44c4600485238@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 119s] [COMPILING libboard/qmod/source/i2c.c] [ 120s] [COMPILING libboard/qmod/source/board_qmod.c] [ 120s] [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: 16584 B 16 KB 101.22% [ 120s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 120s] collect2: error: ld returned 1 exit status [ 120s] % [ 120s] Makefile:234: recipe for target 'flash' failed [ 120s] make[2]: *** [flash] Error 1 [ 120s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 120s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 120s] make[1]: *** [fw-qmod-dfu] Error 2 [ 120s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 120s] dh_auto_build: make -j1 returned exit code 2 [ 120s] debian/rules:16: recipe for target 'build' failed [ 120s] make: *** [build] Error 2 [ 120s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 120s] ### VM INTERACTION START ### [ 123s] [ 115.996918] sysrq: Power Off [ 123s] [ 116.003738] reboot: Power down [ 123s] ### VM INTERACTION END ### [ 123s] [ 123s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:50:31 UTC 2020. [ 123s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:50:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:50:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f34f0eb5a88c_74bf2aebd44c46004853dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 83s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 83s] [COMPILING libboard/qmod/source/card_pres.c] [ 83s] [COMPILING libboard/qmod/source/wwan_led.c] [ 84s] [COMPILING libboard/qmod/source/i2c.c] [ 84s] [COMPILING libboard/qmod/source/board_qmod.c] [ 84s] [COMPILING apps/dfu/main.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 84s] [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: 16504 B 16 KB 100.73% [ 84s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 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: make -j1 returned exit code 2 [ 84s] make: *** [debian/rules:16: build] Error 2 [ 84s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 84s] ### VM INTERACTION START ### [ 87s] [ 81.933255] sysrq: Power Off [ 87s] [ 81.940226] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] goat11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:50:34 UTC 2020. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f34f10b8f0d5_74bf2aebd44c46004855b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 44s] checking for libosmocore >= 1.1.0... yes [ 44s] checking for libosmogsm >= 1.1.0... yes [ 44s] checking for libosmoctrl >= 1.1.0... yes [ 44s] checking for libosmovty >= 1.1.0... yes [ 44s] checking for libosmo-netif >= 0.6.0... yes [ 44s] checking for libosmoabis >= 0.6.0... yes [ 44s] checking for libosmotrau >= 0.6.0... no [ 44s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 44s] [ 44s] No package 'libosmotrau' found [ 44s] [ 44s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 44s] installed software in a non-standard prefix. [ 44s] [ 44s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 44s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 44s] See the pkg-config man page for more details. [ 44s] error: Bad exit status from /var/tmp/rpm-tmp.TfhhGq (%build) [ 44s] [ 44s] [ 44s] RPM build errors: [ 44s] Bad exit status from /var/tmp/rpm-tmp.TfhhGq (%build) [ 44s] ### VM INTERACTION START ### [ 48s] [ 42.377474] sysrq: Power Off [ 48s] [ 42.393887] reboot: Power down [ 48s] ### VM INTERACTION END ### [ 48s] [ 48s] lamb61 failed "build osmo-mgw.spec" at Thu Aug 13 07:51:21 UTC 2020. [ 48s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f34f10c35677_74bf2aebd44c46004857ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 133s] [COMPILING libboard/qmod/source/i2c.c] [ 133s] [COMPILING libboard/qmod/source/board_qmod.c] [ 133s] [COMPILING apps/dfu/main.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 133s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 134s] Memory region Used Size Region Size %age Used [ 134s] rom: 16576 B 16 KB 101.17% [ 134s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 134s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 134s] collect2: error: ld returned 1 exit status [ 134s] % [ 134s] Makefile:234: recipe for target 'flash' failed [ 134s] make[2]: *** [flash] Error 1 [ 134s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 134s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 134s] make[1]: *** [fw-qmod-dfu] Error 2 [ 134s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 134s] dh_auto_build: make -j1 returned exit code 2 [ 134s] debian/rules:16: recipe for target 'build' failed [ 134s] make: *** [build] Error 2 [ 134s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 134s] ### VM INTERACTION START ### [ 137s] [ 127.768092] sysrq: Power Off [ 137s] [ 127.784101] reboot: Power down [ 137s] ### VM INTERACTION END ### [ 137s] [ 137s] cloud104 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:09 UTC 2020. [ 137s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:24 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f34f10bd3b54_74bf2aebd44c46004856a8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 131s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 131s] [COMPILING libboard/qmod/source/card_pres.c] [ 131s] [COMPILING libboard/qmod/source/wwan_led.c] [ 132s] [COMPILING libboard/qmod/source/i2c.c] [ 132s] [COMPILING libboard/qmod/source/board_qmod.c] [ 132s] [COMPILING apps/dfu/main.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 132s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 132s] Memory region Used Size Region Size %age Used [ 132s] rom: 16576 B 16 KB 101.17% [ 132s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 132s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 132s] collect2: error: ld returned 1 exit status [ 132s] % [ 132s] make[2]: *** [Makefile:234: flash] Error 1 [ 132s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 132s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 132s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 132s] dh_auto_build: make -j1 returned exit code 2 [ 132s] make: *** [debian/rules:16: build] Error 2 [ 132s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 132s] ### VM INTERACTION START ### [ 135s] [ 127.997213] sysrq: Power Off [ 135s] [ 128.004945] reboot: Power down [ 136s] ### VM INTERACTION END ### [ 136s] [ 136s] lamb12 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:23 UTC 2020. [ 136s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f34f10c90d73_74bf2aebd44c46004858eb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 44s] checking for libosmocore >= 1.1.0... yes [ 44s] checking for libosmogsm >= 1.1.0... yes [ 44s] checking for libosmoctrl >= 1.1.0... yes [ 44s] checking for libosmovty >= 1.1.0... yes [ 44s] checking for libosmo-netif >= 0.6.0... yes [ 44s] checking for libosmoabis >= 0.6.0... yes [ 44s] checking for libosmotrau >= 0.6.0... no [ 44s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 44s] [ 44s] No package 'libosmotrau' found [ 44s] [ 44s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 44s] installed software in a non-standard prefix. [ 44s] [ 44s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 44s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 44s] See the pkg-config man page for more details. [ 44s] error: Bad exit status from /var/tmp/rpm-tmp.pj3zx7 (%build) [ 44s] [ 44s] [ 44s] RPM build errors: [ 44s] Bad exit status from /var/tmp/rpm-tmp.pj3zx7 (%build) [ 44s] ### VM INTERACTION START ### [ 47s] [ 41.676329] sysrq: SysRq : Power Off [ 47s] [ 41.683226] reboot: Power down [ 47s] ### VM INTERACTION END ### [ 47s] [ 47s] lamb28 failed "build osmo-mgw.spec" at Thu Aug 13 07:51:13 UTC 2020. [ 47s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f34f12b53210_74bf2aebd44c4600485934@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 124s] [COMPILING libboard/qmod/source/i2c.c] [ 124s] [COMPILING libboard/qmod/source/board_qmod.c] [ 124s] [COMPILING apps/dfu/main.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 125s] Memory region Used Size Region Size %age Used [ 125s] rom: 16576 B 16 KB 101.17% [ 125s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] Makefile:234: recipe for target 'flash' failed [ 125s] make[2]: *** [flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 125s] make[1]: *** [fw-qmod-dfu] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] dh_auto_build: make -j1 returned exit code 2 [ 125s] debian/rules:16: recipe for target 'build' failed [ 125s] make: *** [build] Error 2 [ 125s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 118.619675] sysrq: Power Off [ 128s] [ 118.625859] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] cloud106 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:30 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f34f12ba39d5_74bf2aebd44c460048602f@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: [ 126s] [COMPILING libboard/common/source/uart_console.c] [ 126s] [COMPILING libboard/common/source/led.c] [ 126s] [COMPILING libboard/common/source/boardver_adc.c] [ 126s] [COMPILING libboard/common/source/manifest.c] [ 126s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 126s] [COMPILING apps/dfu/main.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16460 B 16 KB 100.46% [ 127s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 127s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] make[2]: *** [Makefile:234: flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: error: make -j1 returned exit code 2 [ 127s] make: *** [debian/rules:16: build] Error 25 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 130s] [ 122.108853] sysrq: Power Off [ 130s] [ 122.116627] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] lamb06 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:31 UTC 2020. [ 130s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f34f12c7d30c_74bf2aebd44c46004861a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/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] [ 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: 16464 B 16 KB 100.49% [ 156s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 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] [ 149.676464] sysrq: Power Off [ 159s] [ 149.682457] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb62 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:50 UTC 2020. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:51:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:51:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f34f12ce7f4a_74bf2aebd44c4600486228@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 149s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 149s] [COMPILING libboard/qmod/source/card_pres.c] [ 149s] [COMPILING libboard/qmod/source/wwan_led.c] [ 149s] [COMPILING libboard/qmod/source/i2c.c] [ 149s] [COMPILING libboard/qmod/source/board_qmod.c] [ 149s] [COMPILING apps/dfu/main.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 150s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 150s] Memory region Used Size Region Size %age Used [ 150s] rom: 16504 B 16 KB 100.73% [ 150s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 150s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 150s] collect2: error: ld returned 1 exit status [ 150s] % [ 150s] make[2]: *** [Makefile:234: flash] Error 1 [ 150s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 150s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 150s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 150s] dh_auto_build: make -j1 returned exit code 2 [ 150s] make: *** [debian/rules:16: build] Error 255 [ 150s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 150s] ### VM INTERACTION START ### [ 153s] [ 145.903396] sysrq: Power Off [ 153s] [ 145.908444] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] lamb04 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:51:52 UTC 2020. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:52:15 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:52:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f34f14ec37a7_74bf2aebd44c460048718b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 152s] [COMPILING libboard/qmod/source/i2c.c] [ 153s] [COMPILING libboard/qmod/source/board_qmod.c] [ 153s] [COMPILING apps/dfu/main.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 153s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 154s] Memory region Used Size Region Size %age Used [ 154s] rom: 16584 B 16 KB 101.22% [ 154s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 154s] collect2: error: ld returned 1 exit status [ 154s] % [ 154s] Makefile:234: recipe for target 'flash' failed [ 154s] make[2]: *** [flash] Error 1 [ 154s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 154s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 154s] make[1]: *** [fw-qmod-dfu] Error 2 [ 154s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 154s] dh_auto_build: make -j1 returned exit code 2 [ 154s] debian/rules:16: recipe for target 'build' failed [ 154s] make: *** [build] Error 2 [ 154s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 154s] ### VM INTERACTION START ### [ 157s] [ 142.184567] sysrq: Power Off [ 157s] [ 142.185602] reboot: Power down [ 157s] ### VM INTERACTION END ### [ 157s] [ 157s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:52:02 UTC 2020. [ 157s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:52:32 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:52:32 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f34f15448c6e_74bf2aebd44c46004876dc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 179s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 179s] [COMPILING libboard/qmod/source/card_pres.c] [ 179s] [COMPILING libboard/qmod/source/wwan_led.c] [ 179s] [COMPILING libboard/qmod/source/i2c.c] [ 179s] [COMPILING libboard/qmod/source/board_qmod.c] [ 180s] [COMPILING apps/dfu/main.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 180s] Memory region Used Size Region Size %age Used [ 180s] rom: 16504 B 16 KB 100.73% [ 180s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 180s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 180s] collect2: error: ld returned 1 exit status [ 180s] % [ 180s] make[2]: *** [Makefile:234: flash] Error 1 [ 180s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 180s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 180s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 180s] dh_auto_build: make -j1 returned exit code 2 [ 180s] make: *** [debian/rules:16: build] Error 2 [ 180s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 181s] ### VM INTERACTION START ### [ 184s] [ 169.082738] sysrq: Power Off [ 184s] [ 169.147259] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:52:26 UTC 2020. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:52:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:52:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f34f16535650_74bf2aebd44c46004877f8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 51s] checking for LIBOSMOCORE... yes [ 51s] checking for LIBOSMOGSM... yes [ 51s] checking for LIBOSMOCTRL... yes [ 51s] checking for LIBOSMOVTY... yes [ 51s] checking for LIBOSMONETIF... yes [ 51s] checking for LIBOSMOABIS... yes [ 51s] checking for LIBOSMOTRAU... no [ 51s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 51s] [ 51s] Package 'libosmotrau', required by 'virtual:world', not found [ 51s] [ 51s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 51s] installed software in a non-standard prefix. [ 51s] [ 51s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 51s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 51s] See the pkg-config man page for more details. [ 51s] error: Bad exit status from /var/tmp/rpm-tmp.F5j9iF (%build) [ 51s] [ 51s] [ 51s] RPM build errors: [ 51s] Bad exit status from /var/tmp/rpm-tmp.F5j9iF (%build) [ 51s] ### VM INTERACTION START ### [ 54s] [ 47.762656] sysrq: Power Off [ 54s] [ 47.769873] reboot: Power down [ 54s] ### VM INTERACTION END ### [ 54s] [ 54s] lamb52 failed "build osmo-mgw.spec" at Thu Aug 13 07:52:45 UTC 2020. [ 54s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:53:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:53:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f34f1675f97a_74bf2aebd44c460048797b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 137s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 137s] [COMPILING libboard/qmod/source/card_pres.c] [ 137s] [COMPILING libboard/qmod/source/wwan_led.c] [ 137s] [COMPILING libboard/qmod/source/i2c.c] [ 138s] [COMPILING libboard/qmod/source/board_qmod.c] [ 138s] [COMPILING apps/dfu/main.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 138s] Memory region Used Size Region Size %age Used [ 138s] rom: 16504 B 16 KB 100.73% [ 138s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 138s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 138s] collect2: error: ld returned 1 exit status [ 138s] % [ 138s] make[2]: *** [Makefile:234: flash] Error 1 [ 138s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 138s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 138s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 138s] dh_auto_build: make -j1 returned exit code 2 [ 138s] make: *** [debian/rules:16: build] Error 2 [ 138s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 138s] ### VM INTERACTION START ### [ 141s] [ 133.964707] sysrq: Power Off [ 141s] [ 133.969464] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] lamb54 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:52:53 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:53:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:53:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f34f1681cee9_74bf2aebd44c460048803d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 89s] [COMPILING libboard/qmod/source/i2c.c] [ 89s] [COMPILING libboard/qmod/source/board_qmod.c] [ 89s] [COMPILING apps/dfu/main.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 89s] Memory region Used Size Region Size %age Used [ 89s] rom: 16584 B 16 KB 101.22% [ 89s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 89s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 89s] collect2: error: ld returned 1 exit status [ 89s] % [ 89s] Makefile:234: recipe for target 'flash' failed [ 89s] make[2]: *** [flash] Error 1 [ 89s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 89s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 89s] make[1]: *** [fw-qmod-dfu] Error 2 [ 89s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 89s] dh_auto_build: make -j1 returned exit code 2 [ 89s] debian/rules:16: recipe for target 'build' failed [ 89s] make: *** [build] Error 2 [ 89s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 89s] ### VM INTERACTION START ### [ 92s] [ 86.954504] sysrq: Power Off [ 92s] [ 86.958677] reboot: Power down [ 93s] ### VM INTERACTION END ### [ 93s] [ 93s] sheep87 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:52:55 UTC 2020. [ 93s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:53:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:53:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f34f1693da94_74bf2aebd44c46004881ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 58s] checking for LIBOSMOCORE... yes [ 58s] checking for LIBOSMOGSM... yes [ 58s] checking for LIBOSMOCTRL... yes [ 58s] checking for LIBOSMOVTY... yes [ 58s] checking for LIBOSMONETIF... yes [ 58s] checking for LIBOSMOABIS... yes [ 58s] checking for LIBOSMOTRAU... no [ 58s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 58s] [ 58s] Package 'libosmotrau', required by 'virtual:world', not found [ 58s] [ 58s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 58s] installed software in a non-standard prefix. [ 58s] [ 58s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 58s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 58s] See the pkg-config man page for more details. [ 58s] error: Bad exit status from /var/tmp/rpm-tmp.LhX9o0 (%build) [ 58s] [ 58s] [ 58s] RPM build errors: [ 58s] Bad exit status from /var/tmp/rpm-tmp.LhX9o0 (%build) [ 58s] ### VM INTERACTION START ### [ 61s] [ 50.126433] sysrq: Power Off [ 61s] [ 50.127379] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] obs-arm-8 failed "build osmo-mgw.spec" at Thu Aug 13 07:53:01 UTC 2020. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:53:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:53:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f34f1a3437d2_74bf2aebd44c460048827@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 117s] [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: 16464 B 16 KB 100.49% [ 118s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 118s] collect2: error: ld returned 1 exit status [ 118s] % [ 118s] make[2]: *** [Makefile:234: 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] [ 112.521504] sysrq: Power Off [ 121s] [ 112.534367] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] sheep83 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 07:53:40 UTC 2020. [ 121s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:53:58 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:53:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f34f1a45553f_74bf2aebd44c4600488397@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 105s] checking for LIBOSMOCORE... yes [ 105s] checking for LIBOSMOGSM... yes [ 105s] checking for LIBOSMOCTRL... yes [ 105s] checking for LIBOSMOVTY... yes [ 105s] checking for LIBOSMONETIF... yes [ 105s] checking for LIBOSMOABIS... yes [ 105s] checking for LIBOSMOTRAU... no [ 105s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 105s] [ 105s] Package 'libosmotrau', required by 'virtual:world', not found [ 105s] [ 105s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 105s] installed software in a non-standard prefix. [ 105s] [ 105s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 105s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 105s] See the pkg-config man page for more details. [ 105s] error: Bad exit status from /var/tmp/rpm-tmp.MMLDJ4 (%build) [ 105s] [ 105s] [ 105s] RPM build errors: [ 105s] Bad exit status from /var/tmp/rpm-tmp.MMLDJ4 (%build) [ 105s] ### VM INTERACTION START ### [ 106s] Powering off. [ 106s] [ 98.995200] reboot: Power down [ 106s] ### VM INTERACTION END ### [ 106s] [ 106s] sheep86 failed "build osmo-mgw.spec" at Thu Aug 13 07:53:55 UTC 2020. [ 106s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 07:55:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 07:55:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f34f21882244_74bf2aebd44c46004888a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 174s] checking for LIBOSMOCORE... yes [ 174s] checking for LIBOSMOGSM... yes [ 174s] checking for LIBOSMOCTRL... yes [ 174s] checking for LIBOSMOVTY... yes [ 174s] checking for LIBOSMONETIF... yes [ 174s] checking for LIBOSMOABIS... yes [ 174s] checking for LIBOSMOTRAU... no [ 174s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 174s] [ 174s] Package 'libosmotrau', required by 'virtual:world', not found [ 174s] [ 174s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 174s] installed software in a non-standard prefix. [ 174s] [ 174s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 174s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 174s] See the pkg-config man page for more details. [ 175s] error: Bad exit status from /var/tmp/rpm-tmp.axzM0W (%build) [ 175s] [ 175s] [ 175s] RPM build errors: [ 175s] Bad exit status from /var/tmp/rpm-tmp.axzM0W (%build) [ 175s] ### VM INTERACTION START ### [ 177s] Powering off. [ 177s] [ 158.117164] reboot: Power down [ 177s] ### VM INTERACTION END ### [ 177s] [ 177s] obs-arm-8 failed "build osmo-mgw.spec" at Thu Aug 13 07:55:37 UTC 2020. [ 177s] -- 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 Aug 13 09:08:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:08:02 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Bmaster=5D=3A_Bump_version=3A_1=2E3=2E0=2E173-51974_=E2=86=92_1=2E4=2E0?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19594 ) Change subject: Bump version: 1.3.0.173-51974 ? 1.4.0 ...................................................................... Bump version: 1.3.0.173-51974 ? 1.4.0 Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174 --- M TODO-RELEASE M contrib/libosmocore.spec.in M debian/changelog M debian/control R debian/libosmocore16.install R debian/libosmogb11.install R debian/libosmogsm15.install R debian/libosmosim2.install M src/Makefile.am M src/gb/Makefile.am M src/gsm/Makefile.am M src/sim/Makefile.am 12 files changed, 248 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/19594/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index a4d9dfb..8ccfa49 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,13 +7,3 @@ # 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 -gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param -sim API/ABI change new osim_file_desc_find_aid() -sim API/ABI change all over the place -gsm new API new osmo_bts_unset_feature() -gb API/ABI change deprecate gprs_nsvc_crate(); export gprs_nsvc_create2() -gsm API/ABI change add new member to lapd_datalink -gsm new API new gsm0808_create_common_id() -gb new API new bssgp_tx_bvc_reset2() -core new API new rate_ctr_reset(), rate_ctr_group_reset() -core new API new osmo_stat_item_reset(), osmo_stat_item_group_reset() diff --git a/contrib/libosmocore.spec.in b/contrib/libosmocore.spec.in index a5af3e9..fb45516 100644 --- a/contrib/libosmocore.spec.in +++ b/contrib/libosmocore.spec.in @@ -109,13 +109,13 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmocoding. -%package -n libosmocore12 +%package -n libosmocore16 Summary: Osmocom core library # crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+ License: GPL-2.0-only AND GPL-2.0-or-later Group: System/Libraries -%description -n libosmocore12 +%description -n libosmocore16 libosmocore is a library with various utility functions shared between OpenBSC and OsmocomBB. @@ -124,7 +124,7 @@ # crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+ License: GPL-2.0-only AND GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmocore12 = %version +Requires: libosmocore16 = %version Requires: libtalloc-devel %description -n libosmocore-devel @@ -161,12 +161,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmoctrl. -%package -n libosmogb9 +%package -n libosmogb11 Summary: Osmocom GPRS Gb Interface (NS/BSSGP) library License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmogb9 +%description -n libosmogb11 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -177,7 +177,7 @@ License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmogb9 = %version +Requires: libosmogb11 = %version Requires: libosmovty-devel = %version %description -n libosmogb-devel @@ -186,12 +186,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmogb. -%package -n libosmogsm13 +%package -n libosmogsm15 Summary: Osmocom GSM utility library License: GPL-2.0-or-later AND AGPL-3.0-or-later Group: System/Libraries -%description -n libosmogsm13 +%description -n libosmogsm15 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -206,7 +206,7 @@ License: GPL-2.0-or-later AND AGPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmogsm13 = %version +Requires: libosmogsm15 = %version %description -n libosmogsm-devel The libosmogsm library in particular is a collection of common code @@ -218,12 +218,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmogsm. -%package -n libosmosim0 +%package -n libosmosim2 Summary: Osmocom SIM card related utility library License: GPL-2.0-or-later Group: System/Libraries -%description -n libosmosim0 +%description -n libosmosim2 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -235,7 +235,7 @@ License: GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmosim0 = %version +Requires: libosmosim2 = %version %description -n libosmosim-devel The libosmosim library in particular contains routines for SIM card @@ -320,16 +320,16 @@ %postun -n libosmocodec0 -p /sbin/ldconfig %post -n libosmocoding0 -p /sbin/ldconfig %postun -n libosmocoding0 -p /sbin/ldconfig -%post -n libosmocore12 -p /sbin/ldconfig -%postun -n libosmocore12 -p /sbin/ldconfig +%post -n libosmocore16 -p /sbin/ldconfig +%postun -n libosmocore16 -p /sbin/ldconfig %post -n libosmoctrl0 -p /sbin/ldconfig %postun -n libosmoctrl0 -p /sbin/ldconfig -%post -n libosmogb9 -p /sbin/ldconfig -%postun -n libosmogb9 -p /sbin/ldconfig -%post -n libosmogsm13 -p /sbin/ldconfig -%postun -n libosmogsm13 -p /sbin/ldconfig -%post -n libosmosim0 -p /sbin/ldconfig -%postun -n libosmosim0 -p /sbin/ldconfig +%post -n libosmogb11 -p /sbin/ldconfig +%postun -n libosmogb11 -p /sbin/ldconfig +%post -n libosmogsm15 -p /sbin/ldconfig +%postun -n libosmogsm15 -p /sbin/ldconfig +%post -n libosmosim2 -p /sbin/ldconfig +%postun -n libosmosim2 -p /sbin/ldconfig %post -n libosmovty4 -p /sbin/ldconfig %postun -n libosmovty4 -p /sbin/ldconfig %post -n libosmousb0 -p /sbin/ldconfig @@ -363,9 +363,9 @@ %_libdir/libosmocoding.so %_libdir/pkgconfig/libosmocoding.pc -%files -n libosmocore12 +%files -n libosmocore16 %defattr(-,root,root) -%_libdir/libosmocore.so.12* +%_libdir/libosmocore.so.16* %files -n libosmocore-devel %defattr(-,root,root) @@ -389,9 +389,9 @@ %_libdir/libosmoctrl.so %_libdir/pkgconfig/libosmoctrl.pc -%files -n libosmogb9 +%files -n libosmogb11 %defattr(-,root,root) -%_libdir/libosmogb.so.9* +%_libdir/libosmogb.so.11* %files -n libosmogb-devel %defattr(-,root,root) @@ -401,9 +401,9 @@ %_libdir/libosmogb.so %_libdir/pkgconfig/libosmogb.pc -%files -n libosmogsm13 +%files -n libosmogsm15 %defattr(-,root,root) -%_libdir/libosmogsm.so.13* +%_libdir/libosmogsm.so.15* %files -n libosmogsm-devel %defattr(-,root,root) @@ -414,9 +414,9 @@ %_libdir/libosmogsm.so %_libdir/pkgconfig/libosmogsm.pc -%files -n libosmosim0 +%files -n libosmosim2 %defattr(-,root,root) -%_libdir/libosmosim.so.0* +%_libdir/libosmosim.so.2* %files -n libosmosim-devel %defattr(-,root,root) diff --git a/debian/changelog b/debian/changelog index 3a9e2b9..317fefe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,207 @@ +libosmocore (1.4.0) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * bitvec: Fix return value in doc for bitvec_write_field() + * gb: Fix typo in bssgp_cause_strings description + * logging_vty.c: Avoid acquiring log tgt lock in logging level cmd when not needed + * value_string: Switch val from unsigned to int + * gsm0503_coding: Fix misleading comment UL vs DL + * gsm0503_coding: Fix USF encoding in MCS1-4 + * gsm0503_tables: Document USF encoding tables + * tests/coding: Test decoding of DL EGPRS data packet + * tests/coding_test: Fix test_pdtch() results + * gsm_04_06.h: Remove repeated egprs header struct definitions + * configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt + * Drop old BSC references in fd check configure option + * Revert "gsmtap_makemsg_ex: NULL for unknown chan_type" + * use_count.h: Fix API doc example + * tests/fsm_test.c: Disable use color in logging output + * tests: vty: Extend test to do some numeric range validations + * vty: Allow 64 bit values in numeric ranges if system supports it + * vty: Don't match negative values on purely positive ranges + * vty: Introduce support to set cpu-affinity and scheduler policy + + [ Harald Welte ] + * usb: Use OSMO_STRLCPY where appropriate + * usb: Add osmo_libusb_find_matching_dev_{path,serial} + * osmo_libusb: Check return of libusb_get_string_descriptor_ascii() + * osmo-sim-test: Recurse through subdirectories + * osmo-sim-test: Fall-back to classic SIM + * chantype_rsl2gsmtap(): Add entries for CBCH + * gsmtap.h: Add definitions for voice inside GSMTAP + * Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string + * Add CTRL port number for osmo-mgw + * gsmtap: Solve TCH / FACCH confusion once and for all + * fixup depreciation warning + * socket: Add osmo_sock_mcast_iface_set() to bind multicast to device + * libosmosim: Build irrespective of PC/SC support + * sim: card_fs_usim.c: Fix FID of EF.EXT4 + * card_fs_sim: Avoid '/' in file names + * osmo-sim-test: Use stderr for error messages + * osmo-sim-test: don't print SW in successful case of dump_file() + * osmo-sim-test: Optionally dump card files to host filesystem + * sim: add osim_file_desc_find_aid() + * sim: re-structure how we support cards + applications + * osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards + * card_fs_{usim,isim}: Update to 15.7.0 / Release 15 + * sim: Add HPSIM application support + * osmo-sim-test: Avoid double-close + * ports.h: Add 4268 for UECUPS VTY + * exec: Introduce osmo_system_nowait2() to allow specify a user + * select.c: Introduce support for signalfd + * timerfd: call osmo_fd_unregister() when closing on read error + * gsm0503_parity: Fix compilation with gcc-10 + * gsm_29_118.h: Fix compilation with gcc-10 + * sim: When decoding SW, take application specific SW into account + * README.md: fix typo (coore -> core) + * README.md: We don't build libosmotrau. The latter is in libosmo-abis.git + * usb: Add osmo_libusb_find_open_claim() all-in-one API + * codec: Add functions for AMR s->d bits and d->s bits + * libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() + * Implement ITU-T I.460 multiplex / demultiplex + * NS: Optionally disable NS-{RESET,BLOCK,UNBLOCK} when using UDP/IP + * NS: replace use of gprs_nsvc_create() with gprs_nsvc_crate2() + * lapd/lapdm: print user-defined string name instead of (dl=%p) + * lapd_core: Fix log line being about LAPD and not LAPDm + * Revert "add osmo_mobile_identity API" + * bts_features.h: Introduce BTS_FEAT_PAGING_COORDINATION + * gsm0808: Add gsm0808_create_common_id() + * gprs_bssgp: Add bssgp_tx_bvc_reset2() + * gprs_ns: Set sockaddr_in.sin_family for persistent NSVCs + * vty/ports.h: Add VTY port for osmo-e1d + * lapd_core: Ensure we always have some tailroom + * lapd_core: After calling into L3, check if the state has changed + * vty: Avoid ultra-long multi-line strings cluttering talloc reports + * gsm0411_{smc,smr}.c: Work around newlib bug + * bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} + * i460: Add back-pointer from sub-channel to timeslot + * i460: pass more context to call-back functions + * i460: Fix bit- and subslots ordering of I.460 mux + demux + + [ Neels Hofmeyr ] + * add crcXXgen.c.tpl to EXTRA_DIST + * jenkins.sh: simpler invocation of verify_value_string_... + * gsm_04_08.h: fix big endian structs + * add missing endian.h in gsm_23_041.h + * struct_endianess.py: also recognise unnamed substructs + * cosmetic: apply changes to match struct_endianess.py output + * enable vty xml dumping to stdout + * api doc: clarify 'returns' of gsm48_mi_to_string() + * api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature + * fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() + * add gsm23236: MSC pooling: TMSI and NRI utility functions + * tlv.h: add msgb_tvl_put() to add a TvLV without the value part + * osmo_bcd2str: also validate start_nibble parameter + * add osmo_mobile_identity API + * add osmo_mobile_identity API + * gsm0408_test: allow deprecated API + * api comment: fix example of osmo_mobile_identity_encode_msgb + * fixup for gsm0808_create_common_id(): add API doc, use new MI API + + [ Philipp Maier ] + * l1sap: add measurement related struct members + * osmo-sim-test: check tlv_parsed struct tp before access + * parity: add amr crc14 definition + * conv: add convolutional coder for AMR SID UPDATE frames + * gsm690: Fix amr speech bit length table + * dtx: add decoding for AMR-DTX frames + * exec: osmo_system_nowait2: initalize *pw pointer with NULL + * logging: use LOGL_NOTICE when no loglevel is set + * logging: do not allow multiple calls of log_init() + * gsm0505_amr_dtx: add missing value strings + * gsm0808: fix endieness of call identifier + * i460_mux: correctly reset subchannels + * gsm_08_58: add missing RSL error cause codes + * i460_mux: add callback to notify empty tx queue + + [ Vadim Yanitskiy ] + * usb/Makefile.am: fix copy-pasted library name: s/libosmosim/libosmousb/ + * gsm/gsm48049.c: fix use of GNU 'missing =' extension in designator + * tdef_vty: do not enforce enum 'node_type' in osmo_tdef_vty_groups_init() + * conv: prevent theoretical NULL pointer dereference in osmo_conv_encode() + * osmo_libusb: check return value of osmo_fd_register() + * exec: prevent uninitialized memory access in osmo_system_nowait() + * exec: propogate errors from osmo_environment_[filter|append] + * bitvec: make bitvec_free() safe against NULL + * tests/bitvec: add a unit test for bitvec_read_field() + * bitvec: fix bitvec_unhex(): do not return 1 on success + * bitvec: fix misleading description of bitvec_spare_padding() + * bitvec: cosmetic: init i only once in bitvec_[un]pack() + * bitvec: avoid redundant zero-initialization in bitvec_alloc() + * tests/coding: check return value of encoding / decoding functions + * tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests + * tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h + * coding: fix documentation of PDTCH encoding functions + * tests/coding: add 11-bit Access Burst samples from a real phone + * coding: fix bit ordering in 11-bit RACH coding functions + * rest_octets: fix encoding of 3G Early Classmark Sending Restriction + * libosmogsm: cosmetic: add spaces before and after PRIu32 + * bts_features: fix: properly check the result of bitvec_get_bit_pos() + * bts_features: introduce osmo_bts_unset_feature() + * gsm0502: add TDMA frame number constants and modular arithmetic + * utils/gsmtap_logread.py: make it executable + * src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST + * configure.ac: clarify description of --enable-neon + * configure.ac: fix: do not define HAVE_NEON unconditionally + * configure.ac: print ARM NEON instructions support status + + [ Eric Wild ] + * pcsc: don't leak memory + + [ Alexander Chemeris ] + * gb: Fix typos in gprs_ns.c comments + * gb: Print signalling and data weights on NS-VC creation. + * select: Fix typo in a comment Osmcoom->Osmocom + * stats: Move cfg_stats_interval_cmd() function. + * stats: Fix documentation for osmo_stats_set_interval() + * stats: Support regular stats flush + * stats: Change timer to timerfd to make it a true interval timer. + * gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. + * gsm0808: Make a function to extract Cause IE publicly available. + * gsm0808_utils: Fix gsm0808_cause_class() function + * gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. + * gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. + + [ Maksim Aristov ] + * debian: Change python3 dependency to native arch + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + * timer.c: make timers thread safe + * pkgconfig/osmocodec/osmocoding: link to talloc + * libomsocoding: NEON viterbi acceleration + + [ Kirill Zakharenko ] + * statsd: fix rendering for groups with idx==0 + + [ Sylvain Munaut ] + * libosmogsm: import hopping sequence generation code + + [ Oliver Smith ] + * contrib: import RPM spec + * gsmtap_makemsg_ex: NULL for unknown chan_type + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Alexander Couzens ] + * gprs_ns.h: add missing prototype gprs_ns_rcvmsg() + * gprs_ns: fix typo in comment + * gprs_ns_frgre.h: add missing declaration of structs + * bts_features: add feature BTS_FEAT_IPV6_NSVC + * socket: osmo_sock_local_ip: correct doxygen comment + * vty: add a define VTY_IPV46_CMD to require a IPv4/6 address + * Gb/BSSGP: replace hardcoded Tx into NS library by a callback + * gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG + * osmo_sock_init2: improve support for AF_UNSPEC + * socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints + + [ Daniel Willmann ] + * rate_ctr: Add functions to reset rate counter (groups) + * stat_item: Add function to reset stat items and groups + * stats: Add stats commands related to testing + + -- Harald Welte Thu, 13 Aug 2020 11:06:35 +0200 + libosmocore (1.3.0) unstable; urgency=medium [ Pau Espin Pedrol ] diff --git a/debian/control b/debian/control index 272fe7f..ac2dd6a 100644 --- a/debian/control +++ b/debian/control @@ -29,12 +29,12 @@ Multi-Arch: foreign Depends: libosmocodec0 (= ${binary:Version}), libosmocoding0 (= ${binary:Version}), - libosmocore12 (= ${binary:Version}), - libosmogb9 (= ${binary:Version}), - libosmogsm13 (= ${binary:Version}), + libosmocore16 (= ${binary:Version}), + libosmogb11 (= ${binary:Version}), + libosmogsm15 (= ${binary:Version}), libosmovty4 (= ${binary:Version}), libosmoctrl0 (= ${binary:Version}), - libosmosim0 (= ${binary:Version}), + libosmosim2 (= ${binary:Version}), libosmousb0 (= ${binary:Version}), ${misc:Depends} Description: Open Source MObile COMmunications CORE library (metapackage) @@ -113,7 +113,7 @@ . This package contains the documentation for the libosmocoding library. -Package: libosmocore12 +Package: libosmocore16 Section: libs Architecture: any Multi-Arch: same @@ -127,14 +127,14 @@ (at least) other programs that are developed in the sphere of Free Software / Open Source mobile communication. . - The libosmocore12 library in particular is a collection of common code used in + The libosmocore16 library in particular is a collection of common code used in various sub-projects inside the Osmocom family of projects. Package: libosmocore-doc Architecture: all Section: doc Depends: ${misc:Depends}, - libosmocore12, + libosmocore16, libjs-jquery, libosmocodec-doc, libosmocoding-doc, @@ -149,7 +149,7 @@ . This package contains the documentation for the libosmocore library. -Package: libosmogb9 +Package: libosmogb11 Section: libs Architecture: any Multi-Arch: same @@ -170,7 +170,7 @@ Architecture: all Section: doc Depends: ${misc:Depends}, - libosmogb9, + libosmogb11, libjs-jquery Description: Documentation for the Osmo GPRS Gb library This is part of the libosmocore "meta"-library. The libosmocore library @@ -181,7 +181,7 @@ . This package contains the documentation for the libosmogb library. -Package: libosmogsm13 +Package: libosmogsm15 Section: libs Architecture: any Multi-Arch: same @@ -205,7 +205,7 @@ Architecture: all Section: doc Depends: ${misc:Depends}, - libosmogsm13, + libosmogsm15, libjs-jquery Description: Documentation for the Osmo GSM utility library This is part of the libosmocore "meta"-library. The libosmocore library @@ -279,7 +279,7 @@ . This package contains the documentation for the libosmoctrl library. -Package: libosmosim0 +Package: libosmosim2 Section: libs Architecture: any Multi-Arch: same diff --git a/debian/libosmocore12.install b/debian/libosmocore16.install similarity index 100% rename from debian/libosmocore12.install rename to debian/libosmocore16.install diff --git a/debian/libosmogb9.install b/debian/libosmogb11.install similarity index 100% rename from debian/libosmogb9.install rename to debian/libosmogb11.install diff --git a/debian/libosmogsm13.install b/debian/libosmogsm15.install similarity index 100% rename from debian/libosmogsm13.install rename to debian/libosmogsm15.install diff --git a/debian/libosmosim0.install b/debian/libosmosim2.install similarity index 100% rename from debian/libosmosim0.install rename to debian/libosmosim2.install diff --git a/src/Makefile.am b/src/Makefile.am index c2847ec..891b4a6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=15:0:3 +LIBVERSION=16:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) diff --git a/src/gb/Makefile.am b/src/gb/Makefile.am index 125afba..1cc6544 100644 --- a/src/gb/Makefile.am +++ b/src/gb/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=10:0:1 +LIBVERSION=11:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN} -fno-strict-aliasing $(TALLOC_CFLAGS) diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 0e879e9..c5232ab 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=14:0:1 +LIBVERSION=15:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(TALLOC_CFLAGS) AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN} diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index 0539dd9..4e2348b 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=1:2:1 +LIBVERSION=2:0:0 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174 Gerrit-Change-Number: 19594 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 Aug 13 09:10:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:30 +0000 Subject: Change in libasn1c[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libasn1c/+/19595 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ib039e0f4a8bfd713ed1df99119c21471af8fc00c --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libasn1c refs/changes/95/19595/1 diff --git a/debian/control b/debian/control index 32b93e3..3b392be 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: libasn1c Section: libs Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, libtalloc-dev -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/19595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ib039e0f4a8bfd713ed1df99119c21471af8fc00c Gerrit-Change-Number: 19595 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 Aug 13 09:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:32 +0000 Subject: Change in libosmo-abis[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19596 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I8bd677d2028677efbd6913adefa92066af67d5c6 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/96/19596/1 diff --git a/debian/control b/debian/control index 7039bfe..9782357 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmo-abis -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bd677d2028677efbd6913adefa92066af67d5c6 Gerrit-Change-Number: 19596 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 Aug 13 09:10:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:37 +0000 Subject: Change in libosmo-netif[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19597 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I2b4d2b37ccf6bcee4211d135ab2f2904b98da024 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/19597/1 diff --git a/debian/control b/debian/control index 65c25d0..d242b48 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: libosmo-netif Section: libs Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), autotools-dev, autoconf, -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I2b4d2b37ccf6bcee4211d135ab2f2904b98da024 Gerrit-Change-Number: 19597 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 Aug 13 09:10:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:38 +0000 Subject: Change in libosmo-sccp[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ib149fd7716343d0e441c4671832efd05a62d67da --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/98/19598/1 diff --git a/debian/control b/debian/control index fe622e0..fd23fbd 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmo-sccp -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib149fd7716343d0e441c4671832efd05a62d67da Gerrit-Change-Number: 19598 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 Aug 13 09:10:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:40 +0000 Subject: Change in libosmocore[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19599 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ia340c28169c8bfd07c37d320c3f5386a06e4c092 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/99/19599/1 diff --git a/debian/control b/debian/control index 272fe7f..ce19882 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmocore -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia340c28169c8bfd07c37d320c3f5386a06e4c092 Gerrit-Change-Number: 19599 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 Aug 13 09:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:41 +0000 Subject: Change in libsmpp34[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libsmpp34/+/19600 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I382b5cc2becb38948dfdb783a8859157f622872b --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/00/19600/1 diff --git a/debian/control b/debian/control index be4a63b..875480d 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libsmpp34 -Maintainer: Holger Freyther +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/19600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: I382b5cc2becb38948dfdb783a8859157f622872b Gerrit-Change-Number: 19600 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 Aug 13 09:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:43 +0000 Subject: Change in osmo-bsc[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19601 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I82a5e175c6d70af1ee07521a0e17f9f5cbf300dc --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/19601/1 diff --git a/debian/control b/debian/control index 5a18c2e..d1adc4b 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-bsc Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, autotools-dev, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I82a5e175c6d70af1ee07521a0e17f9f5cbf300dc Gerrit-Change-Number: 19601 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 Aug 13 09:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:44 +0000 Subject: Change in osmo-bts[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19602 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I4224989032ba1ae6da55370fa5d8f95899aa0e47 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/19602/1 diff --git a/debian/control b/debian/control index 2b66716..a7559cd 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: osmo-bts -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Section: net Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4224989032ba1ae6da55370fa5d8f95899aa0e47 Gerrit-Change-Number: 19602 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 Aug 13 09:10:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:45 +0000 Subject: Change in osmo-ggsn[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ia93dd2bf84ebb2c4d11917021888d4c6a5085d50 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/03/19603/1 diff --git a/debian/control b/debian/control index a07bdca..970b314 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: osmo-ggsn -Maintainer: Harald Welte +Maintainer: Osmocom team Section: net Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia93dd2bf84ebb2c4d11917021888d4c6a5085d50 Gerrit-Change-Number: 19603 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 Aug 13 09:10:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:47 +0000 Subject: Change in osmo-hlr[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19604 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I6b38640b57480c6950be491eeb3c5167be1c6aab --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/04/19604/1 diff --git a/debian/control b/debian/control index c1eb464..c737d8d 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-hlr Section: net Priority: optional -Maintainer: Max Suraev +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), pkg-config, dh-autoreconf, -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6b38640b57480c6950be491eeb3c5167be1c6aab Gerrit-Change-Number: 19604 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 Aug 13 09:10:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:48 +0000 Subject: Change in osmo-iuh[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19605 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: If6e115ca23ae29696edf74ae010035e85aaa085c --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/05/19605/1 diff --git a/debian/control b/debian/control index 4d66d18..416b9d7 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-iuh Section: libs Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If6e115ca23ae29696edf74ae010035e85aaa085c Gerrit-Change-Number: 19605 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 Aug 13 09:10:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:10:50 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Bmaster=5D=3A_Bump_version=3A_1=2E3=2E0=2E173-51974_=E2=86=92_1=2E4=2E0?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19594 ) Change subject: Bump version: 1.3.0.173-51974 ? 1.4.0 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 I build tested the dpkg on Debian unstable, and the RPM on CentOS8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174 Gerrit-Change-Number: 19594 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09: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 Thu Aug 13 09:10:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:50 +0000 Subject: Change in osmo-mgw[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19606 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I1bb002b257d4bef83d181d615411e443c1831f00 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/06/19606/1 diff --git a/debian/control b/debian/control index 33a9650..00dcf38 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-mgw Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1bb002b257d4bef83d181d615411e443c1831f00 Gerrit-Change-Number: 19606 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 Aug 13 09:10:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:52 +0000 Subject: Change in osmo-msc[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19607 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I8c4e1749e6b4903877962b2da87be472e63c8de0 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/07/19607/1 diff --git a/debian/control b/debian/control index 2725764..606fbaf 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-msc Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, autotools-dev, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c4e1749e6b4903877962b2da87be472e63c8de0 Gerrit-Change-Number: 19607 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 Aug 13 09:10:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:53 +0000 Subject: Change in osmo-pcu[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19608 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ic114f2552ceadfeaaa00f8e719a5c7bd5d6b4917 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/19608/1 diff --git a/debian/control b/debian/control index 87ad7e7..b9dad0c 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-pcu Section: net Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), dh-autoreconf, dh-systemd (>= 1.5), -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic114f2552ceadfeaaa00f8e719a5c7bd5d6b4917 Gerrit-Change-Number: 19608 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 Aug 13 09:10:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:55 +0000 Subject: Change in osmo-sgsn[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ic6956c4d5cc9913c06b9e293dc5bb156f6510285 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/09/19609/1 diff --git a/debian/control b/debian/control index a37ff65..1b659eb 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-sgsn Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, dh-systemd (>= 1.5), -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic6956c4d5cc9913c06b9e293dc5bb156f6510285 Gerrit-Change-Number: 19609 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 Aug 13 09:10:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:57 +0000 Subject: Change in osmo-sip-connector[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Id7a258c52e72101920a1c0de5534a2ed9f488203 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/10/19610/1 diff --git a/debian/control b/debian/control index bac9b13..4692ea5 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-sip-connector Section: net Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 7.0.0~), autotools-dev, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Id7a258c52e72101920a1c0de5534a2ed9f488203 Gerrit-Change-Number: 19610 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 Aug 13 09:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 09:10:58 +0000 Subject: Change in osmo-trx[master]: debian/control: change maintainer to the Osmocom team / mailing list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19611 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/11/19611/1 diff --git a/debian/control b/debian/control index de4be16..31c738e 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-trx Section: net Priority: optional -Maintainer: Ivan Klyuchnikov +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), autotools-dev, autoconf-archive, -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78 Gerrit-Change-Number: 19611 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 Aug 13 09:13:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:13:15 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Bmaster=5D=3A_Bump_version=3A_1=2E3=2E0=2E173-51974_=E2=86=92_1=2E4=2E0?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19594 ) Change subject: Bump version: 1.3.0.173-51974 ? 1.4.0 ...................................................................... Bump version: 1.3.0.173-51974 ? 1.4.0 Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174 --- M TODO-RELEASE M contrib/libosmocore.spec.in M debian/changelog M debian/control R debian/libosmocore16.install R debian/libosmogb11.install R debian/libosmogsm15.install R debian/libosmosim2.install M src/Makefile.am M src/gb/Makefile.am M src/gsm/Makefile.am M src/sim/Makefile.am 12 files changed, 248 insertions(+), 54 deletions(-) Approvals: laforge: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index a4d9dfb..8ccfa49 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,13 +7,3 @@ # 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 -gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param -sim API/ABI change new osim_file_desc_find_aid() -sim API/ABI change all over the place -gsm new API new osmo_bts_unset_feature() -gb API/ABI change deprecate gprs_nsvc_crate(); export gprs_nsvc_create2() -gsm API/ABI change add new member to lapd_datalink -gsm new API new gsm0808_create_common_id() -gb new API new bssgp_tx_bvc_reset2() -core new API new rate_ctr_reset(), rate_ctr_group_reset() -core new API new osmo_stat_item_reset(), osmo_stat_item_group_reset() diff --git a/contrib/libosmocore.spec.in b/contrib/libosmocore.spec.in index a5af3e9..fb45516 100644 --- a/contrib/libosmocore.spec.in +++ b/contrib/libosmocore.spec.in @@ -109,13 +109,13 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmocoding. -%package -n libosmocore12 +%package -n libosmocore16 Summary: Osmocom core library # crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+ License: GPL-2.0-only AND GPL-2.0-or-later Group: System/Libraries -%description -n libosmocore12 +%description -n libosmocore16 libosmocore is a library with various utility functions shared between OpenBSC and OsmocomBB. @@ -124,7 +124,7 @@ # crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+ License: GPL-2.0-only AND GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmocore12 = %version +Requires: libosmocore16 = %version Requires: libtalloc-devel %description -n libosmocore-devel @@ -161,12 +161,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmoctrl. -%package -n libosmogb9 +%package -n libosmogb11 Summary: Osmocom GPRS Gb Interface (NS/BSSGP) library License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmogb9 +%description -n libosmogb11 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -177,7 +177,7 @@ License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmogb9 = %version +Requires: libosmogb11 = %version Requires: libosmovty-devel = %version %description -n libosmogb-devel @@ -186,12 +186,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmogb. -%package -n libosmogsm13 +%package -n libosmogsm15 Summary: Osmocom GSM utility library License: GPL-2.0-or-later AND AGPL-3.0-or-later Group: System/Libraries -%description -n libosmogsm13 +%description -n libosmogsm15 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -206,7 +206,7 @@ License: GPL-2.0-or-later AND AGPL-3.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmogsm13 = %version +Requires: libosmogsm15 = %version %description -n libosmogsm-devel The libosmogsm library in particular is a collection of common code @@ -218,12 +218,12 @@ This subpackage contains libraries and header files for developing applications that want to make use of libosmogsm. -%package -n libosmosim0 +%package -n libosmosim2 Summary: Osmocom SIM card related utility library License: GPL-2.0-or-later Group: System/Libraries -%description -n libosmosim0 +%description -n libosmosim2 libosmocore is a package with various utility functions that were originally developed as part of the OpenBSC project. @@ -235,7 +235,7 @@ License: GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version -Requires: libosmosim0 = %version +Requires: libosmosim2 = %version %description -n libosmosim-devel The libosmosim library in particular contains routines for SIM card @@ -320,16 +320,16 @@ %postun -n libosmocodec0 -p /sbin/ldconfig %post -n libosmocoding0 -p /sbin/ldconfig %postun -n libosmocoding0 -p /sbin/ldconfig -%post -n libosmocore12 -p /sbin/ldconfig -%postun -n libosmocore12 -p /sbin/ldconfig +%post -n libosmocore16 -p /sbin/ldconfig +%postun -n libosmocore16 -p /sbin/ldconfig %post -n libosmoctrl0 -p /sbin/ldconfig %postun -n libosmoctrl0 -p /sbin/ldconfig -%post -n libosmogb9 -p /sbin/ldconfig -%postun -n libosmogb9 -p /sbin/ldconfig -%post -n libosmogsm13 -p /sbin/ldconfig -%postun -n libosmogsm13 -p /sbin/ldconfig -%post -n libosmosim0 -p /sbin/ldconfig -%postun -n libosmosim0 -p /sbin/ldconfig +%post -n libosmogb11 -p /sbin/ldconfig +%postun -n libosmogb11 -p /sbin/ldconfig +%post -n libosmogsm15 -p /sbin/ldconfig +%postun -n libosmogsm15 -p /sbin/ldconfig +%post -n libosmosim2 -p /sbin/ldconfig +%postun -n libosmosim2 -p /sbin/ldconfig %post -n libosmovty4 -p /sbin/ldconfig %postun -n libosmovty4 -p /sbin/ldconfig %post -n libosmousb0 -p /sbin/ldconfig @@ -363,9 +363,9 @@ %_libdir/libosmocoding.so %_libdir/pkgconfig/libosmocoding.pc -%files -n libosmocore12 +%files -n libosmocore16 %defattr(-,root,root) -%_libdir/libosmocore.so.12* +%_libdir/libosmocore.so.16* %files -n libosmocore-devel %defattr(-,root,root) @@ -389,9 +389,9 @@ %_libdir/libosmoctrl.so %_libdir/pkgconfig/libosmoctrl.pc -%files -n libosmogb9 +%files -n libosmogb11 %defattr(-,root,root) -%_libdir/libosmogb.so.9* +%_libdir/libosmogb.so.11* %files -n libosmogb-devel %defattr(-,root,root) @@ -401,9 +401,9 @@ %_libdir/libosmogb.so %_libdir/pkgconfig/libosmogb.pc -%files -n libosmogsm13 +%files -n libosmogsm15 %defattr(-,root,root) -%_libdir/libosmogsm.so.13* +%_libdir/libosmogsm.so.15* %files -n libosmogsm-devel %defattr(-,root,root) @@ -414,9 +414,9 @@ %_libdir/libosmogsm.so %_libdir/pkgconfig/libosmogsm.pc -%files -n libosmosim0 +%files -n libosmosim2 %defattr(-,root,root) -%_libdir/libosmosim.so.0* +%_libdir/libosmosim.so.2* %files -n libosmosim-devel %defattr(-,root,root) diff --git a/debian/changelog b/debian/changelog index 3a9e2b9..317fefe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,207 @@ +libosmocore (1.4.0) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * bitvec: Fix return value in doc for bitvec_write_field() + * gb: Fix typo in bssgp_cause_strings description + * logging_vty.c: Avoid acquiring log tgt lock in logging level cmd when not needed + * value_string: Switch val from unsigned to int + * gsm0503_coding: Fix misleading comment UL vs DL + * gsm0503_coding: Fix USF encoding in MCS1-4 + * gsm0503_tables: Document USF encoding tables + * tests/coding: Test decoding of DL EGPRS data packet + * tests/coding_test: Fix test_pdtch() results + * gsm_04_06.h: Remove repeated egprs header struct definitions + * configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt + * Drop old BSC references in fd check configure option + * Revert "gsmtap_makemsg_ex: NULL for unknown chan_type" + * use_count.h: Fix API doc example + * tests/fsm_test.c: Disable use color in logging output + * tests: vty: Extend test to do some numeric range validations + * vty: Allow 64 bit values in numeric ranges if system supports it + * vty: Don't match negative values on purely positive ranges + * vty: Introduce support to set cpu-affinity and scheduler policy + + [ Harald Welte ] + * usb: Use OSMO_STRLCPY where appropriate + * usb: Add osmo_libusb_find_matching_dev_{path,serial} + * osmo_libusb: Check return of libusb_get_string_descriptor_ascii() + * osmo-sim-test: Recurse through subdirectories + * osmo-sim-test: Fall-back to classic SIM + * chantype_rsl2gsmtap(): Add entries for CBCH + * gsmtap.h: Add definitions for voice inside GSMTAP + * Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string + * Add CTRL port number for osmo-mgw + * gsmtap: Solve TCH / FACCH confusion once and for all + * fixup depreciation warning + * socket: Add osmo_sock_mcast_iface_set() to bind multicast to device + * libosmosim: Build irrespective of PC/SC support + * sim: card_fs_usim.c: Fix FID of EF.EXT4 + * card_fs_sim: Avoid '/' in file names + * osmo-sim-test: Use stderr for error messages + * osmo-sim-test: don't print SW in successful case of dump_file() + * osmo-sim-test: Optionally dump card files to host filesystem + * sim: add osim_file_desc_find_aid() + * sim: re-structure how we support cards + applications + * osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards + * card_fs_{usim,isim}: Update to 15.7.0 / Release 15 + * sim: Add HPSIM application support + * osmo-sim-test: Avoid double-close + * ports.h: Add 4268 for UECUPS VTY + * exec: Introduce osmo_system_nowait2() to allow specify a user + * select.c: Introduce support for signalfd + * timerfd: call osmo_fd_unregister() when closing on read error + * gsm0503_parity: Fix compilation with gcc-10 + * gsm_29_118.h: Fix compilation with gcc-10 + * sim: When decoding SW, take application specific SW into account + * README.md: fix typo (coore -> core) + * README.md: We don't build libosmotrau. The latter is in libosmo-abis.git + * usb: Add osmo_libusb_find_open_claim() all-in-one API + * codec: Add functions for AMR s->d bits and d->s bits + * libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() + * Implement ITU-T I.460 multiplex / demultiplex + * NS: Optionally disable NS-{RESET,BLOCK,UNBLOCK} when using UDP/IP + * NS: replace use of gprs_nsvc_create() with gprs_nsvc_crate2() + * lapd/lapdm: print user-defined string name instead of (dl=%p) + * lapd_core: Fix log line being about LAPD and not LAPDm + * Revert "add osmo_mobile_identity API" + * bts_features.h: Introduce BTS_FEAT_PAGING_COORDINATION + * gsm0808: Add gsm0808_create_common_id() + * gprs_bssgp: Add bssgp_tx_bvc_reset2() + * gprs_ns: Set sockaddr_in.sin_family for persistent NSVCs + * vty/ports.h: Add VTY port for osmo-e1d + * lapd_core: Ensure we always have some tailroom + * lapd_core: After calling into L3, check if the state has changed + * vty: Avoid ultra-long multi-line strings cluttering talloc reports + * gsm0411_{smc,smr}.c: Work around newlib bug + * bits.c: Use faster look-up-table approach for osmo_revbytebits_{buf,u8} + * i460: Add back-pointer from sub-channel to timeslot + * i460: pass more context to call-back functions + * i460: Fix bit- and subslots ordering of I.460 mux + demux + + [ Neels Hofmeyr ] + * add crcXXgen.c.tpl to EXTRA_DIST + * jenkins.sh: simpler invocation of verify_value_string_... + * gsm_04_08.h: fix big endian structs + * add missing endian.h in gsm_23_041.h + * struct_endianess.py: also recognise unnamed substructs + * cosmetic: apply changes to match struct_endianess.py output + * enable vty xml dumping to stdout + * api doc: clarify 'returns' of gsm48_mi_to_string() + * api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature + * fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() + * add gsm23236: MSC pooling: TMSI and NRI utility functions + * tlv.h: add msgb_tvl_put() to add a TvLV without the value part + * osmo_bcd2str: also validate start_nibble parameter + * add osmo_mobile_identity API + * add osmo_mobile_identity API + * gsm0408_test: allow deprecated API + * api comment: fix example of osmo_mobile_identity_encode_msgb + * fixup for gsm0808_create_common_id(): add API doc, use new MI API + + [ Philipp Maier ] + * l1sap: add measurement related struct members + * osmo-sim-test: check tlv_parsed struct tp before access + * parity: add amr crc14 definition + * conv: add convolutional coder for AMR SID UPDATE frames + * gsm690: Fix amr speech bit length table + * dtx: add decoding for AMR-DTX frames + * exec: osmo_system_nowait2: initalize *pw pointer with NULL + * logging: use LOGL_NOTICE when no loglevel is set + * logging: do not allow multiple calls of log_init() + * gsm0505_amr_dtx: add missing value strings + * gsm0808: fix endieness of call identifier + * i460_mux: correctly reset subchannels + * gsm_08_58: add missing RSL error cause codes + * i460_mux: add callback to notify empty tx queue + + [ Vadim Yanitskiy ] + * usb/Makefile.am: fix copy-pasted library name: s/libosmosim/libosmousb/ + * gsm/gsm48049.c: fix use of GNU 'missing =' extension in designator + * tdef_vty: do not enforce enum 'node_type' in osmo_tdef_vty_groups_init() + * conv: prevent theoretical NULL pointer dereference in osmo_conv_encode() + * osmo_libusb: check return value of osmo_fd_register() + * exec: prevent uninitialized memory access in osmo_system_nowait() + * exec: propogate errors from osmo_environment_[filter|append] + * bitvec: make bitvec_free() safe against NULL + * tests/bitvec: add a unit test for bitvec_read_field() + * bitvec: fix bitvec_unhex(): do not return 1 on success + * bitvec: fix misleading description of bitvec_spare_padding() + * bitvec: cosmetic: init i only once in bitvec_[un]pack() + * bitvec: avoid redundant zero-initialization in bitvec_alloc() + * tests/coding: check return value of encoding / decoding functions + * tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests + * tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h + * coding: fix documentation of PDTCH encoding functions + * tests/coding: add 11-bit Access Burst samples from a real phone + * coding: fix bit ordering in 11-bit RACH coding functions + * rest_octets: fix encoding of 3G Early Classmark Sending Restriction + * libosmogsm: cosmetic: add spaces before and after PRIu32 + * bts_features: fix: properly check the result of bitvec_get_bit_pos() + * bts_features: introduce osmo_bts_unset_feature() + * gsm0502: add TDMA frame number constants and modular arithmetic + * utils/gsmtap_logread.py: make it executable + * src/Makefile.am: add conv_acc_neon_impl.h to EXTRA_DIST + * configure.ac: clarify description of --enable-neon + * configure.ac: fix: do not define HAVE_NEON unconditionally + * configure.ac: print ARM NEON instructions support status + + [ Eric Wild ] + * pcsc: don't leak memory + + [ Alexander Chemeris ] + * gb: Fix typos in gprs_ns.c comments + * gb: Print signalling and data weights on NS-VC creation. + * select: Fix typo in a comment Osmcoom->Osmocom + * stats: Move cfg_stats_interval_cmd() function. + * stats: Fix documentation for osmo_stats_set_interval() + * stats: Support regular stats flush + * stats: Change timer to timerfd to make it a true interval timer. + * gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. + * gsm0808: Make a function to extract Cause IE publicly available. + * gsm0808_utils: Fix gsm0808_cause_class() function + * gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. + * gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. + + [ Maksim Aristov ] + * debian: Change python3 dependency to native arch + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + * timer.c: make timers thread safe + * pkgconfig/osmocodec/osmocoding: link to talloc + * libomsocoding: NEON viterbi acceleration + + [ Kirill Zakharenko ] + * statsd: fix rendering for groups with idx==0 + + [ Sylvain Munaut ] + * libosmogsm: import hopping sequence generation code + + [ Oliver Smith ] + * contrib: import RPM spec + * gsmtap_makemsg_ex: NULL for unknown chan_type + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Alexander Couzens ] + * gprs_ns.h: add missing prototype gprs_ns_rcvmsg() + * gprs_ns: fix typo in comment + * gprs_ns_frgre.h: add missing declaration of structs + * bts_features: add feature BTS_FEAT_IPV6_NSVC + * socket: osmo_sock_local_ip: correct doxygen comment + * vty: add a define VTY_IPV46_CMD to require a IPv4/6 address + * Gb/BSSGP: replace hardcoded Tx into NS library by a callback + * gsm 12.21: add osmocom specific NM_ATT_OSMO_NS_LINK_CFG + * osmo_sock_init2: improve support for AF_UNSPEC + * socket.h: introduce osmo_sockaddr to hold v4 and v6 endpoints + + [ Daniel Willmann ] + * rate_ctr: Add functions to reset rate counter (groups) + * stat_item: Add function to reset stat items and groups + * stats: Add stats commands related to testing + + -- Harald Welte Thu, 13 Aug 2020 11:06:35 +0200 + libosmocore (1.3.0) unstable; urgency=medium [ Pau Espin Pedrol ] diff --git a/debian/control b/debian/control index 272fe7f..ac2dd6a 100644 --- a/debian/control +++ b/debian/control @@ -29,12 +29,12 @@ Multi-Arch: foreign Depends: libosmocodec0 (= ${binary:Version}), libosmocoding0 (= ${binary:Version}), - libosmocore12 (= ${binary:Version}), - libosmogb9 (= ${binary:Version}), - libosmogsm13 (= ${binary:Version}), + libosmocore16 (= ${binary:Version}), + libosmogb11 (= ${binary:Version}), + libosmogsm15 (= ${binary:Version}), libosmovty4 (= ${binary:Version}), libosmoctrl0 (= ${binary:Version}), - libosmosim0 (= ${binary:Version}), + libosmosim2 (= ${binary:Version}), libosmousb0 (= ${binary:Version}), ${misc:Depends} Description: Open Source MObile COMmunications CORE library (metapackage) @@ -113,7 +113,7 @@ . This package contains the documentation for the libosmocoding library. -Package: libosmocore12 +Package: libosmocore16 Section: libs Architecture: any Multi-Arch: same @@ -127,14 +127,14 @@ (at least) other programs that are developed in the sphere of Free Software / Open Source mobile communication. . - The libosmocore12 library in particular is a collection of common code used in + The libosmocore16 library in particular is a collection of common code used in various sub-projects inside the Osmocom family of projects. Package: libosmocore-doc Architecture: all Section: doc Depends: ${misc:Depends}, - libosmocore12, + libosmocore16, libjs-jquery, libosmocodec-doc, libosmocoding-doc, @@ -149,7 +149,7 @@ . This package contains the documentation for the libosmocore library. -Package: libosmogb9 +Package: libosmogb11 Section: libs Architecture: any Multi-Arch: same @@ -170,7 +170,7 @@ Architecture: all Section: doc Depends: ${misc:Depends}, - libosmogb9, + libosmogb11, libjs-jquery Description: Documentation for the Osmo GPRS Gb library This is part of the libosmocore "meta"-library. The libosmocore library @@ -181,7 +181,7 @@ . This package contains the documentation for the libosmogb library. -Package: libosmogsm13 +Package: libosmogsm15 Section: libs Architecture: any Multi-Arch: same @@ -205,7 +205,7 @@ Architecture: all Section: doc Depends: ${misc:Depends}, - libosmogsm13, + libosmogsm15, libjs-jquery Description: Documentation for the Osmo GSM utility library This is part of the libosmocore "meta"-library. The libosmocore library @@ -279,7 +279,7 @@ . This package contains the documentation for the libosmoctrl library. -Package: libosmosim0 +Package: libosmosim2 Section: libs Architecture: any Multi-Arch: same diff --git a/debian/libosmocore12.install b/debian/libosmocore16.install similarity index 100% rename from debian/libosmocore12.install rename to debian/libosmocore16.install diff --git a/debian/libosmogb9.install b/debian/libosmogb11.install similarity index 100% rename from debian/libosmogb9.install rename to debian/libosmogb11.install diff --git a/debian/libosmogsm13.install b/debian/libosmogsm15.install similarity index 100% rename from debian/libosmogsm13.install rename to debian/libosmogsm15.install diff --git a/debian/libosmosim0.install b/debian/libosmosim2.install similarity index 100% rename from debian/libosmosim0.install rename to debian/libosmosim2.install diff --git a/src/Makefile.am b/src/Makefile.am index c2847ec..891b4a6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=15:0:3 +LIBVERSION=16:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) diff --git a/src/gb/Makefile.am b/src/gb/Makefile.am index 125afba..1cc6544 100644 --- a/src/gb/Makefile.am +++ b/src/gb/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=10:0:1 +LIBVERSION=11:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN} -fno-strict-aliasing $(TALLOC_CFLAGS) diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 0e879e9..c5232ab 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=14:0:1 +LIBVERSION=15:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(TALLOC_CFLAGS) AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN} diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index 0539dd9..4e2348b 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -1,7 +1,7 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -LIBVERSION=1:2:1 +LIBVERSION=2:0:0 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174 Gerrit-Change-Number: 19594 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:22:05 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-netif=5Bmaster=5D=3A_Bump_version=3A_0=2E7=2E0=2E24-b1e0_=E2=86=92_1=2E0=2E0?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19612 ) Change subject: Bump version: 0.7.0.24-b1e0 ? 1.0.0 ...................................................................... Bump version: 0.7.0.24-b1e0 ? 1.0.0 Change-Id: Ic461c50c89e3e877e6f498974be6f5fc6e067f28 --- M debian/changelog 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/12/19612/1 diff --git a/debian/changelog b/debian/changelog index c4f664b..1aa3ea1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,49 @@ +libosmo-netif (1.0.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * struct amr_header: copy comments to little endian part + * add/clean big-endian packed structs (struct_endianess.py) + + [ Pau Espin Pedrol ] + * configure.ac: Introduce --{enable,disable}-libsctp configure flag + * configure.ac: Drop unneeded check for dahdi + * stream.c: Improve logging during sock send() + * stream: Drop data during write() while in state NONE + * stream: Re-arrange cli states to fix 100% cpu usage bug + * stream: Add new WAIT_RECONNECT cli state + * stream: Rename cli state NONE to CLOSED + * debian/control: Drop incorrect libortp-dev dependency + * Use OSMO_FD_* instead of deprecated BSC_FD_* + * stream: Fix some SCTP code not disabled if --disable-libsctp is used + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Sylvain Munaut ] + * stream: Attempt to workaround kernel ABI breakage + + [ Alexander Chemeris ] + * amr: Fix OA<->BWE conversion. + * amr: Fix OA<->BWE conversion. + * amr: Whitespace fix + + [ neels ] + * Revert "amr: Fix OA<->BWE conversion." + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Philipp Maier ] + * amr: fix off-by-one in osmo_amr_bwe_to_oa() + + [ Harald Welte ] + * src/stream: Work around more Linux kernel ABI breakage + * src/stream.c: Don't leak socket during SCTP_EVENTS getsockopt + + -- Harald Welte Thu, 13 Aug 2020 11:21:02 +0200 + libosmo-netif (0.7.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ic461c50c89e3e877e6f498974be6f5fc6e067f28 Gerrit-Change-Number: 19612 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 Aug 13 09:31:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:31:15 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-netif=5Bmaster=5D=3A_Bump_version=3A_0=2E7=2E0=2E24-b1e0_=E2=86=92_1=2E0=2E0?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19612 ) Change subject: Bump version: 0.7.0.24-b1e0 ? 1.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ic461c50c89e3e877e6f498974be6f5fc6e067f28 Gerrit-Change-Number: 19612 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 09: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 Thu Aug 13 09:31:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:31:18 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-netif=5Bmaster=5D=3A_Bump_version=3A_0=2E7=2E0=2E24-b1e0_=E2=86=92_1=2E0=2E0?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19612 ) Change subject: Bump version: 0.7.0.24-b1e0 ? 1.0.0 ...................................................................... Bump version: 0.7.0.24-b1e0 ? 1.0.0 Change-Id: Ic461c50c89e3e877e6f498974be6f5fc6e067f28 --- M debian/changelog 1 file changed, 46 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index c4f664b..1aa3ea1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,49 @@ +libosmo-netif (1.0.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * struct amr_header: copy comments to little endian part + * add/clean big-endian packed structs (struct_endianess.py) + + [ Pau Espin Pedrol ] + * configure.ac: Introduce --{enable,disable}-libsctp configure flag + * configure.ac: Drop unneeded check for dahdi + * stream.c: Improve logging during sock send() + * stream: Drop data during write() while in state NONE + * stream: Re-arrange cli states to fix 100% cpu usage bug + * stream: Add new WAIT_RECONNECT cli state + * stream: Rename cli state NONE to CLOSED + * debian/control: Drop incorrect libortp-dev dependency + * Use OSMO_FD_* instead of deprecated BSC_FD_* + * stream: Fix some SCTP code not disabled if --disable-libsctp is used + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Sylvain Munaut ] + * stream: Attempt to workaround kernel ABI breakage + + [ Alexander Chemeris ] + * amr: Fix OA<->BWE conversion. + * amr: Fix OA<->BWE conversion. + * amr: Whitespace fix + + [ neels ] + * Revert "amr: Fix OA<->BWE conversion." + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + [ Philipp Maier ] + * amr: fix off-by-one in osmo_amr_bwe_to_oa() + + [ Harald Welte ] + * src/stream: Work around more Linux kernel ABI breakage + * src/stream.c: Don't leak socket during SCTP_EVENTS getsockopt + + -- Harald Welte Thu, 13 Aug 2020 11:21:02 +0200 + libosmo-netif (0.7.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ic461c50c89e3e877e6f498974be6f5fc6e067f28 Gerrit-Change-Number: 19612 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:39:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:39:30 +0000 Subject: Change in osmo-sgsn[rel-1.6.2]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr References: Message-ID: Hello lynxis lazus, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 to review the following change. Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr The osmo_ prefix should be only used for official struct/apis of libosmocore. This commit was done via `sed -i 's/osmo_sockaddr/sgsn_sockaddr/g'`. In prepartion of introducing a different api of osmo_sockaddr to libosmocore. Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 --- M include/osmocom/sgsn/gtphub.h M src/gtphub/gtphub.c M src/gtphub/gtphub_sock.c M tests/gtphub/gtphub_test.c 4 files changed, 95 insertions(+), 95 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/13/19613/1 diff --git a/include/osmocom/sgsn/gtphub.h b/include/osmocom/sgsn/gtphub.h index 8fd9f38..6a439b5 100644 --- a/include/osmocom/sgsn/gtphub.h +++ b/include/osmocom/sgsn/gtphub.h @@ -35,14 +35,14 @@ /* TODO move to osmocom/core/socket.c ? */ #include /* for IPPROTO_* etc */ -struct osmo_sockaddr { +struct sgsn_sockaddr { struct sockaddr_storage a; socklen_t l; }; /* TODO move to osmocom/core/socket.c ? */ /*! \brief Initialize a sockaddr - * \param[out] addr Valid osmo_sockaddr pointer to write result to + * \param[out] addr Valid sgsn_sockaddr pointer to write result to * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP @@ -53,16 +53,16 @@ * Copy the first result from a getaddrinfo() call with the given parameters to * *addr and *addr_len. On error, do not change *addr and return nonzero. */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port); /* Conveniently pass AF_UNSPEC, SOCK_DGRAM and IPPROTO_UDP to - * osmo_sockaddr_init(). */ -static inline int osmo_sockaddr_init_udp(struct osmo_sockaddr *addr, + * sgsn_sockaddr_init(). */ +static inline int sgsn_sockaddr_init_udp(struct sgsn_sockaddr *addr, const char *host, uint16_t port) { - return osmo_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + return sgsn_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, host, port); } @@ -71,25 +71,25 @@ * \param[in] addr_str_len Size of buffer addr_str points at. * \param[out] port_str Valid pointer to a buffer of length port_str_len. * \param[in] port_str_len Size of buffer port_str points at. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] flags flags as passed to getnameinfo(). * \returns 0 on success, an error code on error. * * Return the IPv4 or IPv6 address string and the port (a.k.a. service) string - * representations of the given struct osmo_sockaddr in two caller provided + * representations of the given struct sgsn_sockaddr in two caller provided * char buffers. Flags of (NI_NUMERICHOST | NI_NUMERICSERV) return numeric * address and port. Either one of addr_str or port_str may be NULL, in which * case nothing is returned there. * - * See also osmo_sockaddr_to_str() (less flexible, but much more convenient). */ -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, + * See also sgsn_sockaddr_to_str() (less flexible, but much more convenient). */ +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags); -/*! \brief concatenate the parts returned by osmo_sockaddr_to_strs(). - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief concatenate the parts returned by sgsn_sockaddr_to_strs(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] buf A buffer to use for string operations. * \param[in] buf_len Length of the buffer. * \returns Address string (in buffer). @@ -98,33 +98,33 @@ * the form " port ". The returned string is valid until the * next invocation of this function. */ -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len); -/*! \brief conveniently return osmo_sockaddr_to_strb() in a static buffer. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief conveniently return sgsn_sockaddr_to_strb() in a static buffer. + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \returns Address string in static buffer. * - * See osmo_sockaddr_to_strb(). + * See sgsn_sockaddr_to_strb(). * - * Note: only one osmo_sockaddr_to_str() call will work per print/log - * statement. For two or more, use osmo_sockaddr_to_strb() with a separate + * Note: only one sgsn_sockaddr_to_str() call will work per print/log + * statement. For two or more, use sgsn_sockaddr_to_strb() with a separate * buffer each. */ -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr); +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr); -/*! \brief compare two osmo_sockaddr. +/*! \brief compare two sgsn_sockaddr. * \param[in] a The first address to compare. * \param[in] b The other address to compare. * \returns 0 if equal, otherwise -1 or 1. */ -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b); +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b); /*! \brief Overwrite *dst with *src. * Like memcpy(), but copy only the valid bytes. */ -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src); +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src); /* general */ @@ -179,7 +179,7 @@ /* Decode sa to gsna. Return 0 on success. If port is non-NULL, the port number * from sa is also returned. */ int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa); + const struct sgsn_sockaddr *sa); /* expiry */ @@ -389,7 +389,7 @@ struct gtphub_peer_addr *peer_addr; uint16_t port; unsigned int ref_count; /* references from other peers' seq_maps */ - struct osmo_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ + struct sgsn_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ int last_restart_count; /* 0..255 = valid, all else means unknown */ struct rate_ctr_group *counters_io; @@ -496,13 +496,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int port_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr); + struct sgsn_sockaddr *to_addr); struct gtphub_peer_port *gtphub_port_have(struct gtphub *hub, struct gtphub_bind *bind, @@ -510,7 +510,7 @@ uint16_t port); struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); void gtphub_resolved_ggsn(struct gtphub *hub, const char *apn_oi_str, struct gsn_addr *resolved_addr, @@ -519,5 +519,5 @@ const char *gtphub_port_str(struct gtphub_peer_port *port); int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index ca5857b..3e5c6f0 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -167,12 +167,12 @@ } int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa) + const struct sgsn_sockaddr *sa) { char addr_str[256]; char port_str[6]; - if (osmo_sockaddr_to_strs(addr_str, sizeof(addr_str), + if (sgsn_sockaddr_to_strs(addr_str, sizeof(addr_str), port_str, sizeof(port_str), sa, (NI_NUMERICHOST | NI_NUMERICSERV)) != 0) { @@ -925,7 +925,7 @@ /* Recv datagram from from->fd, write sender's address to *from_addr. * Return the number of bytes read, zero on error. */ static int gtphub_read(const struct osmo_fd *from, - struct osmo_sockaddr *from_addr, + struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t buf_len) { OSMO_ASSERT(from_addr); @@ -946,7 +946,7 @@ } LOG(LOGL_DEBUG, "Received %d bytes from %s: %s%s\n", - (int)received, osmo_sockaddr_to_str(from_addr), + (int)received, sgsn_sockaddr_to_str(from_addr), osmo_hexdump(buf, received > 1000? 1000 : received), received > 1000 ? "..." : ""); @@ -1954,8 +1954,8 @@ struct gtphub *hub = from_sgsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -1985,8 +1985,8 @@ struct gtphub *hub = from_ggsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -2071,9 +2071,9 @@ static int gsn_addr_to_sockaddr(struct gsn_addr *src, uint16_t port, - struct osmo_sockaddr *dst) + struct sgsn_sockaddr *dst) { - return osmo_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); + return sgsn_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); } /* If p is an Echo request, replace p's data with the matching response and @@ -2107,7 +2107,7 @@ } struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); /* Parse buffer as GTP packet, replace elements in-place and return the ofd and * address to forward to. Return a pointer to the osmo_fd, but copy the @@ -2117,13 +2117,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int plane_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr) + struct sgsn_sockaddr *to_addr) { struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; @@ -2138,7 +2138,7 @@ (side_idx == GTPH_SIDE_GGSN)? "<-" : "->", gtphub_plane_idx_names[plane_idx], gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr), + sgsn_sockaddr_to_str(from_addr), gtp_type_str(p.type)); if (p.rc <= 0) { @@ -2146,7 +2146,7 @@ gtp_type_str(p.type), gtphub_side_idx_names[side_idx], gtphub_plane_idx_names[plane_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2156,7 +2156,7 @@ reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); if (reply_len > 0) { /* It was an echo. Nothing left to do. */ - osmo_sockaddr_copy(to_addr, from_addr); + sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); @@ -2165,7 +2165,7 @@ LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", gtphub_side_idx_names[side_idx], - (int)reply_len, osmo_sockaddr_to_str(to_addr)); + (int)reply_len, sgsn_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) @@ -2178,7 +2178,7 @@ * so no-one else is allowed to talk to us from that side. */ struct gtphub_peer_port *from_peer = hub->proxy[side_idx][plane_idx]; if (from_peer) { - if (osmo_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { + if (sgsn_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { LOG(LOGL_ERROR, "Rejecting: %s proxy configured, but GTP packet" " received on %s bind is from another sender:" @@ -2186,7 +2186,7 @@ gtphub_side_idx_names[side_idx], gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } } @@ -2204,7 +2204,7 @@ if (side_idx == GTPH_SIDE_GGSN) { LOG(LOGL_ERROR, "Dropping packet%s: unknown GGSN peer: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } else { /* SGSN */ @@ -2216,7 +2216,7 @@ "Dropping packet%s: User plane peer was not" "announced by PDP Context: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2235,7 +2235,7 @@ LOG(LOGL_ERROR, "Dropping packet%s: invalid %s peer: %s\n", gtp_type_str(p.type), gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2309,7 +2309,7 @@ if (!to_peer_from_seq) gtphub_map_seq(&p, from_peer, to_peer); - osmo_sockaddr_copy(to_addr, &to_peer->sa); + sgsn_sockaddr_copy(to_addr, &to_peer->sa); *reply_buf = (uint8_t*)p.data; @@ -2335,7 +2335,7 @@ (side_idx == GTPH_SIDE_SGSN)? "-->" : "<--", gtphub_side_idx_names[other_side_idx(side_idx)], p.header_tei, p.seq, - (int)received, osmo_sockaddr_to_str(to_addr)); + (int)received, sgsn_sockaddr_to_str(to_addr)); return received; } @@ -2645,7 +2645,7 @@ } struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gsn_addr gsna; uint16_t port; @@ -2762,7 +2762,7 @@ /* Find a GGSN peer with a matching address. If the address is known but the * port not, create a new port for that peer address. */ struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gtphub_peer_addr *pa; struct gtphub_peer_port *pp; @@ -2817,7 +2817,7 @@ /* TODO move to osmocom/core/socket.c ? */ /* use this in osmo_sock_init() to remove dup. */ -/* Internal: call getaddrinfo for osmo_sockaddr_init(). The caller is required +/* Internal: call getaddrinfo for sgsn_sockaddr_init(). The caller is required to call freeaddrinfo(*result), iff zero is returned. */ static int _osmo_getaddrinfo(struct addrinfo **result, uint16_t family, uint16_t type, uint8_t proto, @@ -2844,7 +2844,7 @@ } /* TODO move to osmocom/core/socket.c ? */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port) { @@ -2865,9 +2865,9 @@ return 0; } -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags) { int rc; @@ -2896,14 +2896,14 @@ return rc; } -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len) { const int portbuf_len = 6; OSMO_ASSERT(buf_len > portbuf_len); char *portbuf = buf + buf_len - portbuf_len; buf_len -= portbuf_len; - if (osmo_sockaddr_to_strs(buf, buf_len, + if (sgsn_sockaddr_to_strs(buf, buf_len, portbuf, portbuf_len, addr, NI_NUMERICHOST | NI_NUMERICSERV)) @@ -2918,17 +2918,17 @@ return buf; } -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr) +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr) { static char buf[256]; - const char *result = osmo_sockaddr_to_strb(addr, buf, sizeof(buf)); + const char *result = sgsn_sockaddr_to_strb(addr, buf, sizeof(buf)); if (! result) return "(invalid)"; return result; } -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b) +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b) { if (a == b) return 0; @@ -2938,7 +2938,7 @@ return 1; if (a->l != b->l) { /* Lengths are not the same, but determine the order. Will - * anyone ever sort a list by osmo_sockaddr though...? */ + * anyone ever sort a list by sgsn_sockaddr though...? */ int cmp = memcmp(&a->a, &b->a, (a->l < b->l)? a->l : b->l); if (cmp == 0) { if (a->l < b->l) @@ -2951,8 +2951,8 @@ return memcmp(&a->a, &b->a, a->l); } -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src) +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src) { OSMO_ASSERT(src->l <= sizeof(dst->a)); memcpy(&dst->a, &src->a, src->l); diff --git a/src/gtphub/gtphub_sock.c b/src/gtphub/gtphub_sock.c index 1acd5a6..1837533 100644 --- a/src/gtphub/gtphub_sock.c +++ b/src/gtphub/gtphub_sock.c @@ -33,13 +33,13 @@ LOGP(DGTPHUB, level, fmt, ##args) int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { errno = 0; ssize_t sent = sendto(to->fd, buf, buf_len, 0, (struct sockaddr*)&to_addr->a, to_addr->l); - LOG(LOGL_DEBUG, "to %s\n", osmo_sockaddr_to_str(to_addr)); + LOG(LOGL_DEBUG, "to %s\n", sgsn_sockaddr_to_str(to_addr)); if (sent == -1) { LOG(LOGL_ERROR, "error: %s\n", strerror(errno)); diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index ed46176..d381b9b 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -378,37 +378,37 @@ char resolve_ggsn_got_imsi[GSM23003_IMSI_MAX_DIGITS+1]; char resolve_ggsn_got_ni[GSM_APN_LENGTH]; -struct osmo_sockaddr resolved_ggsn_addr; +struct sgsn_sockaddr resolved_ggsn_addr; static int resolve_to_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_ggsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_ggsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr resolved_sgsn_addr; +struct sgsn_sockaddr resolved_sgsn_addr; static int resolve_to_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_sgsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_sgsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr sgsn_sender; +struct sgsn_sockaddr sgsn_sender; static int send_from_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&sgsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&sgsn_sender, addr, port) == 0); return 1; } -struct osmo_sockaddr ggsn_sender; +struct sgsn_sockaddr ggsn_sender; static int send_from_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&ggsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&ggsn_sender, addr, port) == 0); return 1; @@ -491,18 +491,18 @@ /* override, requires '-Wl,--wrap=gtphub_write' */ int __real_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); int __wrap_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { printf("Out-of-band gtphub_write(%d):\n" "to %s\n" "%s\n", (int)buf_len, - osmo_sockaddr_to_str(to_addr), + sgsn_sockaddr_to_str(to_addr), osmo_hexdump(buf, buf_len)); return 0; } @@ -553,11 +553,11 @@ } #define same_addr(GOT, EXPECTED) _same_addr((GOT),(EXPECTED), __FILE__, __LINE__) -static int _same_addr(const struct osmo_sockaddr *got, - const struct osmo_sockaddr *expected, +static int _same_addr(const struct sgsn_sockaddr *got, + const struct sgsn_sockaddr *expected, const char *file, int line) { - int cmp = osmo_sockaddr_cmp(got, expected); + int cmp = sgsn_sockaddr_cmp(got, expected); if (!cmp) return 1; char buf[256]; @@ -565,8 +565,8 @@ " expecting: '%s'\n" " got: '%s'\n\n", file, line, - osmo_sockaddr_to_str(expected), - osmo_sockaddr_to_strb(got, buf, sizeof(buf))); + sgsn_sockaddr_to_str(expected), + sgsn_sockaddr_to_strb(got, buf, sizeof(buf))); return 0; } @@ -668,7 +668,7 @@ now = 123; struct osmo_fd *to_ofd; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr to_addr; struct gtphub_peer_port *pp; int send; @@ -855,13 +855,13 @@ #define msg_from_sgsn_c(A,B,C,D) msg_from_sgsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_sgsn_u(A,B,C,D) msg_from_sgsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_sgsn(int plane_idx, - struct osmo_sockaddr *_sgsn_sender, - struct osmo_sockaddr *ggsn_receiver, + struct sgsn_sockaddr *_sgsn_sender, + struct sgsn_sockaddr *ggsn_receiver, const char *hex_from_sgsn, const char *hex_to_ggsn) { struct osmo_fd *ggsn_ofd = NULL; - struct osmo_sockaddr ggsn_addr; + struct sgsn_sockaddr ggsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_SGSN, plane_idx, _sgsn_sender, buf, msg(hex_from_sgsn), now, @@ -875,13 +875,13 @@ #define msg_from_ggsn_c(A,B,C,D) msg_from_ggsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_ggsn_u(A,B,C,D) msg_from_ggsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_ggsn(int plane_idx, - struct osmo_sockaddr *ggsn_sender, - struct osmo_sockaddr *sgsn_receiver, + struct sgsn_sockaddr *ggsn_sender, + struct sgsn_sockaddr *sgsn_receiver, const char *msg_from_ggsn, const char *msg_to_sgsn) { struct osmo_fd *sgsn_ofd; - struct osmo_sockaddr sgsn_addr; + struct sgsn_sockaddr sgsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_GGSN, plane_idx, ggsn_sender, buf, msg(msg_from_ggsn), now, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19613 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:39:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:39:30 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E6=2E2=5D=3A_Bump_version=3A_1=2E6=2E1=2E1-2ab48_=E2=86=92_1=2E6=2E2?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 ) Change subject: Bump version: 1.6.1.1-2ab48 ? 1.6.2 ...................................................................... Bump version: 1.6.1.1-2ab48 ? 1.6.2 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: Ie95c06f4a3e20d71a16755909607a9378bac41e1 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/14/19614/1 diff --git a/debian/changelog b/debian/changelog index a479de9..7d734e1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +osmo-sgsn (1.6.2) unstable; urgency=medium + + [ Alexander Couzens ] + * gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr + + -- Harald Welte Thu, 13 Aug 2020 11:37:22 +0200 + osmo-sgsn (1.6.1) unstable; urgency=medium * gtphub_test: Fix compilation with gcc-10 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ie95c06f4a3e20d71a16755909607a9378bac41e1 Gerrit-Change-Number: 19614 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 Aug 13 09:40:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:40:43 +0000 Subject: Change in osmo-sgsn[rel-1.6.2]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19613 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09:40:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:40:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:40:46 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E6=2E2=5D=3A_Bump_version=3A_1=2E6=2E1=2E1-2ab48_=E2=86=92_1=2E6=2E2?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 ) Change subject: Bump version: 1.6.1.1-2ab48 ? 1.6.2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ie95c06f4a3e20d71a16755909607a9378bac41e1 Gerrit-Change-Number: 19614 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09:40: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 Aug 13 09:42:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:42:21 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Bump version: 1.5.0.1-481fa ? 1.5.1 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/16/19616/1 diff --git a/debian/changelog b/debian/changelog index 02ec236..1b1f4bd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +osmo-sgsn (1.5.1) unstable; urgency=medium + + [ Alexander Couzens ] + * gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr + + -- Harald Welte Thu, 13 Aug 2020 11:41:58 +0200 + osmo-sgsn (1.5.0) unstable; urgency=medium [ Max ] -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 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 Aug 13 09:42:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:42:20 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr References: Message-ID: Hello lynxis lazus, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 to review the following change. Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr The osmo_ prefix should be only used for official struct/apis of libosmocore. This commit was done via `sed -i 's/osmo_sockaddr/sgsn_sockaddr/g'`. In prepartion of introducing a different api of osmo_sockaddr to libosmocore. Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 --- M include/osmocom/sgsn/gtphub.h M src/gprs/gtphub.c M src/gprs/gtphub_sock.c M tests/gtphub/gtphub_test.c 4 files changed, 95 insertions(+), 95 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/15/19615/1 diff --git a/include/osmocom/sgsn/gtphub.h b/include/osmocom/sgsn/gtphub.h index 8fd9f38..6a439b5 100644 --- a/include/osmocom/sgsn/gtphub.h +++ b/include/osmocom/sgsn/gtphub.h @@ -35,14 +35,14 @@ /* TODO move to osmocom/core/socket.c ? */ #include /* for IPPROTO_* etc */ -struct osmo_sockaddr { +struct sgsn_sockaddr { struct sockaddr_storage a; socklen_t l; }; /* TODO move to osmocom/core/socket.c ? */ /*! \brief Initialize a sockaddr - * \param[out] addr Valid osmo_sockaddr pointer to write result to + * \param[out] addr Valid sgsn_sockaddr pointer to write result to * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP @@ -53,16 +53,16 @@ * Copy the first result from a getaddrinfo() call with the given parameters to * *addr and *addr_len. On error, do not change *addr and return nonzero. */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port); /* Conveniently pass AF_UNSPEC, SOCK_DGRAM and IPPROTO_UDP to - * osmo_sockaddr_init(). */ -static inline int osmo_sockaddr_init_udp(struct osmo_sockaddr *addr, + * sgsn_sockaddr_init(). */ +static inline int sgsn_sockaddr_init_udp(struct sgsn_sockaddr *addr, const char *host, uint16_t port) { - return osmo_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + return sgsn_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, host, port); } @@ -71,25 +71,25 @@ * \param[in] addr_str_len Size of buffer addr_str points at. * \param[out] port_str Valid pointer to a buffer of length port_str_len. * \param[in] port_str_len Size of buffer port_str points at. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] flags flags as passed to getnameinfo(). * \returns 0 on success, an error code on error. * * Return the IPv4 or IPv6 address string and the port (a.k.a. service) string - * representations of the given struct osmo_sockaddr in two caller provided + * representations of the given struct sgsn_sockaddr in two caller provided * char buffers. Flags of (NI_NUMERICHOST | NI_NUMERICSERV) return numeric * address and port. Either one of addr_str or port_str may be NULL, in which * case nothing is returned there. * - * See also osmo_sockaddr_to_str() (less flexible, but much more convenient). */ -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, + * See also sgsn_sockaddr_to_str() (less flexible, but much more convenient). */ +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags); -/*! \brief concatenate the parts returned by osmo_sockaddr_to_strs(). - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief concatenate the parts returned by sgsn_sockaddr_to_strs(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] buf A buffer to use for string operations. * \param[in] buf_len Length of the buffer. * \returns Address string (in buffer). @@ -98,33 +98,33 @@ * the form " port ". The returned string is valid until the * next invocation of this function. */ -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len); -/*! \brief conveniently return osmo_sockaddr_to_strb() in a static buffer. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief conveniently return sgsn_sockaddr_to_strb() in a static buffer. + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \returns Address string in static buffer. * - * See osmo_sockaddr_to_strb(). + * See sgsn_sockaddr_to_strb(). * - * Note: only one osmo_sockaddr_to_str() call will work per print/log - * statement. For two or more, use osmo_sockaddr_to_strb() with a separate + * Note: only one sgsn_sockaddr_to_str() call will work per print/log + * statement. For two or more, use sgsn_sockaddr_to_strb() with a separate * buffer each. */ -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr); +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr); -/*! \brief compare two osmo_sockaddr. +/*! \brief compare two sgsn_sockaddr. * \param[in] a The first address to compare. * \param[in] b The other address to compare. * \returns 0 if equal, otherwise -1 or 1. */ -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b); +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b); /*! \brief Overwrite *dst with *src. * Like memcpy(), but copy only the valid bytes. */ -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src); +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src); /* general */ @@ -179,7 +179,7 @@ /* Decode sa to gsna. Return 0 on success. If port is non-NULL, the port number * from sa is also returned. */ int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa); + const struct sgsn_sockaddr *sa); /* expiry */ @@ -389,7 +389,7 @@ struct gtphub_peer_addr *peer_addr; uint16_t port; unsigned int ref_count; /* references from other peers' seq_maps */ - struct osmo_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ + struct sgsn_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ int last_restart_count; /* 0..255 = valid, all else means unknown */ struct rate_ctr_group *counters_io; @@ -496,13 +496,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int port_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr); + struct sgsn_sockaddr *to_addr); struct gtphub_peer_port *gtphub_port_have(struct gtphub *hub, struct gtphub_bind *bind, @@ -510,7 +510,7 @@ uint16_t port); struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); void gtphub_resolved_ggsn(struct gtphub *hub, const char *apn_oi_str, struct gsn_addr *resolved_addr, @@ -519,5 +519,5 @@ const char *gtphub_port_str(struct gtphub_peer_port *port); int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); diff --git a/src/gprs/gtphub.c b/src/gprs/gtphub.c index ca5857b..3e5c6f0 100644 --- a/src/gprs/gtphub.c +++ b/src/gprs/gtphub.c @@ -167,12 +167,12 @@ } int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa) + const struct sgsn_sockaddr *sa) { char addr_str[256]; char port_str[6]; - if (osmo_sockaddr_to_strs(addr_str, sizeof(addr_str), + if (sgsn_sockaddr_to_strs(addr_str, sizeof(addr_str), port_str, sizeof(port_str), sa, (NI_NUMERICHOST | NI_NUMERICSERV)) != 0) { @@ -925,7 +925,7 @@ /* Recv datagram from from->fd, write sender's address to *from_addr. * Return the number of bytes read, zero on error. */ static int gtphub_read(const struct osmo_fd *from, - struct osmo_sockaddr *from_addr, + struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t buf_len) { OSMO_ASSERT(from_addr); @@ -946,7 +946,7 @@ } LOG(LOGL_DEBUG, "Received %d bytes from %s: %s%s\n", - (int)received, osmo_sockaddr_to_str(from_addr), + (int)received, sgsn_sockaddr_to_str(from_addr), osmo_hexdump(buf, received > 1000? 1000 : received), received > 1000 ? "..." : ""); @@ -1954,8 +1954,8 @@ struct gtphub *hub = from_sgsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -1985,8 +1985,8 @@ struct gtphub *hub = from_ggsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -2071,9 +2071,9 @@ static int gsn_addr_to_sockaddr(struct gsn_addr *src, uint16_t port, - struct osmo_sockaddr *dst) + struct sgsn_sockaddr *dst) { - return osmo_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); + return sgsn_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); } /* If p is an Echo request, replace p's data with the matching response and @@ -2107,7 +2107,7 @@ } struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); /* Parse buffer as GTP packet, replace elements in-place and return the ofd and * address to forward to. Return a pointer to the osmo_fd, but copy the @@ -2117,13 +2117,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int plane_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr) + struct sgsn_sockaddr *to_addr) { struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; @@ -2138,7 +2138,7 @@ (side_idx == GTPH_SIDE_GGSN)? "<-" : "->", gtphub_plane_idx_names[plane_idx], gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr), + sgsn_sockaddr_to_str(from_addr), gtp_type_str(p.type)); if (p.rc <= 0) { @@ -2146,7 +2146,7 @@ gtp_type_str(p.type), gtphub_side_idx_names[side_idx], gtphub_plane_idx_names[plane_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2156,7 +2156,7 @@ reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); if (reply_len > 0) { /* It was an echo. Nothing left to do. */ - osmo_sockaddr_copy(to_addr, from_addr); + sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); @@ -2165,7 +2165,7 @@ LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", gtphub_side_idx_names[side_idx], - (int)reply_len, osmo_sockaddr_to_str(to_addr)); + (int)reply_len, sgsn_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) @@ -2178,7 +2178,7 @@ * so no-one else is allowed to talk to us from that side. */ struct gtphub_peer_port *from_peer = hub->proxy[side_idx][plane_idx]; if (from_peer) { - if (osmo_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { + if (sgsn_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { LOG(LOGL_ERROR, "Rejecting: %s proxy configured, but GTP packet" " received on %s bind is from another sender:" @@ -2186,7 +2186,7 @@ gtphub_side_idx_names[side_idx], gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } } @@ -2204,7 +2204,7 @@ if (side_idx == GTPH_SIDE_GGSN) { LOG(LOGL_ERROR, "Dropping packet%s: unknown GGSN peer: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } else { /* SGSN */ @@ -2216,7 +2216,7 @@ "Dropping packet%s: User plane peer was not" "announced by PDP Context: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2235,7 +2235,7 @@ LOG(LOGL_ERROR, "Dropping packet%s: invalid %s peer: %s\n", gtp_type_str(p.type), gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2309,7 +2309,7 @@ if (!to_peer_from_seq) gtphub_map_seq(&p, from_peer, to_peer); - osmo_sockaddr_copy(to_addr, &to_peer->sa); + sgsn_sockaddr_copy(to_addr, &to_peer->sa); *reply_buf = (uint8_t*)p.data; @@ -2335,7 +2335,7 @@ (side_idx == GTPH_SIDE_SGSN)? "-->" : "<--", gtphub_side_idx_names[other_side_idx(side_idx)], p.header_tei, p.seq, - (int)received, osmo_sockaddr_to_str(to_addr)); + (int)received, sgsn_sockaddr_to_str(to_addr)); return received; } @@ -2645,7 +2645,7 @@ } struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gsn_addr gsna; uint16_t port; @@ -2762,7 +2762,7 @@ /* Find a GGSN peer with a matching address. If the address is known but the * port not, create a new port for that peer address. */ struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gtphub_peer_addr *pa; struct gtphub_peer_port *pp; @@ -2817,7 +2817,7 @@ /* TODO move to osmocom/core/socket.c ? */ /* use this in osmo_sock_init() to remove dup. */ -/* Internal: call getaddrinfo for osmo_sockaddr_init(). The caller is required +/* Internal: call getaddrinfo for sgsn_sockaddr_init(). The caller is required to call freeaddrinfo(*result), iff zero is returned. */ static int _osmo_getaddrinfo(struct addrinfo **result, uint16_t family, uint16_t type, uint8_t proto, @@ -2844,7 +2844,7 @@ } /* TODO move to osmocom/core/socket.c ? */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port) { @@ -2865,9 +2865,9 @@ return 0; } -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags) { int rc; @@ -2896,14 +2896,14 @@ return rc; } -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len) { const int portbuf_len = 6; OSMO_ASSERT(buf_len > portbuf_len); char *portbuf = buf + buf_len - portbuf_len; buf_len -= portbuf_len; - if (osmo_sockaddr_to_strs(buf, buf_len, + if (sgsn_sockaddr_to_strs(buf, buf_len, portbuf, portbuf_len, addr, NI_NUMERICHOST | NI_NUMERICSERV)) @@ -2918,17 +2918,17 @@ return buf; } -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr) +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr) { static char buf[256]; - const char *result = osmo_sockaddr_to_strb(addr, buf, sizeof(buf)); + const char *result = sgsn_sockaddr_to_strb(addr, buf, sizeof(buf)); if (! result) return "(invalid)"; return result; } -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b) +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b) { if (a == b) return 0; @@ -2938,7 +2938,7 @@ return 1; if (a->l != b->l) { /* Lengths are not the same, but determine the order. Will - * anyone ever sort a list by osmo_sockaddr though...? */ + * anyone ever sort a list by sgsn_sockaddr though...? */ int cmp = memcmp(&a->a, &b->a, (a->l < b->l)? a->l : b->l); if (cmp == 0) { if (a->l < b->l) @@ -2951,8 +2951,8 @@ return memcmp(&a->a, &b->a, a->l); } -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src) +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src) { OSMO_ASSERT(src->l <= sizeof(dst->a)); memcpy(&dst->a, &src->a, src->l); diff --git a/src/gprs/gtphub_sock.c b/src/gprs/gtphub_sock.c index 1acd5a6..1837533 100644 --- a/src/gprs/gtphub_sock.c +++ b/src/gprs/gtphub_sock.c @@ -33,13 +33,13 @@ LOGP(DGTPHUB, level, fmt, ##args) int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { errno = 0; ssize_t sent = sendto(to->fd, buf, buf_len, 0, (struct sockaddr*)&to_addr->a, to_addr->l); - LOG(LOGL_DEBUG, "to %s\n", osmo_sockaddr_to_str(to_addr)); + LOG(LOGL_DEBUG, "to %s\n", sgsn_sockaddr_to_str(to_addr)); if (sent == -1) { LOG(LOGL_ERROR, "error: %s\n", strerror(errno)); diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 2e48bb1..9a8ec6b 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -378,37 +378,37 @@ char resolve_ggsn_got_imsi[GSM23003_IMSI_MAX_DIGITS+1]; char resolve_ggsn_got_ni[GSM_APN_LENGTH]; -struct osmo_sockaddr resolved_ggsn_addr; +struct sgsn_sockaddr resolved_ggsn_addr; static int resolve_to_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_ggsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_ggsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr resolved_sgsn_addr; +struct sgsn_sockaddr resolved_sgsn_addr; static int resolve_to_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_sgsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_sgsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr sgsn_sender; +struct sgsn_sockaddr sgsn_sender; static int send_from_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&sgsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&sgsn_sender, addr, port) == 0); return 1; } -struct osmo_sockaddr ggsn_sender; +struct sgsn_sockaddr ggsn_sender; static int send_from_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&ggsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&ggsn_sender, addr, port) == 0); return 1; @@ -491,18 +491,18 @@ /* override, requires '-Wl,--wrap=gtphub_write' */ int __real_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); int __wrap_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { printf("Out-of-band gtphub_write(%d):\n" "to %s\n" "%s\n", (int)buf_len, - osmo_sockaddr_to_str(to_addr), + sgsn_sockaddr_to_str(to_addr), osmo_hexdump(buf, buf_len)); return 0; } @@ -553,11 +553,11 @@ } #define same_addr(GOT, EXPECTED) _same_addr((GOT),(EXPECTED), __FILE__, __LINE__) -static int _same_addr(const struct osmo_sockaddr *got, - const struct osmo_sockaddr *expected, +static int _same_addr(const struct sgsn_sockaddr *got, + const struct sgsn_sockaddr *expected, const char *file, int line) { - int cmp = osmo_sockaddr_cmp(got, expected); + int cmp = sgsn_sockaddr_cmp(got, expected); if (!cmp) return 1; char buf[256]; @@ -565,8 +565,8 @@ " expecting: '%s'\n" " got: '%s'\n\n", file, line, - osmo_sockaddr_to_str(expected), - osmo_sockaddr_to_strb(got, buf, sizeof(buf))); + sgsn_sockaddr_to_str(expected), + sgsn_sockaddr_to_strb(got, buf, sizeof(buf))); return 0; } @@ -668,7 +668,7 @@ now = 123; struct osmo_fd *to_ofd; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr to_addr; struct gtphub_peer_port *pp; int send; @@ -855,13 +855,13 @@ #define msg_from_sgsn_c(A,B,C,D) msg_from_sgsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_sgsn_u(A,B,C,D) msg_from_sgsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_sgsn(int plane_idx, - struct osmo_sockaddr *_sgsn_sender, - struct osmo_sockaddr *ggsn_receiver, + struct sgsn_sockaddr *_sgsn_sender, + struct sgsn_sockaddr *ggsn_receiver, const char *hex_from_sgsn, const char *hex_to_ggsn) { struct osmo_fd *ggsn_ofd = NULL; - struct osmo_sockaddr ggsn_addr; + struct sgsn_sockaddr ggsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_SGSN, plane_idx, _sgsn_sender, buf, msg(hex_from_sgsn), now, @@ -875,13 +875,13 @@ #define msg_from_ggsn_c(A,B,C,D) msg_from_ggsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_ggsn_u(A,B,C,D) msg_from_ggsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_ggsn(int plane_idx, - struct osmo_sockaddr *ggsn_sender, - struct osmo_sockaddr *sgsn_receiver, + struct sgsn_sockaddr *ggsn_sender, + struct sgsn_sockaddr *sgsn_receiver, const char *msg_from_ggsn, const char *msg_to_sgsn) { struct osmo_fd *sgsn_ofd; - struct osmo_sockaddr sgsn_addr; + struct sgsn_sockaddr sgsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_GGSN, plane_idx, ggsn_sender, buf, msg(msg_from_ggsn), now, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:43:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:43:10 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09:43: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 Aug 13 09:43:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:43:22 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09:43: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 Aug 13 09:45:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:45:55 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-sccp=5Bmaster=5D=3A_Bump_version=3A_1=2E2=2E0=2E53-d897-dirty_=E2=86=92_1=2E3=2E0?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 ) Change subject: Bump version: 1.2.0.53-d897-dirty ? 1.3.0 ...................................................................... Bump version: 1.2.0.53-d897-dirty ? 1.3.0 Change-Id: I70c01be02bf88ac4191dcd28cb6b3516bc096263 --- M debian/changelog 1 file changed, 74 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/17/19617/1 diff --git a/debian/changelog b/debian/changelog index 2b14542..5c9b71e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,77 @@ +libosmo-sccp (1.3.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * fix memleaks in mtp_user_prim_cb() + * cs7 vty: add 'show cs7 config' + * big endian: add missing endian.h in sccp.c + * cosmetic: apply changes to match struct_endianess.py output + * add osmo_sccp_user_find() as public API + * sccp_user_find: optimize: search PC only for valid PC arg + * sccp_simple_client: only restart ASP if it was created + * osmo_sccp_simple_client_on_ss7_id(): do not care about ASP name + + [ neels ] + * Revert "fix memleaks in mtp_user_prim_cb()" + * Revert "sccp_simple_client: only restart ASP if it was created" + + [ Pau Espin Pedrol ] + * sua.c: Avoid double free in sua_rx_msg()->...->mtp_user_prim_cb() + * configure.ac: Check for sctp_recvmsg instead of sctp_send + * ss7: Return value from child function in osmo_ss7_xua_server_set_local_host + * ss7: Introduce APIs to manage asp_peer hosts + * ss7: Set ASP addresses using asp_peer APIs + * ss7: Fix sccp_simple_server rejecting connections + * ss7: Improve checks in osmo_ss7_asp_peer_add_host() + * sccp_demo_user: Bind VTY to -l local address cmdline arg + * sccp: Fix null ptr access on malformed or unsupported msg received + * sccp: Add value_string for SCCP message types + * sccp: Avoid memleak of xua_msg receiving malformed sccp message + * examples/sccp_test_server.c: Fix typo in log message + * examples/sccp_demo_user: log category name instead of its hex value + * sccp: Convert ifelse to switch statement + * sccp: Improve logging in sccp_to_xua_opt() + * sccp: Support receiving messages with no optional params + * sccp2sua.c: Log malformed SUA message + * sccp: Log missing user and router failure paths + * sccp: Fix wrong param type in osmo_sccp_pnc_name() + * example/sccp_demo_user: Use osmocom logging system instead of printf + * examples/sccp_demo_user: Support reading log/vty config from file + * osmo_sccp_simple_server(): use sccp instance index 0 instead of 1 + * examples/sccp_test_server: Log primitive name instead of value + * examples/sccp_test_server: Log disconnect indication in echo service + * sccp_scoc: Deliver correct disconnect cause and importance to user on timer expiration + * sccp: Disarm inactivity timer upon T(iar) active->disconn_pend + * cosmetic: fix typo in comment + * xua_asp_fsm.c: Drop unused defines + + [ Harald Welte ] + * sccp_demo_user: Change prompt to not include any '-' symbols + * don't use 'debug' log level in example configs + * sccp_internal.h: fix compilation with gcc-10 + * Add "no traffic-mode" configuration to AS + * M3UA: Accept DATA without routing context IE if only a single AS in ASP + * libosmo-sccp.spec.in: Use %config(noreplace) to retain current config file + * Fix race during fast re-establishment of inbound M3UA connections + * osmo_ss7: remove use-after-free of stream_server after close_cb + * SCOC: log message type that was received for unknown local reference + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Philipp Maier ] + * doc: make sure all log categories are set to level notice + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + * RPM spec: fix "E: lto-no-text-in-archive" + + [ Vadim Yanitskiy ] + * sccp2sua: fix typo: s/omso_sccp_addr/osmo_sccp_addr/ + + -- Harald Welte Thu, 13 Aug 2020 11:45:44 +0200 + libosmo-sccp (1.2.0) unstable; urgency=medium [ Kira Obrezkova ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I70c01be02bf88ac4191dcd28cb6b3516bc096263 Gerrit-Change-Number: 19617 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 Aug 13 09:47:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:47:32 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-sccp=5Bmaster=5D=3A_Bump_version=3A_1=2E2=2E0=2E53-d897-dirty_=E2=86=92_1=2E3=2E0?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 ) Change subject: Bump version: 1.2.0.53-d897-dirty ? 1.3.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I70c01be02bf88ac4191dcd28cb6b3516bc096263 Gerrit-Change-Number: 19617 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 09:47: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 Aug 13 09:58:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:58:18 +0000 Subject: Change in osmo-sgsn[rel-1.6.2]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr The osmo_ prefix should be only used for official struct/apis of libosmocore. This commit was done via `sed -i 's/osmo_sockaddr/sgsn_sockaddr/g'`. In prepartion of introducing a different api of osmo_sockaddr to libosmocore. Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 --- M include/osmocom/sgsn/gtphub.h M src/gtphub/gtphub.c M src/gtphub/gtphub_sock.c M tests/gtphub/gtphub_test.c 4 files changed, 95 insertions(+), 95 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/gtphub.h b/include/osmocom/sgsn/gtphub.h index 8fd9f38..6a439b5 100644 --- a/include/osmocom/sgsn/gtphub.h +++ b/include/osmocom/sgsn/gtphub.h @@ -35,14 +35,14 @@ /* TODO move to osmocom/core/socket.c ? */ #include /* for IPPROTO_* etc */ -struct osmo_sockaddr { +struct sgsn_sockaddr { struct sockaddr_storage a; socklen_t l; }; /* TODO move to osmocom/core/socket.c ? */ /*! \brief Initialize a sockaddr - * \param[out] addr Valid osmo_sockaddr pointer to write result to + * \param[out] addr Valid sgsn_sockaddr pointer to write result to * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP @@ -53,16 +53,16 @@ * Copy the first result from a getaddrinfo() call with the given parameters to * *addr and *addr_len. On error, do not change *addr and return nonzero. */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port); /* Conveniently pass AF_UNSPEC, SOCK_DGRAM and IPPROTO_UDP to - * osmo_sockaddr_init(). */ -static inline int osmo_sockaddr_init_udp(struct osmo_sockaddr *addr, + * sgsn_sockaddr_init(). */ +static inline int sgsn_sockaddr_init_udp(struct sgsn_sockaddr *addr, const char *host, uint16_t port) { - return osmo_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + return sgsn_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, host, port); } @@ -71,25 +71,25 @@ * \param[in] addr_str_len Size of buffer addr_str points at. * \param[out] port_str Valid pointer to a buffer of length port_str_len. * \param[in] port_str_len Size of buffer port_str points at. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] flags flags as passed to getnameinfo(). * \returns 0 on success, an error code on error. * * Return the IPv4 or IPv6 address string and the port (a.k.a. service) string - * representations of the given struct osmo_sockaddr in two caller provided + * representations of the given struct sgsn_sockaddr in two caller provided * char buffers. Flags of (NI_NUMERICHOST | NI_NUMERICSERV) return numeric * address and port. Either one of addr_str or port_str may be NULL, in which * case nothing is returned there. * - * See also osmo_sockaddr_to_str() (less flexible, but much more convenient). */ -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, + * See also sgsn_sockaddr_to_str() (less flexible, but much more convenient). */ +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags); -/*! \brief concatenate the parts returned by osmo_sockaddr_to_strs(). - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief concatenate the parts returned by sgsn_sockaddr_to_strs(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] buf A buffer to use for string operations. * \param[in] buf_len Length of the buffer. * \returns Address string (in buffer). @@ -98,33 +98,33 @@ * the form " port ". The returned string is valid until the * next invocation of this function. */ -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len); -/*! \brief conveniently return osmo_sockaddr_to_strb() in a static buffer. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief conveniently return sgsn_sockaddr_to_strb() in a static buffer. + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \returns Address string in static buffer. * - * See osmo_sockaddr_to_strb(). + * See sgsn_sockaddr_to_strb(). * - * Note: only one osmo_sockaddr_to_str() call will work per print/log - * statement. For two or more, use osmo_sockaddr_to_strb() with a separate + * Note: only one sgsn_sockaddr_to_str() call will work per print/log + * statement. For two or more, use sgsn_sockaddr_to_strb() with a separate * buffer each. */ -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr); +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr); -/*! \brief compare two osmo_sockaddr. +/*! \brief compare two sgsn_sockaddr. * \param[in] a The first address to compare. * \param[in] b The other address to compare. * \returns 0 if equal, otherwise -1 or 1. */ -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b); +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b); /*! \brief Overwrite *dst with *src. * Like memcpy(), but copy only the valid bytes. */ -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src); +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src); /* general */ @@ -179,7 +179,7 @@ /* Decode sa to gsna. Return 0 on success. If port is non-NULL, the port number * from sa is also returned. */ int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa); + const struct sgsn_sockaddr *sa); /* expiry */ @@ -389,7 +389,7 @@ struct gtphub_peer_addr *peer_addr; uint16_t port; unsigned int ref_count; /* references from other peers' seq_maps */ - struct osmo_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ + struct sgsn_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ int last_restart_count; /* 0..255 = valid, all else means unknown */ struct rate_ctr_group *counters_io; @@ -496,13 +496,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int port_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr); + struct sgsn_sockaddr *to_addr); struct gtphub_peer_port *gtphub_port_have(struct gtphub *hub, struct gtphub_bind *bind, @@ -510,7 +510,7 @@ uint16_t port); struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); void gtphub_resolved_ggsn(struct gtphub *hub, const char *apn_oi_str, struct gsn_addr *resolved_addr, @@ -519,5 +519,5 @@ const char *gtphub_port_str(struct gtphub_peer_port *port); int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index ca5857b..3e5c6f0 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -167,12 +167,12 @@ } int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa) + const struct sgsn_sockaddr *sa) { char addr_str[256]; char port_str[6]; - if (osmo_sockaddr_to_strs(addr_str, sizeof(addr_str), + if (sgsn_sockaddr_to_strs(addr_str, sizeof(addr_str), port_str, sizeof(port_str), sa, (NI_NUMERICHOST | NI_NUMERICSERV)) != 0) { @@ -925,7 +925,7 @@ /* Recv datagram from from->fd, write sender's address to *from_addr. * Return the number of bytes read, zero on error. */ static int gtphub_read(const struct osmo_fd *from, - struct osmo_sockaddr *from_addr, + struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t buf_len) { OSMO_ASSERT(from_addr); @@ -946,7 +946,7 @@ } LOG(LOGL_DEBUG, "Received %d bytes from %s: %s%s\n", - (int)received, osmo_sockaddr_to_str(from_addr), + (int)received, sgsn_sockaddr_to_str(from_addr), osmo_hexdump(buf, received > 1000? 1000 : received), received > 1000 ? "..." : ""); @@ -1954,8 +1954,8 @@ struct gtphub *hub = from_sgsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -1985,8 +1985,8 @@ struct gtphub *hub = from_ggsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -2071,9 +2071,9 @@ static int gsn_addr_to_sockaddr(struct gsn_addr *src, uint16_t port, - struct osmo_sockaddr *dst) + struct sgsn_sockaddr *dst) { - return osmo_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); + return sgsn_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); } /* If p is an Echo request, replace p's data with the matching response and @@ -2107,7 +2107,7 @@ } struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); /* Parse buffer as GTP packet, replace elements in-place and return the ofd and * address to forward to. Return a pointer to the osmo_fd, but copy the @@ -2117,13 +2117,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int plane_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr) + struct sgsn_sockaddr *to_addr) { struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; @@ -2138,7 +2138,7 @@ (side_idx == GTPH_SIDE_GGSN)? "<-" : "->", gtphub_plane_idx_names[plane_idx], gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr), + sgsn_sockaddr_to_str(from_addr), gtp_type_str(p.type)); if (p.rc <= 0) { @@ -2146,7 +2146,7 @@ gtp_type_str(p.type), gtphub_side_idx_names[side_idx], gtphub_plane_idx_names[plane_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2156,7 +2156,7 @@ reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); if (reply_len > 0) { /* It was an echo. Nothing left to do. */ - osmo_sockaddr_copy(to_addr, from_addr); + sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); @@ -2165,7 +2165,7 @@ LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", gtphub_side_idx_names[side_idx], - (int)reply_len, osmo_sockaddr_to_str(to_addr)); + (int)reply_len, sgsn_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) @@ -2178,7 +2178,7 @@ * so no-one else is allowed to talk to us from that side. */ struct gtphub_peer_port *from_peer = hub->proxy[side_idx][plane_idx]; if (from_peer) { - if (osmo_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { + if (sgsn_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { LOG(LOGL_ERROR, "Rejecting: %s proxy configured, but GTP packet" " received on %s bind is from another sender:" @@ -2186,7 +2186,7 @@ gtphub_side_idx_names[side_idx], gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } } @@ -2204,7 +2204,7 @@ if (side_idx == GTPH_SIDE_GGSN) { LOG(LOGL_ERROR, "Dropping packet%s: unknown GGSN peer: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } else { /* SGSN */ @@ -2216,7 +2216,7 @@ "Dropping packet%s: User plane peer was not" "announced by PDP Context: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2235,7 +2235,7 @@ LOG(LOGL_ERROR, "Dropping packet%s: invalid %s peer: %s\n", gtp_type_str(p.type), gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2309,7 +2309,7 @@ if (!to_peer_from_seq) gtphub_map_seq(&p, from_peer, to_peer); - osmo_sockaddr_copy(to_addr, &to_peer->sa); + sgsn_sockaddr_copy(to_addr, &to_peer->sa); *reply_buf = (uint8_t*)p.data; @@ -2335,7 +2335,7 @@ (side_idx == GTPH_SIDE_SGSN)? "-->" : "<--", gtphub_side_idx_names[other_side_idx(side_idx)], p.header_tei, p.seq, - (int)received, osmo_sockaddr_to_str(to_addr)); + (int)received, sgsn_sockaddr_to_str(to_addr)); return received; } @@ -2645,7 +2645,7 @@ } struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gsn_addr gsna; uint16_t port; @@ -2762,7 +2762,7 @@ /* Find a GGSN peer with a matching address. If the address is known but the * port not, create a new port for that peer address. */ struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gtphub_peer_addr *pa; struct gtphub_peer_port *pp; @@ -2817,7 +2817,7 @@ /* TODO move to osmocom/core/socket.c ? */ /* use this in osmo_sock_init() to remove dup. */ -/* Internal: call getaddrinfo for osmo_sockaddr_init(). The caller is required +/* Internal: call getaddrinfo for sgsn_sockaddr_init(). The caller is required to call freeaddrinfo(*result), iff zero is returned. */ static int _osmo_getaddrinfo(struct addrinfo **result, uint16_t family, uint16_t type, uint8_t proto, @@ -2844,7 +2844,7 @@ } /* TODO move to osmocom/core/socket.c ? */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port) { @@ -2865,9 +2865,9 @@ return 0; } -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags) { int rc; @@ -2896,14 +2896,14 @@ return rc; } -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len) { const int portbuf_len = 6; OSMO_ASSERT(buf_len > portbuf_len); char *portbuf = buf + buf_len - portbuf_len; buf_len -= portbuf_len; - if (osmo_sockaddr_to_strs(buf, buf_len, + if (sgsn_sockaddr_to_strs(buf, buf_len, portbuf, portbuf_len, addr, NI_NUMERICHOST | NI_NUMERICSERV)) @@ -2918,17 +2918,17 @@ return buf; } -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr) +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr) { static char buf[256]; - const char *result = osmo_sockaddr_to_strb(addr, buf, sizeof(buf)); + const char *result = sgsn_sockaddr_to_strb(addr, buf, sizeof(buf)); if (! result) return "(invalid)"; return result; } -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b) +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b) { if (a == b) return 0; @@ -2938,7 +2938,7 @@ return 1; if (a->l != b->l) { /* Lengths are not the same, but determine the order. Will - * anyone ever sort a list by osmo_sockaddr though...? */ + * anyone ever sort a list by sgsn_sockaddr though...? */ int cmp = memcmp(&a->a, &b->a, (a->l < b->l)? a->l : b->l); if (cmp == 0) { if (a->l < b->l) @@ -2951,8 +2951,8 @@ return memcmp(&a->a, &b->a, a->l); } -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src) +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src) { OSMO_ASSERT(src->l <= sizeof(dst->a)); memcpy(&dst->a, &src->a, src->l); diff --git a/src/gtphub/gtphub_sock.c b/src/gtphub/gtphub_sock.c index 1acd5a6..1837533 100644 --- a/src/gtphub/gtphub_sock.c +++ b/src/gtphub/gtphub_sock.c @@ -33,13 +33,13 @@ LOGP(DGTPHUB, level, fmt, ##args) int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { errno = 0; ssize_t sent = sendto(to->fd, buf, buf_len, 0, (struct sockaddr*)&to_addr->a, to_addr->l); - LOG(LOGL_DEBUG, "to %s\n", osmo_sockaddr_to_str(to_addr)); + LOG(LOGL_DEBUG, "to %s\n", sgsn_sockaddr_to_str(to_addr)); if (sent == -1) { LOG(LOGL_ERROR, "error: %s\n", strerror(errno)); diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index ed46176..d381b9b 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -378,37 +378,37 @@ char resolve_ggsn_got_imsi[GSM23003_IMSI_MAX_DIGITS+1]; char resolve_ggsn_got_ni[GSM_APN_LENGTH]; -struct osmo_sockaddr resolved_ggsn_addr; +struct sgsn_sockaddr resolved_ggsn_addr; static int resolve_to_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_ggsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_ggsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr resolved_sgsn_addr; +struct sgsn_sockaddr resolved_sgsn_addr; static int resolve_to_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_sgsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_sgsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr sgsn_sender; +struct sgsn_sockaddr sgsn_sender; static int send_from_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&sgsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&sgsn_sender, addr, port) == 0); return 1; } -struct osmo_sockaddr ggsn_sender; +struct sgsn_sockaddr ggsn_sender; static int send_from_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&ggsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&ggsn_sender, addr, port) == 0); return 1; @@ -491,18 +491,18 @@ /* override, requires '-Wl,--wrap=gtphub_write' */ int __real_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); int __wrap_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { printf("Out-of-band gtphub_write(%d):\n" "to %s\n" "%s\n", (int)buf_len, - osmo_sockaddr_to_str(to_addr), + sgsn_sockaddr_to_str(to_addr), osmo_hexdump(buf, buf_len)); return 0; } @@ -553,11 +553,11 @@ } #define same_addr(GOT, EXPECTED) _same_addr((GOT),(EXPECTED), __FILE__, __LINE__) -static int _same_addr(const struct osmo_sockaddr *got, - const struct osmo_sockaddr *expected, +static int _same_addr(const struct sgsn_sockaddr *got, + const struct sgsn_sockaddr *expected, const char *file, int line) { - int cmp = osmo_sockaddr_cmp(got, expected); + int cmp = sgsn_sockaddr_cmp(got, expected); if (!cmp) return 1; char buf[256]; @@ -565,8 +565,8 @@ " expecting: '%s'\n" " got: '%s'\n\n", file, line, - osmo_sockaddr_to_str(expected), - osmo_sockaddr_to_strb(got, buf, sizeof(buf))); + sgsn_sockaddr_to_str(expected), + sgsn_sockaddr_to_strb(got, buf, sizeof(buf))); return 0; } @@ -668,7 +668,7 @@ now = 123; struct osmo_fd *to_ofd; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr to_addr; struct gtphub_peer_port *pp; int send; @@ -855,13 +855,13 @@ #define msg_from_sgsn_c(A,B,C,D) msg_from_sgsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_sgsn_u(A,B,C,D) msg_from_sgsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_sgsn(int plane_idx, - struct osmo_sockaddr *_sgsn_sender, - struct osmo_sockaddr *ggsn_receiver, + struct sgsn_sockaddr *_sgsn_sender, + struct sgsn_sockaddr *ggsn_receiver, const char *hex_from_sgsn, const char *hex_to_ggsn) { struct osmo_fd *ggsn_ofd = NULL; - struct osmo_sockaddr ggsn_addr; + struct sgsn_sockaddr ggsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_SGSN, plane_idx, _sgsn_sender, buf, msg(hex_from_sgsn), now, @@ -875,13 +875,13 @@ #define msg_from_ggsn_c(A,B,C,D) msg_from_ggsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_ggsn_u(A,B,C,D) msg_from_ggsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_ggsn(int plane_idx, - struct osmo_sockaddr *ggsn_sender, - struct osmo_sockaddr *sgsn_receiver, + struct sgsn_sockaddr *ggsn_sender, + struct sgsn_sockaddr *sgsn_receiver, const char *msg_from_ggsn, const char *msg_to_sgsn) { struct osmo_fd *sgsn_ofd; - struct osmo_sockaddr sgsn_addr; + struct sgsn_sockaddr sgsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_GGSN, plane_idx, ggsn_sender, buf, msg(msg_from_ggsn), now, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19613 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder 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 Thu Aug 13 09:58:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:58:18 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E6=2E2=5D=3A_Bump_version=3A_1=2E6=2E1=2E1-2ab48_=E2=86=92_1=2E6=2E2?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 ) Change subject: Bump version: 1.6.1.1-2ab48 ? 1.6.2 ...................................................................... Bump version: 1.6.1.1-2ab48 ? 1.6.2 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: Ie95c06f4a3e20d71a16755909607a9378bac41e1 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index a479de9..7d734e1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +osmo-sgsn (1.6.2) unstable; urgency=medium + + [ Alexander Couzens ] + * gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr + + -- Harald Welte Thu, 13 Aug 2020 11:37:22 +0200 + osmo-sgsn (1.6.1) unstable; urgency=medium * gtphub_test: Fix compilation with gcc-10 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.6.2 Gerrit-Change-Id: Ie95c06f4a3e20d71a16755909607a9378bac41e1 Gerrit-Change-Number: 19614 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 09:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 09:58:41 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-sccp=5Bmaster=5D=3A_Bump_version=3A_1=2E2=2E0=2E53-d897-dirty_=E2=86=92_1=2E3=2E0?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 ) Change subject: Bump version: 1.2.0.53-d897-dirty ? 1.3.0 ...................................................................... Bump version: 1.2.0.53-d897-dirty ? 1.3.0 Change-Id: I70c01be02bf88ac4191dcd28cb6b3516bc096263 --- M debian/changelog 1 file changed, 74 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index 2b14542..5c9b71e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,77 @@ +libosmo-sccp (1.3.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * fix memleaks in mtp_user_prim_cb() + * cs7 vty: add 'show cs7 config' + * big endian: add missing endian.h in sccp.c + * cosmetic: apply changes to match struct_endianess.py output + * add osmo_sccp_user_find() as public API + * sccp_user_find: optimize: search PC only for valid PC arg + * sccp_simple_client: only restart ASP if it was created + * osmo_sccp_simple_client_on_ss7_id(): do not care about ASP name + + [ neels ] + * Revert "fix memleaks in mtp_user_prim_cb()" + * Revert "sccp_simple_client: only restart ASP if it was created" + + [ Pau Espin Pedrol ] + * sua.c: Avoid double free in sua_rx_msg()->...->mtp_user_prim_cb() + * configure.ac: Check for sctp_recvmsg instead of sctp_send + * ss7: Return value from child function in osmo_ss7_xua_server_set_local_host + * ss7: Introduce APIs to manage asp_peer hosts + * ss7: Set ASP addresses using asp_peer APIs + * ss7: Fix sccp_simple_server rejecting connections + * ss7: Improve checks in osmo_ss7_asp_peer_add_host() + * sccp_demo_user: Bind VTY to -l local address cmdline arg + * sccp: Fix null ptr access on malformed or unsupported msg received + * sccp: Add value_string for SCCP message types + * sccp: Avoid memleak of xua_msg receiving malformed sccp message + * examples/sccp_test_server.c: Fix typo in log message + * examples/sccp_demo_user: log category name instead of its hex value + * sccp: Convert ifelse to switch statement + * sccp: Improve logging in sccp_to_xua_opt() + * sccp: Support receiving messages with no optional params + * sccp2sua.c: Log malformed SUA message + * sccp: Log missing user and router failure paths + * sccp: Fix wrong param type in osmo_sccp_pnc_name() + * example/sccp_demo_user: Use osmocom logging system instead of printf + * examples/sccp_demo_user: Support reading log/vty config from file + * osmo_sccp_simple_server(): use sccp instance index 0 instead of 1 + * examples/sccp_test_server: Log primitive name instead of value + * examples/sccp_test_server: Log disconnect indication in echo service + * sccp_scoc: Deliver correct disconnect cause and importance to user on timer expiration + * sccp: Disarm inactivity timer upon T(iar) active->disconn_pend + * cosmetic: fix typo in comment + * xua_asp_fsm.c: Drop unused defines + + [ Harald Welte ] + * sccp_demo_user: Change prompt to not include any '-' symbols + * don't use 'debug' log level in example configs + * sccp_internal.h: fix compilation with gcc-10 + * Add "no traffic-mode" configuration to AS + * M3UA: Accept DATA without routing context IE if only a single AS in ASP + * libosmo-sccp.spec.in: Use %config(noreplace) to retain current config file + * Fix race during fast re-establishment of inbound M3UA connections + * osmo_ss7: remove use-after-free of stream_server after close_cb + * SCOC: log message type that was received for unknown local reference + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Philipp Maier ] + * doc: make sure all log categories are set to level notice + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + * RPM spec: fix "E: lto-no-text-in-archive" + + [ Vadim Yanitskiy ] + * sccp2sua: fix typo: s/omso_sccp_addr/osmo_sccp_addr/ + + -- Harald Welte Thu, 13 Aug 2020 11:45:44 +0200 + libosmo-sccp (1.2.0) unstable; urgency=medium [ Kira Obrezkova ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I70c01be02bf88ac4191dcd28cb6b3516bc096263 Gerrit-Change-Number: 19617 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 10:17:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:17:05 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E59-1f92-dirty_=E2=86=92_1=2E0=2E0?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19618 ) Change subject: Bump version: 0.8.0.59-1f92-dirty ? 1.0.0 ...................................................................... Bump version: 0.8.0.59-1f92-dirty ? 1.0.0 Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb --- M TODO-RELEASE M configure.ac M contrib/libosmo-abis.spec.in M debian/changelog M debian/control R debian/libosmoabis9.install M src/Makefile.am 7 files changed, 93 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/18/19618/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index bf3ef84..d0852fc 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,8 +7,3 @@ # 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 -libosmo-abis API change major: add parameter to struct e1inp_line -libosmo-trau API change add new function osmo_rtp_socket_set_dscp() -libosmo-abis API change major: add parameter to struct lapd_instance -libosmo-abis Field added struct e1inp_line "use_count". REMINDER: Upon LIBVERSION c bump, take the chance to drop struct e1inp_line "refcnt" field. -libosmo-abis libosmogsm dep Use of lapd_dl_init2() requires libosmocore > 1.3.0 (not yet released, 00b2faf8217338d4d7d1f4d27331af3151447350) diff --git a/configure.ac b/configure.ac index 04ffca6..9926f05 100644 --- a/configure.ac +++ b/configure.ac @@ -64,9 +64,9 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index da0c2d8..2a186a4 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -38,12 +38,12 @@ BSC. This interface allows control of the radio equipment and radio frequency allocation in the BTS. -%package -n libosmoabis6 +%package -n libosmoabis9 Summary: Osmocom GSM A-bis interface library License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmoabis6 +%description -n libosmoabis9 In the GSM system architecture, A-bis is a Base Station System-internal interface linking the Base Transceiver Stations (BTS) and Base Station Controller (BSC). This interface allows control of @@ -57,7 +57,7 @@ Summary: Development files for the Osmocom GSM A-bis library License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmoabis6 = %version +Requires: libosmoabis9 = %version Requires: libosmocore-devel >= 0.3.0 Requires: libosmogsm-devel >= 0.3.10 @@ -119,12 +119,12 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmoabis6 -p /sbin/ldconfig -%postun -n libosmoabis6 -p /sbin/ldconfig +%post -n libosmoabis9 -p /sbin/ldconfig +%postun -n libosmoabis9 -p /sbin/ldconfig %post -n libosmotrau2 -p /sbin/ldconfig %postun -n libosmotrau2 -p /sbin/ldconfig -%files -n libosmoabis6 +%files -n libosmoabis9 %defattr(-,root,root) %_libdir/libosmoabis.so.6* diff --git a/debian/changelog b/debian/changelog index 68064ca..b839ed9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,80 @@ +libosmo-abis (1.0.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * add/clean big-endian packed structs (struct_endianess.py) + + [ Harald Welte ] + * dahdi: Don't use perror() directly, use osmocom logging instead + * introduce and use logging macros with context on E1 line / timeslot + * e1d: Use HAVE_E1D in C source, not ENABLE_E1D + * e1d: add missing forward-declaration of e1inp_e1d_init() + * e1d: Don't use perror() directly, use osmocom logging instead + * e1d: Remove EXCEPTFD handling + * e1d: Remove bogus vty_show function. + * e1d: Use line->port_nr to specify e1d interface/line + * e1d: Use LOGPIL/LOGPITS logging macros to give context + * e1d: Don't connect to e1d at program start time + * e1d: Implement varions non-LAPD timeslot modes + * Add rtp_test to show the double-bind bug of OS#4444 + * ortp: disable SO_REUSEADDR + SO_REUSEPORT + * subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const + * trau_frame: use 'ubit_t' for unpacked bits + * subchan_demux: Use ubit_t where appropriate + * trau_frame.h: Fix definition of TRAU_FT_OM_UP + * Fix subchan_demux_test compiler warning on some gcc versions + * trau_frame: Fix AMR frame decoding + * lapd: Always print context information when logging + * fix compilation with --enable-e1d + * lapd: Replace magic numbers with #defines + * input/lapd.c: Enlarge message buffers for DL-SAP primitives + * input/dahdi.c: Don't simply read beyond end of msgb + * subchan_demux: Fix out-of-bounds write + * e1d: Add new osmo_e1dp_client_ts_open() argument + * e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 + * contrib/jenkins.sh: Test builds with --enable-e1d + * dahdi: Use osmo_revbytebits_buf() instead of local flip table + * input/e1d: Fix support for TRAU slots + * input/e1d: Add missing "RAW" timeslot support + * e1_input_vty: Fix VTY help strings + + [ Sylvain Munaut ] + * e1d: Initial osmo-e1d support + * e1_input: Allow to change the pcap fd and/or unset it + * e1_input: Add VTY command to enable PCAP debug output + + [ Oliver Smith ] + * ipaccess.c: line_already_initialized: int -> bool + * osmo_ortp: add osmo_rtp_socket_set_dscp() + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + * src/input/ipaccess.c: set TCP_NODELAY + + [ Eric Wild ] + * add ipa ping/pong keepalive for OML/RSL links between bts and bsc + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Pau Espin Pedrol ] + * e1_input: refcount inc line during e1_sign_link_create, not during line update + * ipaccess.c: Drop repeated ipaccess_keepalive_fsm_cleanup in write error path + * ipaccess: Fix log formatting of RESP_ID IPA attributes + * cosmetic: e1_input.h: Fix trailing whitespace + * e1_input: Use osmo_use_count in e1inp_line + * ipaccess: Drop e1inp_line reference in ipacess_drop() + * ipacces: Fix e1inp_line reference put in ipaccess_close + * ipaccess: Set bfd->data to NULL before releasing its reference + * ipaccess_recvmsg: Clean up release steps upon error condition + * ipaccess_recvmsg: Assert the new bfd from new line differs from the old one + * ipaccess_recvmsg: Untangle code updating line + * cosmetic: lapd: Fix trailing whitespace + * lapd: Use lapd_dl_init2 instead of deprecated lapd_dl_init + * tests: Use API e1inp_line_put2 instead of deprecated e1inp_line_put + * ipaccess: Fix use-after-free in ipaccess_drop() + + -- Harald Welte Thu, 13 Aug 2020 12:09:39 +0200 + libosmo-abis (0.8.0) unstable; urgency=medium [ Alexander Couzens ] diff --git a/debian/control b/debian/control index 7039bfe..12f4a4f 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ dh-autoreconf, libdpkg-perl, git, - libosmocore-dev (>= 1.1.0), + libosmocore-dev (>= 1.4.0), pkg-config, libortp-dev Standards-Version: 3.9.7 @@ -22,20 +22,16 @@ Package: libosmo-abis Section: oldlibs Architecture: any -Depends: libosmoabis6 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} +Depends: libosmoabis9 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} Multi-Arch: same Description: Legacy package for libosmo-abis libosmo-abis is an empty package helping in the transition to one package per DSO. -Package: libosmoabis6 +Package: libosmoabis9 Section: libs Architecture: any Multi-Arch: same -# Due to previous release issues, libosmoabis5 actually installed same libosmoabis.so.6 file. -# Once major is increased to 7, following two lines below can be dropped: -Conflicts: libosmoabis5 -Replaces: libosmoabis5 Depends: ${shlibs:Depends}, ${misc:Depends} Description: GSM A-bis handling @@ -64,7 +60,7 @@ Section: libdevel Depends: ${misc:Depends}, libosmotrau2 (= ${binary:Version}), - libosmoabis6 (= ${binary:Version}) + libosmoabis9 (= ${binary:Version}) Description: Development headers for A-bis interface The libosmo-abis library contains common/shared code regarding the A-bis interface between GSM BTS and BSC. This package in particular contains the @@ -76,7 +72,7 @@ Multi-Arch: same Section: debug Priority: extra -Depends: libosmoabis6 (= ${binary:Version}), +Depends: libosmoabis9 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for A-bis interface diff --git a/debian/libosmoabis6.install b/debian/libosmoabis9.install similarity index 100% rename from debian/libosmoabis6.install rename to debian/libosmoabis9.install diff --git a/src/Makefile.am b/src/Makefile.am index 3838a5a..1725179 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,8 +1,8 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -ABIS_LIBVERSION=8:0:2 -TRAU_LIBVERSION=4:0:2 +ABIS_LIBVERSION=9:0:0 +TRAU_LIBVERSION=5:0:3 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(COVERAGE_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb Gerrit-Change-Number: 19618 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 Aug 13 10:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:18:11 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E59-1f92-dirty_=E2=86=92_1=2E0=2E0?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19618 ) Change subject: Bump version: 0.8.0.59-1f92-dirty ? 1.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb Gerrit-Change-Number: 19618 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 10:18: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 Aug 13 10:23:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:23:56 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E59-1f92-dirty_=E2=86=92_1=2E0=2E0?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19618 ) Change subject: Bump version: 0.8.0.59-1f92-dirty ? 1.0.0 ...................................................................... Bump version: 0.8.0.59-1f92-dirty ? 1.0.0 Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb --- M TODO-RELEASE M configure.ac M contrib/libosmo-abis.spec.in M debian/changelog M debian/control R debian/libosmoabis9.install M src/Makefile.am 7 files changed, 93 insertions(+), 25 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index bf3ef84..d0852fc 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,8 +7,3 @@ # 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 -libosmo-abis API change major: add parameter to struct e1inp_line -libosmo-trau API change add new function osmo_rtp_socket_set_dscp() -libosmo-abis API change major: add parameter to struct lapd_instance -libosmo-abis Field added struct e1inp_line "use_count". REMINDER: Upon LIBVERSION c bump, take the chance to drop struct e1inp_line "refcnt" field. -libosmo-abis libosmogsm dep Use of lapd_dl_init2() requires libosmocore > 1.3.0 (not yet released, 00b2faf8217338d4d7d1f4d27331af3151447350) diff --git a/configure.ac b/configure.ac index 04ffca6..9926f05 100644 --- a/configure.ac +++ b/configure.ac @@ -64,9 +64,9 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index da0c2d8..2a186a4 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -38,12 +38,12 @@ BSC. This interface allows control of the radio equipment and radio frequency allocation in the BTS. -%package -n libosmoabis6 +%package -n libosmoabis9 Summary: Osmocom GSM A-bis interface library License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmoabis6 +%description -n libosmoabis9 In the GSM system architecture, A-bis is a Base Station System-internal interface linking the Base Transceiver Stations (BTS) and Base Station Controller (BSC). This interface allows control of @@ -57,7 +57,7 @@ Summary: Development files for the Osmocom GSM A-bis library License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmoabis6 = %version +Requires: libosmoabis9 = %version Requires: libosmocore-devel >= 0.3.0 Requires: libosmogsm-devel >= 0.3.10 @@ -119,12 +119,12 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmoabis6 -p /sbin/ldconfig -%postun -n libosmoabis6 -p /sbin/ldconfig +%post -n libosmoabis9 -p /sbin/ldconfig +%postun -n libosmoabis9 -p /sbin/ldconfig %post -n libosmotrau2 -p /sbin/ldconfig %postun -n libosmotrau2 -p /sbin/ldconfig -%files -n libosmoabis6 +%files -n libosmoabis9 %defattr(-,root,root) %_libdir/libosmoabis.so.6* diff --git a/debian/changelog b/debian/changelog index 68064ca..b839ed9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,80 @@ +libosmo-abis (1.0.0) unstable; urgency=medium + + [ Neels Hofmeyr ] + * add/clean big-endian packed structs (struct_endianess.py) + + [ Harald Welte ] + * dahdi: Don't use perror() directly, use osmocom logging instead + * introduce and use logging macros with context on E1 line / timeslot + * e1d: Use HAVE_E1D in C source, not ENABLE_E1D + * e1d: add missing forward-declaration of e1inp_e1d_init() + * e1d: Don't use perror() directly, use osmocom logging instead + * e1d: Remove EXCEPTFD handling + * e1d: Remove bogus vty_show function. + * e1d: Use line->port_nr to specify e1d interface/line + * e1d: Use LOGPIL/LOGPITS logging macros to give context + * e1d: Don't connect to e1d at program start time + * e1d: Implement varions non-LAPD timeslot modes + * Add rtp_test to show the double-bind bug of OS#4444 + * ortp: disable SO_REUSEADDR + SO_REUSEPORT + * subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const + * trau_frame: use 'ubit_t' for unpacked bits + * subchan_demux: Use ubit_t where appropriate + * trau_frame.h: Fix definition of TRAU_FT_OM_UP + * Fix subchan_demux_test compiler warning on some gcc versions + * trau_frame: Fix AMR frame decoding + * lapd: Always print context information when logging + * fix compilation with --enable-e1d + * lapd: Replace magic numbers with #defines + * input/lapd.c: Enlarge message buffers for DL-SAP primitives + * input/dahdi.c: Don't simply read beyond end of msgb + * subchan_demux: Fix out-of-bounds write + * e1d: Add new osmo_e1dp_client_ts_open() argument + * e1d: Fix compilation after I4a088f91f23aaad05c5ab84a4783c1915d85aca6 + * contrib/jenkins.sh: Test builds with --enable-e1d + * dahdi: Use osmo_revbytebits_buf() instead of local flip table + * input/e1d: Fix support for TRAU slots + * input/e1d: Add missing "RAW" timeslot support + * e1_input_vty: Fix VTY help strings + + [ Sylvain Munaut ] + * e1d: Initial osmo-e1d support + * e1_input: Allow to change the pcap fd and/or unset it + * e1_input: Add VTY command to enable PCAP debug output + + [ Oliver Smith ] + * ipaccess.c: line_already_initialized: int -> bool + * osmo_ortp: add osmo_rtp_socket_set_dscp() + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + * src/input/ipaccess.c: set TCP_NODELAY + + [ Eric Wild ] + * add ipa ping/pong keepalive for OML/RSL links between bts and bsc + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Pau Espin Pedrol ] + * e1_input: refcount inc line during e1_sign_link_create, not during line update + * ipaccess.c: Drop repeated ipaccess_keepalive_fsm_cleanup in write error path + * ipaccess: Fix log formatting of RESP_ID IPA attributes + * cosmetic: e1_input.h: Fix trailing whitespace + * e1_input: Use osmo_use_count in e1inp_line + * ipaccess: Drop e1inp_line reference in ipacess_drop() + * ipacces: Fix e1inp_line reference put in ipaccess_close + * ipaccess: Set bfd->data to NULL before releasing its reference + * ipaccess_recvmsg: Clean up release steps upon error condition + * ipaccess_recvmsg: Assert the new bfd from new line differs from the old one + * ipaccess_recvmsg: Untangle code updating line + * cosmetic: lapd: Fix trailing whitespace + * lapd: Use lapd_dl_init2 instead of deprecated lapd_dl_init + * tests: Use API e1inp_line_put2 instead of deprecated e1inp_line_put + * ipaccess: Fix use-after-free in ipaccess_drop() + + -- Harald Welte Thu, 13 Aug 2020 12:09:39 +0200 + libosmo-abis (0.8.0) unstable; urgency=medium [ Alexander Couzens ] diff --git a/debian/control b/debian/control index 7039bfe..12f4a4f 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ dh-autoreconf, libdpkg-perl, git, - libosmocore-dev (>= 1.1.0), + libosmocore-dev (>= 1.4.0), pkg-config, libortp-dev Standards-Version: 3.9.7 @@ -22,20 +22,16 @@ Package: libosmo-abis Section: oldlibs Architecture: any -Depends: libosmoabis6 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} +Depends: libosmoabis9 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} Multi-Arch: same Description: Legacy package for libosmo-abis libosmo-abis is an empty package helping in the transition to one package per DSO. -Package: libosmoabis6 +Package: libosmoabis9 Section: libs Architecture: any Multi-Arch: same -# Due to previous release issues, libosmoabis5 actually installed same libosmoabis.so.6 file. -# Once major is increased to 7, following two lines below can be dropped: -Conflicts: libosmoabis5 -Replaces: libosmoabis5 Depends: ${shlibs:Depends}, ${misc:Depends} Description: GSM A-bis handling @@ -64,7 +60,7 @@ Section: libdevel Depends: ${misc:Depends}, libosmotrau2 (= ${binary:Version}), - libosmoabis6 (= ${binary:Version}) + libosmoabis9 (= ${binary:Version}) Description: Development headers for A-bis interface The libosmo-abis library contains common/shared code regarding the A-bis interface between GSM BTS and BSC. This package in particular contains the @@ -76,7 +72,7 @@ Multi-Arch: same Section: debug Priority: extra -Depends: libosmoabis6 (= ${binary:Version}), +Depends: libosmoabis9 (= ${binary:Version}), libosmotrau2 (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for A-bis interface diff --git a/debian/libosmoabis6.install b/debian/libosmoabis9.install similarity index 100% rename from debian/libosmoabis6.install rename to debian/libosmoabis9.install diff --git a/src/Makefile.am b/src/Makefile.am index 3838a5a..1725179 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,8 +1,8 @@ # This is _NOT_ the library release version, it's an API version. # Please read chapter "Library interface versions" of the libtool documentation # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html -ABIS_LIBVERSION=8:0:2 -TRAU_LIBVERSION=4:0:2 +ABIS_LIBVERSION=9:0:0 +TRAU_LIBVERSION=5:0:3 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOE1D_CFLAGS) $(COVERAGE_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb Gerrit-Change-Number: 19618 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 10:24:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:24:12 +0000 Subject: Change in libosmo-abis[master]: Merge branch '1.0.0' into master References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19619 ) Change subject: Merge branch '1.0.0' into master ...................................................................... Merge branch '1.0.0' into master We tagged 1.0.0 off a non-master version in the commit history in order to keep the new TRAU frame handling out of the 1.0.0 release, but to have all of the other fixes in a tagged release. This merge brings master in sync with those changes. Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b --- M configure.ac 2 files changed, 1 insertion(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/19/19619/1 diff --git a/configure.ac b/configure.ac index d886232..a7dde2f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,16 +64,10 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -<<<<<<< HEAD (8d1500 trau_sync: make sync pattern configurable) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.1.0) -======= PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) ->>>>>>> BRANCH (2a8a34 Bump version: 0.8.0.59-1f92-dirty ? 1.0.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.4.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b Gerrit-Change-Number: 19619 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 Aug 13 10:24:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:24:46 +0000 Subject: Change in libosmo-abis[master]: Merge branch '1.0.0' into master In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19619 ) Change subject: Merge branch '1.0.0' into master ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b Gerrit-Change-Number: 19619 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 10:24:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 10:26:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:26:57 +0000 Subject: =?UTF-8?Q?Change_in_osmo-ggsn=5Bmaster=5D=3A_Bump_version=3A_1=2E5=2E0=2E37-d08a_=E2=86=92_1=2E6=2E0?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 ) Change subject: Bump version: 1.5.0.37-d08a ? 1.6.0 ...................................................................... Bump version: 1.5.0.37-d08a ? 1.6.0 Change-Id: I2248595ca11f4d808d38a9e25e7c3d3b64134427 --- M debian/changelog 1 file changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/20/19620/1 diff --git a/debian/changelog b/debian/changelog index 6b8a313..445e75c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,60 @@ +osmo-ggsn (1.6.0) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * cosmetic: Fix comment typo + * netns: Improve error checking + * sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() + * sgsnemu: Pass array of in64_addr to in46a_from_eua() + * sgsnemu: Rename sgsnemu's libgtp cb_conf + * sgsnemu: Set its default loglevel category to INFO + * Move icmpv6 and checksum files from ggsn/ dir to lib/ + * netdev_addaddr6: Use prefixlen arg + * sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface + * sgsnemu: Fix ping transmitted statistics output + * cosmetic: icmpv6.c: fix typo in comment + * icmpv6.c: Mark internal function as static + * sgsnemu: Get rid of duplicated options.destaddr + * sgsnemu: Get rid of duplicated options.net + * sgsnemu: tun_addaddr: Don't set local addr as dstaddr + * icmpv6.c: Move code generating ipv6 hdr to its own function + * Rename netdev_*route to end in route4 + * sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) + * sgsnemu: Handle IPv6 SLAAC in tun iface manually + * sgsnemu: Implement ping on IPv6 APNs + * sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix + * gtp: queue_test: Fix printf gcc warn under ARM + + [ Andreas Schultz ] + * add Linux network namespace support for TUN device + + [ Vadim Yanitskiy ] + * lib/netns: fix open_ns(): return fd from open() + + [ Philipp Maier ] + * doc: do not use random ip address for dns in default conf + * doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. + * debug: use LOGL_NOTICE instead of LOGL_DEBUG + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Harald Welte ] + * lib/netns.c: Add comments to the code, including doxygen API docs + * lib/netns: OSMO_ASSERT() if user doesn't call init_netns() + * lib/netns: Fix up error paths + * example config: use RFC1918 addresses for GGSN pools + + [ Dmitri Kalashnik ] + * sgsnemu: use real tun device name after the device is up. + + [ Oliver Smith ] + * osmo-ggsn.spec.in: remove + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + -- Harald Welte Thu, 13 Aug 2020 12:26:20 +0200 + osmo-ggsn (1.5.0) unstable; urgency=medium [ Jan Engelhardt ] -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2248595ca11f4d808d38a9e25e7c3d3b64134427 Gerrit-Change-Number: 19620 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 Aug 13 10:27:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:27:10 +0000 Subject: Change in libosmo-abis[master]: Merge branch '1.0.0' into master In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19619 ) Change subject: Merge branch '1.0.0' into master ...................................................................... Merge branch '1.0.0' into master We tagged 1.0.0 off a non-master version in the commit history in order to keep the new TRAU frame handling out of the 1.0.0 release, but to have all of the other fixes in a tagged release. This merge brings master in sync with those changes. Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b --- M configure.ac 2 files changed, 1 insertion(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index d886232..a7dde2f 100644 --- a/configure.ac +++ b/configure.ac @@ -64,16 +64,10 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -<<<<<<< HEAD (8d1500 trau_sync: make sync pattern configurable) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.1.0) -======= PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) ->>>>>>> BRANCH (2a8a34 Bump version: 0.8.0.59-1f92-dirty ? 1.0.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.4.0) PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0) AC_ARG_ENABLE([dahdi], -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b Gerrit-Change-Number: 19619 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 10:32:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:32:10 +0000 Subject: =?UTF-8?Q?Change_in_osmo-ggsn=5Bmaster=5D=3A_Bump_version=3A_1=2E5=2E0=2E37-d08a_=E2=86=92_1=2E6=2E0?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 ) Change subject: Bump version: 1.5.0.37-d08a ? 1.6.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2248595ca11f4d808d38a9e25e7c3d3b64134427 Gerrit-Change-Number: 19620 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 10:32: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 Aug 13 10:32:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:32:12 +0000 Subject: =?UTF-8?Q?Change_in_osmo-ggsn=5Bmaster=5D=3A_Bump_version=3A_1=2E5=2E0=2E37-d08a_=E2=86=92_1=2E6=2E0?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 ) Change subject: Bump version: 1.5.0.37-d08a ? 1.6.0 ...................................................................... Bump version: 1.5.0.37-d08a ? 1.6.0 Change-Id: I2248595ca11f4d808d38a9e25e7c3d3b64134427 --- M debian/changelog 1 file changed, 57 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 6b8a313..445e75c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,60 @@ +osmo-ggsn (1.6.0) unstable; urgency=medium + + [ Pau Espin Pedrol ] + * cosmetic: Fix comment typo + * netns: Improve error checking + * sgsnemu: cmdline: Drop unused function cmdline_parser_params_create() + * sgsnemu: Pass array of in64_addr to in46a_from_eua() + * sgsnemu: Rename sgsnemu's libgtp cb_conf + * sgsnemu: Set its default loglevel category to INFO + * Move icmpv6 and checksum files from ggsn/ dir to lib/ + * netdev_addaddr6: Use prefixlen arg + * sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface + * sgsnemu: Fix ping transmitted statistics output + * cosmetic: icmpv6.c: fix typo in comment + * icmpv6.c: Mark internal function as static + * sgsnemu: Get rid of duplicated options.destaddr + * sgsnemu: Get rid of duplicated options.net + * sgsnemu: tun_addaddr: Don't set local addr as dstaddr + * icmpv6.c: Move code generating ipv6 hdr to its own function + * Rename netdev_*route to end in route4 + * sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support) + * sgsnemu: Handle IPv6 SLAAC in tun iface manually + * sgsnemu: Implement ping on IPv6 APNs + * sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix + * gtp: queue_test: Fix printf gcc warn under ARM + + [ Andreas Schultz ] + * add Linux network namespace support for TUN device + + [ Vadim Yanitskiy ] + * lib/netns: fix open_ns(): return fd from open() + + [ Philipp Maier ] + * doc: do not use random ip address for dns in default conf + * doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. + * debug: use LOGL_NOTICE instead of LOGL_DEBUG + + [ Eric ] + * configure.ac: fix libtool issue with clang and sanitizer + + [ Harald Welte ] + * lib/netns.c: Add comments to the code, including doxygen API docs + * lib/netns: OSMO_ASSERT() if user doesn't call init_netns() + * lib/netns: Fix up error paths + * example config: use RFC1918 addresses for GGSN pools + + [ Dmitri Kalashnik ] + * sgsnemu: use real tun device name after the device is up. + + [ Oliver Smith ] + * osmo-ggsn.spec.in: remove + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + -- Harald Welte Thu, 13 Aug 2020 12:26:20 +0200 + osmo-ggsn (1.5.0) unstable; urgency=medium [ Jan Engelhardt ] -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2248595ca11f4d808d38a9e25e7c3d3b64134427 Gerrit-Change-Number: 19620 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 10:38:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 10:38:30 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sip-connector=5Bmaster=5D=3A_Bump_version=3A_1=2E4=2E0=2E3-e02b_=E2=86=92_1=2E4=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 ) Change subject: Bump version: 1.4.0.3-e02b ? 1.4.1 ...................................................................... Bump version: 1.4.0.3-e02b ? 1.4.1 Change-Id: I66c64cae47e32a16ef605348d02884172ef04d70 --- M debian/changelog 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/21/19621/1 diff --git a/debian/changelog b/debian/changelog index 0391941..c983128 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +osmo-sip-connector (1.4.1) unstable; urgency=medium + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + -- Harald Welte Thu, 13 Aug 2020 12:38:16 +0200 + osmo-sip-connector (1.4.0) unstable; urgency=medium [ Keith ] -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I66c64cae47e32a16ef605348d02884172ef04d70 Gerrit-Change-Number: 19621 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 Aug 13 11:35:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 11:35:42 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: do not create unused directory References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19622 ) Change subject: ttcn3-bts-test/jenkins.sh: do not create unused directory ...................................................................... ttcn3-bts-test/jenkins.sh: do not create unused directory Change-Id: I01efad7f86723301807237d9fae515e82cae125b --- M ttcn3-bts-test/jenkins.sh 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/22/19622/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 6f37e54..32b8f05 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -104,7 +104,6 @@ network_create 172.18.9.0/24 mkdir $VOL_BASE_DIR/bts-tester -mkdir $VOL_BASE_DIR/bts-tester/unix cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ # Work around for a bug in osmo-bts when all transceivers use IPAC_PROTO_RSL_TRX0. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I01efad7f86723301807237d9fae515e82cae125b Gerrit-Change-Number: 19622 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 Aug 13 11:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 11:35:43 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic, oml, virtphy, hopping} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19623 ) Change subject: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} ...................................................................... ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} Let's use separate directories to store the artifacts of different TTCN-3 test case groups. This would prevent the test suite from overwriting *.log and *.pcap files when running both generic and hopping configurations together, and simplify the overall hierarchy. Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/23/19623/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 32b8f05..7f1f9d9 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -90,11 +90,12 @@ start_testsuite() { echo Starting container with BTS testsuite + variant=$1 # e.g 'generic', 'oml', 'hopping' docker run --rm \ --network $NET_NAME --ip 172.18.9.10 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ - -v $VOL_BASE_DIR/bts-tester:/data \ + -v $VOL_BASE_DIR/bts-tester-${variant}:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-bts-test \ $DOCKER_ARGS \ @@ -103,14 +104,17 @@ network_create 172.18.9.0/24 -mkdir $VOL_BASE_DIR/bts-tester -cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ +mkdir $VOL_BASE_DIR/bts-tester-{generic,oml,virtphy,hopping} +cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-generic/ +cp virtphy/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-oml/ +cp oml/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-virtphy/ +cp fh/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-hopping/ # Work around for a bug in osmo-bts when all transceivers use IPAC_PROTO_RSL_TRX0. # Enables patching of IPA stream ID. TODO: remove as soon as we make a new release. if [ "$IMAGE_SUFFIX" = "latest" ]; then sed "s/RSL_Emulation.mp_rslem_patch_ipa_cid := false/RSL_Emulation.mp_rslem_patch_ipa_cid := true/g" -i \ - "$VOL_BASE_DIR/bts-tester/BTS_Tests.cfg" + "$VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg" fi mkdir $VOL_BASE_DIR/bsc @@ -131,7 +135,7 @@ start_bts trx 0 start_fake_trx start_trxcon -start_testsuite +start_testsuite generic # 2) some GPRS tests require virt_phy echo "Changing to virtphy configuration" @@ -143,8 +147,7 @@ start_bts virtual 0 start_virtphy # ... and execute the testsuite again with different cfg -cp virtphy/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ -#start_testsuite +#start_testsuite virtphy # 3) OML tests require us to run without BSC docker container kill ${BUILD_TAG}-bsc @@ -156,21 +159,19 @@ start_fake_trx start_trxcon # ... and execute the testsuite again with different cfg -cp oml/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ -start_testsuite +start_testsuite oml # 4) Frequency hopping tests require different configuration files -cp fh/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ cp fh/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ cp osmo-bts.cfg $VOL_BASE_DIR/bts/ # restart the BSC/BTS and run the testsuite again docker container kill ${BUILD_TAG}-bts start_bsc start_bts trx 0 -start_testsuite +start_testsuite hopping # rename the test results, so they appear as 'BTS_Tests:hopping' in Jenkins sed -i "s#classname='BTS_Tests'#classname='BTS_Tests:hopping'#g" \ - $VOL_BASE_DIR/bts-tester/junit-xml-hopping-*.log + $VOL_BASE_DIR/bts-tester-hopping/junit-xml-hopping-*.log echo Stopping containers docker container kill ${BUILD_TAG}-trxcon -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Gerrit-Change-Number: 19623 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 Aug 13 11:35:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 11:35:44 +0000 Subject: Change in docker-playground[master]: fixup ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: fixup ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases ...................................................................... fixup ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases Include the correct configuration file, not the one from the image. Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg M ttcn3-bts-test/jenkins.sh 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/24/19624/1 diff --git a/ttcn3-bts-test/fh/BTS_Tests.cfg b/ttcn3-bts-test/fh/BTS_Tests.cfg index e0c3dff..74bface 100644 --- a/ttcn3-bts-test/fh/BTS_Tests.cfg +++ b/ttcn3-bts-test/fh/BTS_Tests.cfg @@ -1,5 +1,5 @@ [ORDERED_INCLUDE] -"/osmo-ttcn3-hacks/bts/BTS_Tests.cfg" +"BTS_Tests.cfg.inc" [LOGGING] *.JUnitLogger.filename_stem := "junit-xml-hopping" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 7f1f9d9..df4f1f0 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -117,6 +117,9 @@ "$VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg" fi +cp $VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg \ + $VOL_BASE_DIR/bts-tester-hopping/BTS_Tests.cfg.inc + mkdir $VOL_BASE_DIR/bsc cp osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 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 Aug 13 11:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 11:49:32 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sip-connector=5Bmaster=5D=3A_Bump_version=3A_1=2E4=2E0=2E3-e02b_=E2=86=92_1=2E4=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 ) Change subject: Bump version: 1.4.0.3-e02b ? 1.4.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I66c64cae47e32a16ef605348d02884172ef04d70 Gerrit-Change-Number: 19621 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 11:49: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 Aug 13 11:49:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 11:49:36 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sip-connector=5Bmaster=5D=3A_Bump_version=3A_1=2E4=2E0=2E3-e02b_=E2=86=92_1=2E4=2E1?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 ) Change subject: Bump version: 1.4.0.3-e02b ? 1.4.1 ...................................................................... Bump version: 1.4.0.3-e02b ? 1.4.1 Change-Id: I66c64cae47e32a16ef605348d02884172ef04d70 --- M debian/changelog 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 0391941..c983128 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +osmo-sip-connector (1.4.1) unstable; urgency=medium + + [ Oliver Smith ] + * contrib: import RPM spec + * contrib: integrate RPM spec + * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in + + -- Harald Welte Thu, 13 Aug 2020 12:38:16 +0200 + osmo-sip-connector (1.4.0) unstable; urgency=medium [ Keith ] -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I66c64cae47e32a16ef605348d02884172ef04d70 Gerrit-Change-Number: 19621 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 11:59:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 11:59:12 +0000 Subject: Change in docker-playground[master]: fixup ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: fixup ttcn3-bts-test/jenkins.sh: enable frequency hopping test cases ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 11:59:12 +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 Aug 13 12:01:42 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 12:01:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <5f352bc56aab9_74bf2aebd44c46005738a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 88s] checking for libosmocore >= 1.1.0... yes [ 88s] checking for libosmogsm >= 1.1.0... yes [ 89s] checking for libosmoctrl >= 1.1.0... yes [ 89s] checking for libosmovty >= 1.1.0... yes [ 89s] checking for libosmo-netif >= 0.6.0... yes [ 89s] checking for libosmoabis >= 0.6.0... yes [ 89s] checking for libosmotrau >= 0.6.0... no [ 89s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 89s] [ 89s] No package 'libosmotrau' found [ 89s] [ 89s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 89s] installed software in a non-standard prefix. [ 89s] [ 89s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 89s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 89s] See the pkg-config man page for more details. [ 89s] error: Bad exit status from /var/tmp/rpm-tmp.OAU7YI (%build) [ 89s] [ 89s] [ 89s] RPM build errors: [ 89s] Bad exit status from /var/tmp/rpm-tmp.OAU7YI (%build) [ 89s] ### VM INTERACTION START ### [ 92s] [ 75.444291] sysrq: SysRq : Power Off [ 92s] [ 75.460063] reboot: Power down [ 92s] ### VM INTERACTION END ### [ 92s] [ 92s] obs-arm-5 failed "build osmo-mgw.spec" at Thu Aug 13 12:01:28 UTC 2020. [ 92s] -- 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 Aug 13 12:33:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 12:33:51 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19624 to look at the new patch set (#2). Change subject: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg ...................................................................... ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg Include the correct configuration file, not the one from the image. Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg M ttcn3-bts-test/jenkins.sh 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/24/19624/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 12:33:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 12:33:53 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice ...................................................................... ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice Apparently, TITAN concatenates the contents of all sections, so we end up with the following set of test cases: [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control BTS_Tests_LAPDm.control BTS_Tests.control Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/25/19625/1 diff --git a/ttcn3-bts-test/fh/BTS_Tests.cfg b/ttcn3-bts-test/fh/BTS_Tests.cfg index 74bface..b6cd28a 100644 --- a/ttcn3-bts-test/fh/BTS_Tests.cfg +++ b/ttcn3-bts-test/fh/BTS_Tests.cfg @@ -133,6 +133,3 @@ } } }; - -[EXECUTE] -BTS_Tests.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 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 Aug 13 12:54:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 12:54:36 +0000 Subject: Change in osmo-bsc[master]: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19626 ) Change subject: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 ...................................................................... cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/19626/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index ec8a4df..e3976eb 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -657,7 +657,7 @@ osmo_fsm_inst_dispatch(conn->lchan->fi_rtp, LCHAN_RTP_EV_ESTABLISHED, 0); if (old_lchan && (old_lchan != new_lchan)) - gscon_release_lchan(conn, old_lchan, false, false, 0); + gscon_release_lchan(conn, old_lchan, false, false, GSM48_RR_CAUSE_NORMAL); } void gscon_lchan_releasing(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 Gerrit-Change-Number: 19626 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 12:54:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 12:54:37 +0000 Subject: Change in osmo-bsc[master]: gscon timeout: use proper cause code for lchan release References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19627 ) Change subject: gscon timeout: use proper cause code for lchan release ...................................................................... gscon timeout: use proper cause code for lchan release Since we verify the cause code of the RSL channel release in ttcn3-bsc-tests, BSC_Tests.TC_chan_act_ack_est_ind_noreply shows an invalid release cause code of 127. Fix that. On gscon timeout, don't send the unrelated RSL code RSL_ERR_INTERWORKING, but a proper RR cause code. GSM48_RR_CAUSE_ABNORMAL_TIMER is defined as the proper cause for an expired timer (3GPP TS 44.018 10.5.2.31). Should fix this error in BSC_Tests.TC_chan_act_ack_est_ind_noreply: BSC_Tests.ttcn:1590 Dynamic test case error: Assigning invalid numeric value 127 to a variable of enumerated type @GSM_RR_Types.RR_Cause. Change-Id: Ic2e4b692e78f7b134fe57d1077a08adb48398e06 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/19627/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index e3976eb..6a35c75 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -866,7 +866,7 @@ switch (fi->T) { case 993210: - gscon_release_lchan(conn, conn->lchan, true, true, RSL_ERR_INTERWORKING); + gscon_release_lchan(conn, conn->lchan, true, true, GSM48_RR_CAUSE_ABNORMAL_TIMER); /* MSC has not responded/confirmed connection with CC, this * could indicate a bad SCCP connection. We now inform the the -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2e4b692e78f7b134fe57d1077a08adb48398e06 Gerrit-Change-Number: 19627 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 12:54:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 12:54:41 +0000 Subject: Change in osmo-bsc[master]: debug log: add RR Release cause code to the log References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19628 ) Change subject: debug log: add RR Release cause code to the log ...................................................................... debug log: add RR Release cause code to the log Change-Id: I53d524b5521804d80463079fa2e20221ee1b15f1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/19628/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 8bf4b2a..69ec4d3 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -319,8 +319,8 @@ msgb_tlv_put(msg, GSM48_IE_CELL_SEL_IND_AFTER_REL, len, buf); } - DEBUGP(DRR, "Sending Channel Release: Chan: Number: %d Type: %d\n", - lchan->nr, lchan->type); + DEBUGP(DRR, "Sending Channel Release: Chan: Number: %d Type: %d RR-Cause: 0x%x '%s'\n", + lchan->nr, lchan->type, lchan->release.rr_cause, rr_cause_name(lchan->release.rr_cause)); /* Send actual release request to MS */ return gsm48_sendmsg(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53d524b5521804d80463079fa2e20221ee1b15f1 Gerrit-Change-Number: 19628 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 12:54:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 12:54:42 +0000 Subject: Change in osmo-bsc[master]: info, error log: show MSC nr for new conn References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19629 ) Change subject: info, error log: show MSC nr for new conn ...................................................................... info, error log: show MSC nr for new conn Change-Id: I0a7e0a638515f48d49e2d2e1d905d9e574994fd5 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/19629/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index de4be26..57a4da5 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -304,11 +304,11 @@ ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC: %s...\n", - osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); + LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC %d: %s...\n", + msc->nr, osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); if (a_reset_conn_ready(msc) == false) { - LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); + LOGP(DMSC, LOGL_ERROR, "MSC %d is not connected. Dropping.\n", msc->nr); return BSC_CON_REJECT_NO_LINK; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0a7e0a638515f48d49e2d2e1d905d9e574994fd5 Gerrit-Change-Number: 19629 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 12:56:24 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 12:56:24 +0000 Subject: Change in osmo-bsc[master]: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19626 ) Change subject: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 ...................................................................... Patch Set 1: Code-Review+2 triviality +2, no need to spend time reviewing -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 Gerrit-Change-Number: 19626 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Aug 2020 12:56: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 Aug 13 13:08:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 13:08:51 +0000 Subject: Change in docker-playground[master]: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19630 ) Change subject: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH Fix the TC_si2quater_* test fallout. When adjusting the bsc AoIP test config, forgot to also adjust the SCCPlite test suite config, which caused fallout in the SCCPlite tests. Related: Idbcc703ace7012fb395f0eef3e445df28b368d74 (docker-playground) Related: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b (osmo-ttcn3-hacks) Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a --- M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/30/19630/1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0f5b520..8d52884 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -134,7 +134,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -224,7 +224,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -314,7 +314,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a Gerrit-Change-Number: 19630 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 13:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 13:10:41 +0000 Subject: Change in docker-playground[master]: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19630 ) Change subject: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 1: Code-Review+2 triviality +2: this is the same patch as Idbcc703ace7012fb395f0eef3e445df28b368d74 but applied to the SCCPlite test suite, which should have been part of the original patch. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a Gerrit-Change-Number: 19630 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 13:10: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 Aug 13 13:10:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 13:10:52 +0000 Subject: Change in docker-playground[master]: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19630 ) Change subject: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a Gerrit-Change-Number: 19630 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 13: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 Thu Aug 13 13:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 13:10:56 +0000 Subject: Change in docker-playground[master]: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19630 ) Change subject: bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH ...................................................................... bsc-sccplite CBSP: fix osmo-bsc.cfg to contain 3 BTS with a CBCH Fix the TC_si2quater_* test fallout. When adjusting the bsc AoIP test config, forgot to also adjust the SCCPlite test suite config, which caused fallout in the SCCPlite tests. Related: Idbcc703ace7012fb395f0eef3e445df28b368d74 (docker-playground) Related: Iac46ee2cc5bc0978d5f5baa550baf493a7c56b1b (osmo-ttcn3-hacks) Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a --- M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: neels: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0f5b520..8d52884 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -134,7 +134,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -224,7 +224,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -314,7 +314,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I810ff6f89d722e7274046c360a2cbebf6f6ee53a Gerrit-Change-Number: 19630 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 13:18:14 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:18:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 to look at the new patch set (#2). Change subject: Add parsing and checking of StatsD metrics ...................................................................... Add parsing and checking of StatsD metrics Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Related: SYS#4877 --- A library/StatsD_Checker.ttcn A library/StatsD_CodecPort.ttcn A library/StatsD_CodecPort_CtrlFunct.ttcn A library/StatsD_CodecPort_CtrlFunctdef.cc A library/StatsD_Types.ttcn 5 files changed, 496 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/19581/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 Aug 13 13:18:14 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:18:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 to look at the new patch set (#2). Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... bsc: Add statsd checker and use it in TC_assignment_sign Related: SYS#4877 Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d --- M bsc/BSC_Tests.default M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/README.md M bsc/gen_links.sh M bsc/osmo-bsc.cfg M bsc/regen_makefile.sh 7 files changed, 48 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/19582/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 Aug 13 13:18:23 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:18:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 ) Change subject: Add parsing and checking of StatsD metrics ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn File library/StatsD_Checker.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 48 PS1, Line 48: record of > could probably be a 'set of', as 'record of' means ordering is strict/required? not critical. Done, also with StatsDExpectPrivs below https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 91 PS1, Line 91: var StatsD_ConnHdlr vc_conn; : > whitespace? Done https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Checker.ttcn at 99 PS1, Line 99: map(self:STATS, system:STATS); : S > whitespace? Done https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Types.ttcn File library/StatsD_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581/1/library/StatsD_Types.ttcn at 17 PS1, Line 17: va > ws Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 13:18:23 +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 Aug 13 13:18:30 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:18:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 ) Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582/1/bsc/BSC_Tests.ttcn at 788 PS1, Line 788: : function f_init_statsd(charstring id) runs on test_CT { : id := id & "-STATS"; : : vc_STATSD := StatsD_Checker_CT.create(id); : vc_STATSD.start(StatsD_Checker.main(mp_test_ip, mp_bsc_statsd_port)); : } > this could become part of the statsd module, so we don't have to replicate it in every bts/bsc/msc/. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 13:18:30 +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 Aug 13 13:19:02 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:19:02 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19583 to look at the new patch set (#2). Change subject: Update bsc tester config to enable stats testing ...................................................................... Update bsc tester config to enable stats testing Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Related: SYS#4877 Depends: I8526b645dc4af59adcc1855699421a026f505c1d (osmo-ttcn3-hacks) --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 6 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/83/19583/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 13:21:44 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 13:21:44 +0000 Subject: Change in docker-playground[master]: Enable IPv6 in docker networking In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19572 ) Change subject: Enable IPv6 in docker networking ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 Gerrit-Change-Number: 19572 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 13:21:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 13:28:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 13:28:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 ) Change subject: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' ...................................................................... bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' Keep a local next_idx so that lengthof() doesn't fail after adding a '*' entry. Fixes this error in BSC_Tests_CBSP.TC_cbsp_write_then_kill: Dynamic test case error: Performing lengthof() operation on a template of type @CBSP_Types.CBSP_IEs with no exact length. Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 --- M library/CBSP_Templates.ttcn 1 file changed, 15 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/19631/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 49906fe..8d62742 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -581,20 +581,29 @@ tr_CbspMsgId(msg_id), tr_OldSerNo(old_ser_nr) }; + /* As soon as adding a '*' IE item, lengthof() no longer works on the ies record. So keep track of the + * next index to use separately. */ + var integer next_idx := lengthof(ies); if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + ies[next_idx] := tr_CbspNumComplList(compl_list); + next_idx := next_idx + 1; } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := tr_CbspCellList(cell_list); + ies[next_idx] := tr_CbspCellList(cell_list); + next_idx := next_idx + 1; } if (istemplatekind(channel_ind, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(channel_ind, "omit")) { - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + ies[next_idx] := tr_CbspChannelInd(channel_ind); + next_idx := next_idx + 1; } return tr_CBSP(CBSP_MSGT_KILL_COMPL, ies); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 Gerrit-Change-Number: 19631 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Aug 13 13:52:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 13:52:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f3545c3ad9d5_74bf2aebd44c460060885f@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: [ 158s] checking for LIBOSMOCORE... yes [ 158s] checking for LIBOSMOGSM... yes [ 159s] checking for LIBOSMOCTRL... yes [ 159s] checking for LIBOSMOVTY... yes [ 159s] checking for LIBOSMONETIF... yes [ 159s] checking for LIBOSMOABIS... yes [ 159s] checking for LIBOSMOTRAU... no [ 159s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 159s] [ 159s] Package 'libosmotrau', required by 'virtual:world', not found [ 159s] [ 159s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 159s] installed software in a non-standard prefix. [ 159s] [ 159s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 159s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 159s] See the pkg-config man page for more details. [ 160s] error: Bad exit status from /var/tmp/rpm-tmp.Vc87gx (%build) [ 160s] [ 160s] [ 160s] RPM build errors: [ 160s] Bad exit status from /var/tmp/rpm-tmp.Vc87gx (%build) [ 160s] ### VM INTERACTION START ### [ 163s] [ 142.132377] sysrq: Power Off [ 163s] [ 142.163056] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] obs-arm-5 failed "build osmo-mgw.spec" at Thu Aug 13 13:52:09 UTC 2020. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 13 13:56:07 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 13:56:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f354697b75e0_74bf2aebd44c460061108f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 392s] [COMPILING libboard/qmod/source/i2c.c] [ 392s] [COMPILING libboard/qmod/source/board_qmod.c] [ 393s] [COMPILING apps/dfu/main.c] [ 393s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 394s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 394s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 395s] Memory region Used Size Region Size %age Used [ 395s] rom: 16584 B 16 KB 101.22% [ 395s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 395s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 395s] collect2: error: ld returned 1 exit status [ 395s] % [ 395s] Makefile:234: recipe for target 'flash' failed [ 395s] make[2]: *** [flash] Error 1 [ 395s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 395s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 395s] make[1]: *** [fw-qmod-dfu] Error 2 [ 395s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 395s] dh_auto_build: make -j1 returned exit code 2 [ 395s] debian/rules:16: recipe for target 'build' failed [ 395s] make: *** [build] Error 2 [ 395s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 395s] ### VM INTERACTION START ### [ 398s] [ 377.938995] sysrq: SysRq : Power Off [ 398s] [ 377.947242] reboot: Power down [ 399s] ### VM INTERACTION END ### [ 399s] [ 399s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 13:55:53 UTC 2020. [ 399s] -- 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 Aug 13 14:04:05 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 14:04:05 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19583 to look at the new patch set (#3). Change subject: Update bsc tester config to enable stats testing ...................................................................... Update bsc tester config to enable stats testing Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Related: SYS#4877 Depends: I8526b645dc4af59adcc1855699421a026f505c1d (osmo-ttcn3-hacks) --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 7 files changed, 46 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/83/19583/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:09:40 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 14:09:40 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Patch Set 4: Verified+1 Worked for me both with IMAGE_SUFFIX=latest" and "master" running jenkins.sh and jenkins-sccplite.sh running TC_assignment_sign -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:09:40 +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 Aug 13 14:47:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 14:47:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f3552a79f749_74bf2aebd44c46006212f8@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: [ 366s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 366s] [COMPILING libboard/qmod/source/card_pres.c] [ 367s] [COMPILING libboard/qmod/source/wwan_led.c] [ 367s] [COMPILING libboard/qmod/source/i2c.c] [ 367s] [COMPILING libboard/qmod/source/board_qmod.c] [ 368s] [COMPILING apps/dfu/main.c] [ 368s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 369s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 369s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 370s] Memory region Used Size Region Size %age Used [ 370s] rom: 16504 B 16 KB 100.73% [ 370s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 370s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 370s] collect2: error: ld returned 1 exit status [ 370s] % [ 370s] make[2]: *** [Makefile:234: flash] Error 1 [ 370s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 370s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 370s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 370s] dh_auto_build: make -j1 returned exit code 2 [ 370s] make: *** [debian/rules:16: build] Error 2 [ 370s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 370s] ### VM INTERACTION START ### [ 373s] [ 346.502402] sysrq: SysRq : Power Off [ 373s] [ 346.509938] reboot: Power down [ 373s] ### VM INTERACTION END ### [ 373s] [ 373s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 14:47:35 UTC 2020. [ 373s] -- 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 Aug 13 14:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:52:59 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:53:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:53:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 ) Change subject: Add parsing and checking of StatsD metrics ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:53:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:54:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:54:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 ) Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:54:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:54:52 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: do not create unused directory In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19622 ) Change subject: ttcn3-bts-test/jenkins.sh: do not create unused directory ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I01efad7f86723301807237d9fae515e82cae125b Gerrit-Change-Number: 19622 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14: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 Thu Aug 13 14:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:55:42 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 14:55:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:56:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:56:09 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14: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 Thu Aug 13 14:56:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:56:13 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 14:56: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 Aug 13 14:56:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:56:35 +0000 Subject: Change in osmo-bsc[master]: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19626 ) Change subject: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 Gerrit-Change-Number: 19626 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 14:56: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 Aug 13 14:57:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:04 +0000 Subject: Change in osmo-bsc[master]: gscon timeout: use proper cause code for lchan release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19627 ) Change subject: gscon timeout: use proper cause code for lchan release ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2e4b692e78f7b134fe57d1077a08adb48398e06 Gerrit-Change-Number: 19627 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:57:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:57:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:19 +0000 Subject: Change in osmo-bsc[master]: debug log: add RR Release cause code to the log In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19628 ) Change subject: debug log: add RR Release cause code to the log ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53d524b5521804d80463079fa2e20221ee1b15f1 Gerrit-Change-Number: 19628 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:57:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:57:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:34 +0000 Subject: Change in osmo-bsc[master]: info, error log: show MSC nr for new conn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19629 ) Change subject: info, error log: show MSC nr for new conn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0a7e0a638515f48d49e2d2e1d905d9e574994fd5 Gerrit-Change-Number: 19629 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:57:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:37 +0000 Subject: Change in osmo-bsc[master]: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19626 ) Change subject: cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 ...................................................................... cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: neels: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index ec8a4df..e3976eb 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -657,7 +657,7 @@ osmo_fsm_inst_dispatch(conn->lchan->fi_rtp, LCHAN_RTP_EV_ESTABLISHED, 0); if (old_lchan && (old_lchan != new_lchan)) - gscon_release_lchan(conn, old_lchan, false, false, 0); + gscon_release_lchan(conn, old_lchan, false, false, GSM48_RR_CAUSE_NORMAL); } void gscon_lchan_releasing(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0e23bbc5506e9be3e0682c4dab5b9ecb91cf477 Gerrit-Change-Number: 19626 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:38 +0000 Subject: Change in osmo-bsc[master]: gscon timeout: use proper cause code for lchan release In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19627 ) Change subject: gscon timeout: use proper cause code for lchan release ...................................................................... gscon timeout: use proper cause code for lchan release Since we verify the cause code of the RSL channel release in ttcn3-bsc-tests, BSC_Tests.TC_chan_act_ack_est_ind_noreply shows an invalid release cause code of 127. Fix that. On gscon timeout, don't send the unrelated RSL code RSL_ERR_INTERWORKING, but a proper RR cause code. GSM48_RR_CAUSE_ABNORMAL_TIMER is defined as the proper cause for an expired timer (3GPP TS 44.018 10.5.2.31). Should fix this error in BSC_Tests.TC_chan_act_ack_est_ind_noreply: BSC_Tests.ttcn:1590 Dynamic test case error: Assigning invalid numeric value 127 to a variable of enumerated type @GSM_RR_Types.RR_Cause. Change-Id: Ic2e4b692e78f7b134fe57d1077a08adb48398e06 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index e3976eb..6a35c75 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -866,7 +866,7 @@ switch (fi->T) { case 993210: - gscon_release_lchan(conn, conn->lchan, true, true, RSL_ERR_INTERWORKING); + gscon_release_lchan(conn, conn->lchan, true, true, GSM48_RR_CAUSE_ABNORMAL_TIMER); /* MSC has not responded/confirmed connection with CC, this * could indicate a bad SCCP connection. We now inform the the -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2e4b692e78f7b134fe57d1077a08adb48398e06 Gerrit-Change-Number: 19627 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 13 14:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:38 +0000 Subject: Change in osmo-bsc[master]: debug log: add RR Release cause code to the log In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19628 ) Change subject: debug log: add RR Release cause code to the log ...................................................................... debug log: add RR Release cause code to the log Change-Id: I53d524b5521804d80463079fa2e20221ee1b15f1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 8bf4b2a..69ec4d3 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -319,8 +319,8 @@ msgb_tlv_put(msg, GSM48_IE_CELL_SEL_IND_AFTER_REL, len, buf); } - DEBUGP(DRR, "Sending Channel Release: Chan: Number: %d Type: %d\n", - lchan->nr, lchan->type); + DEBUGP(DRR, "Sending Channel Release: Chan: Number: %d Type: %d RR-Cause: 0x%x '%s'\n", + lchan->nr, lchan->type, lchan->release.rr_cause, rr_cause_name(lchan->release.rr_cause)); /* Send actual release request to MS */ return gsm48_sendmsg(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I53d524b5521804d80463079fa2e20221ee1b15f1 Gerrit-Change-Number: 19628 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 13 14:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:57:38 +0000 Subject: Change in osmo-bsc[master]: info, error log: show MSC nr for new conn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19629 ) Change subject: info, error log: show MSC nr for new conn ...................................................................... info, error log: show MSC nr for new conn Change-Id: I0a7e0a638515f48d49e2d2e1d905d9e574994fd5 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index de4be26..57a4da5 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -304,11 +304,11 @@ ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC: %s...\n", - osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); + LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC %d: %s...\n", + msc->nr, osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); if (a_reset_conn_ready(msc) == false) { - LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); + LOGP(DMSC, LOGL_ERROR, "MSC %d is not connected. Dropping.\n", msc->nr); return BSC_CON_REJECT_NO_LINK; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0a7e0a638515f48d49e2d2e1d905d9e574994fd5 Gerrit-Change-Number: 19629 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 13 14:58:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:58:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 ) Change subject: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 Gerrit-Change-Number: 19631 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14: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 Thu Aug 13 14:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:58:52 +0000 Subject: Change in libasn1c[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libasn1c/+/19595 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/19595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ib039e0f4a8bfd713ed1df99119c21471af8fc00c Gerrit-Change-Number: 19595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:58:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:58:54 +0000 Subject: Change in libasn1c[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libasn1c/+/19595 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ib039e0f4a8bfd713ed1df99119c21471af8fc00c --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 32b93e3..3b392be 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: libasn1c Section: libs Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, libtalloc-dev -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/19595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ib039e0f4a8bfd713ed1df99119c21471af8fc00c Gerrit-Change-Number: 19595 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 Thu Aug 13 14:59:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:03 +0000 Subject: Change in osmo-trx[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19611 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78 Gerrit-Change-Number: 19611 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59: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 Aug 13 14:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:05 +0000 Subject: Change in osmo-trx[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19611 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index de4be16..31c738e 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-trx Section: net Priority: optional -Maintainer: Ivan Klyuchnikov +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), autotools-dev, autoconf-archive, -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78 Gerrit-Change-Number: 19611 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 Thu Aug 13 14:59:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:10 +0000 Subject: Change in osmo-msc[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19607 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c4e1749e6b4903877962b2da87be472e63c8de0 Gerrit-Change-Number: 19607 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14: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 Thu Aug 13 14:59:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:13 +0000 Subject: Change in osmo-msc[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19607 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I8c4e1749e6b4903877962b2da87be472e63c8de0 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 2725764..606fbaf 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-msc Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, autotools-dev, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c4e1749e6b4903877962b2da87be472e63c8de0 Gerrit-Change-Number: 19607 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 Thu Aug 13 14:59:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:16 +0000 Subject: Change in osmo-iuh[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19605 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If6e115ca23ae29696edf74ae010035e85aaa085c Gerrit-Change-Number: 19605 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59: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 Aug 13 14:59:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:19 +0000 Subject: Change in osmo-iuh[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19605 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: If6e115ca23ae29696edf74ae010035e85aaa085c --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 4d66d18..416b9d7 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-iuh Section: libs Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If6e115ca23ae29696edf74ae010035e85aaa085c Gerrit-Change-Number: 19605 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 Thu Aug 13 14:59:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:23 +0000 Subject: Change in osmo-sgsn[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic6956c4d5cc9913c06b9e293dc5bb156f6510285 Gerrit-Change-Number: 19609 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59: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 Aug 13 14:59:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:27 +0000 Subject: Change in osmo-sgsn[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ic6956c4d5cc9913c06b9e293dc5bb156f6510285 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index a37ff65..1b659eb 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-sgsn Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, dh-systemd (>= 1.5), -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic6956c4d5cc9913c06b9e293dc5bb156f6510285 Gerrit-Change-Number: 19609 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 Thu Aug 13 14:59:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:32 +0000 Subject: Change in osmo-bts[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19602 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4224989032ba1ae6da55370fa5d8f95899aa0e47 Gerrit-Change-Number: 19602 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:59:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:34 +0000 Subject: Change in osmo-bts[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19602 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I4224989032ba1ae6da55370fa5d8f95899aa0e47 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 2b66716..a7559cd 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: osmo-bts -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Section: net Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4224989032ba1ae6da55370fa5d8f95899aa0e47 Gerrit-Change-Number: 19602 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 Thu Aug 13 14:59:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:38 +0000 Subject: Change in osmo-pcu[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19608 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic114f2552ceadfeaaa00f8e719a5c7bd5d6b4917 Gerrit-Change-Number: 19608 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 14:59:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:41 +0000 Subject: Change in osmo-pcu[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19608 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ic114f2552ceadfeaaa00f8e719a5c7bd5d6b4917 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 87ad7e7..b9dad0c 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-pcu Section: net Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), dh-autoreconf, dh-systemd (>= 1.5), -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic114f2552ceadfeaaa00f8e719a5c7bd5d6b4917 Gerrit-Change-Number: 19608 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 Thu Aug 13 14:59:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:49 +0000 Subject: Change in osmo-sip-connector[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Id7a258c52e72101920a1c0de5534a2ed9f488203 Gerrit-Change-Number: 19610 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 14:59: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 Aug 13 14:59:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 14:59:51 +0000 Subject: Change in osmo-sip-connector[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Id7a258c52e72101920a1c0de5534a2ed9f488203 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index bac9b13..4692ea5 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-sip-connector Section: net Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 7.0.0~), autotools-dev, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Id7a258c52e72101920a1c0de5534a2ed9f488203 Gerrit-Change-Number: 19610 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 Thu Aug 13 15:00:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:00 +0000 Subject: Change in osmo-bsc[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19601 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I82a5e175c6d70af1ee07521a0e17f9f5cbf300dc Gerrit-Change-Number: 19601 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:00: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 Aug 13 15:00:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:02 +0000 Subject: Change in osmo-bsc[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19601 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I82a5e175c6d70af1ee07521a0e17f9f5cbf300dc --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index 5a18c2e..d1adc4b 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-bsc Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, autotools-dev, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I82a5e175c6d70af1ee07521a0e17f9f5cbf300dc Gerrit-Change-Number: 19601 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 Thu Aug 13 15:00:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:10 +0000 Subject: Change in osmo-hlr[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19604 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6b38640b57480c6950be491eeb3c5167be1c6aab Gerrit-Change-Number: 19604 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:00:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 15:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:13 +0000 Subject: Change in osmo-hlr[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19604 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I6b38640b57480c6950be491eeb3c5167be1c6aab --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index c1eb464..c737d8d 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-hlr Section: net Priority: optional -Maintainer: Max Suraev +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), pkg-config, dh-autoreconf, -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6b38640b57480c6950be491eeb3c5167be1c6aab Gerrit-Change-Number: 19604 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 Thu Aug 13 15:00:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:21 +0000 Subject: Change in osmo-mgw[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19606 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1bb002b257d4bef83d181d615411e443c1831f00 Gerrit-Change-Number: 19606 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:00:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 15:00:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:23 +0000 Subject: Change in osmo-mgw[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19606 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I1bb002b257d4bef83d181d615411e443c1831f00 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 33a9650..00dcf38 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: osmo-mgw Section: net Priority: extra -Maintainer: Alexander Couzens +Maintainer: Osmocom team Build-Depends: debhelper (>=9), dh-autoreconf, pkg-config, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1bb002b257d4bef83d181d615411e443c1831f00 Gerrit-Change-Number: 19606 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 Thu Aug 13 15:00:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:32 +0000 Subject: Change in libosmocore[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19599 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia340c28169c8bfd07c37d320c3f5386a06e4c092 Gerrit-Change-Number: 19599 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15: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 Thu Aug 13 15:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:34 +0000 Subject: Change in libosmocore[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19599 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ia340c28169c8bfd07c37d320c3f5386a06e4c092 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index ac2dd6a..381e291 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmocore -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia340c28169c8bfd07c37d320c3f5386a06e4c092 Gerrit-Change-Number: 19599 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 Thu Aug 13 15:00:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:40 +0000 Subject: Change in osmo-ggsn[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia93dd2bf84ebb2c4d11917021888d4c6a5085d50 Gerrit-Change-Number: 19603 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:00:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 15:00:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:43 +0000 Subject: Change in osmo-ggsn[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ia93dd2bf84ebb2c4d11917021888d4c6a5085d50 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index a07bdca..970b314 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: osmo-ggsn -Maintainer: Harald Welte +Maintainer: Osmocom team Section: net Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia93dd2bf84ebb2c4d11917021888d4c6a5085d50 Gerrit-Change-Number: 19603 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 Thu Aug 13 15:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:51 +0000 Subject: Change in libosmo-sccp[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib149fd7716343d0e441c4671832efd05a62d67da Gerrit-Change-Number: 19598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:00: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 Aug 13 15:00:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:00:54 +0000 Subject: Change in libosmo-sccp[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: Ib149fd7716343d0e441c4671832efd05a62d67da --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index fe622e0..fd23fbd 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmo-sccp -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib149fd7716343d0e441c4671832efd05a62d67da Gerrit-Change-Number: 19598 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 Thu Aug 13 15:01:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:00 +0000 Subject: Change in libsmpp34[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/19600 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/19600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: I382b5cc2becb38948dfdb783a8859157f622872b Gerrit-Change-Number: 19600 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 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 Thu Aug 13 15:01:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:02 +0000 Subject: Change in libsmpp34[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/19600 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I382b5cc2becb38948dfdb783a8859157f622872b --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index be4a63b..875480d 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libsmpp34 -Maintainer: Holger Freyther +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/19600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: I382b5cc2becb38948dfdb783a8859157f622872b Gerrit-Change-Number: 19600 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 Thu Aug 13 15:01:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:10 +0000 Subject: Change in libosmo-netif[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19597 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I2b4d2b37ccf6bcee4211d135ab2f2904b98da024 Gerrit-Change-Number: 19597 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15: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 Thu Aug 13 15:01:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:12 +0000 Subject: Change in libosmo-netif[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19597 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I2b4d2b37ccf6bcee4211d135ab2f2904b98da024 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index 65c25d0..d242b48 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: libosmo-netif Section: libs Priority: optional -Maintainer: Holger Hans Peter Freyther +Maintainer: Osmocom team Build-Depends: debhelper (>= 9), autotools-dev, autoconf, -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I2b4d2b37ccf6bcee4211d135ab2f2904b98da024 Gerrit-Change-Number: 19597 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 Thu Aug 13 15:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:19 +0000 Subject: Change in libosmo-abis[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19596 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bd677d2028677efbd6913adefa92066af67d5c6 Gerrit-Change-Number: 19596 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:01: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 Aug 13 15:01:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:21 +0000 Subject: Change in libosmo-abis[master]: debian/control: change maintainer to the Osmocom team / mailing list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19596 ) Change subject: debian/control: change maintainer to the Osmocom team / mailing list ...................................................................... debian/control: change maintainer to the Osmocom team / mailing list Change-Id: I8bd677d2028677efbd6913adefa92066af67d5c6 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/control b/debian/control index 12f4a4f..c304139 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: libosmo-abis -Maintainer: Harald Welte +Maintainer: Osmocom team Section: libs Priority: optional Build-Depends: debhelper (>= 9), -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I8bd677d2028677efbd6913adefa92066af67d5c6 Gerrit-Change-Number: 19596 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 Thu Aug 13 15:01:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:56 +0000 Subject: Change in docker-playground[master]: Enable IPv6 in docker networking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19572 ) Change subject: Enable IPv6 in docker networking ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 Gerrit-Change-Number: 19572 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 13 Aug 2020 15: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 Thu Aug 13 15:01:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:01:58 +0000 Subject: Change in docker-playground[master]: Enable IPv6 in docker networking In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19572 ) Change subject: Enable IPv6 in docker networking ...................................................................... Enable IPv6 in docker networking We previously only allocated IPv4 sub-nets to the network segments created with 'docker network'. Let's fix that by assigning both IPv4 and IPv6 address ranges to each docker network. Related: OS#4700 Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 --- M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-gsm-tester/jenkins.sh M scripts/regen_doc.sh M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-nitb-sysinfo/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 21 files changed, 23 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved; Verified daniel: Looks good to me, but someone else must approve diff --git a/jenkins-common.sh b/jenkins-common.sh index 64ec0bb..2993767 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -87,8 +87,10 @@ network_clean network_remove fi + SUB4="172.18.$NET.0/24" + SUB6="fd02:db8:$NET::/64" echo Creating network $NET_NAME - docker network create --internal --subnet $NET $NET_NAME + docker network create --internal --subnet $SUB4 --ipv6 --subnet $SUB6 $NET_NAME } network_remove() { diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index 4543b91..ac6a880 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -15,7 +15,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.7.0/24 +network_create 7 # start container with STP in background docker run --rm \ diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index 1d3111e..39d37bb 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -15,7 +15,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.6.0/24 +network_create 6 # start container with STP in background docker run --rm \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 0973774..5066012 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -58,7 +58,7 @@ "debian-stretch-jenkins" \ "osmo-gsm-tester" -network_create 172.18.50.0/24 +network_create 50 mkdir $VOL_BASE_DIR/ogt-slave cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index ca540f9..cd3c560 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -21,7 +21,7 @@ docker_images_require \ "$NAME-$IMAGE_SUFFIX" -network_create 172.18.16.0/24 +network_create 16 container_create() { CONTAINERNAME=$1 diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index f91e603..ee4417c 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,7 +16,7 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -network_create 172.18.12.0/24 +network_create 12 echo Starting container with BSC docker run --rm \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 11b9d2a..0218a8f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -24,7 +24,7 @@ cp pre-mscpool-osmo-bsc.cfg $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi -network_create 172.18.2.0/24 +network_create 2 echo Starting container with STP docker run --rm \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 1d771eb..08d5be8 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -14,7 +14,7 @@ cp osmo-bsc-nat.cfg $VOL_BASE_DIR/bscnat/ cp bscs.config $VOL_BASE_DIR/bscnat/ -network_create 172.18.15.0/24 +network_create 15 echo Starting container with BSCNAT docker run --rm \ diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 6f37e54..3e61780 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -101,7 +101,7 @@ $REPO_USER/ttcn3-bts-test } -network_create 172.18.9.0/24 +network_create 9 mkdir $VOL_BASE_DIR/bts-tester mkdir $VOL_BASE_DIR/bts-tester/unix diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index c950cc6..7e25a9b 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/ggsn cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ -network_create 172.18.3.0/24 +network_create 3 # start container with ggsn in background docker run --cap-add=NET_ADMIN \ diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 7bfacd6..337491d 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-hlr-$IMAGE_SUFFIX" \ "ttcn3-hlr-test" -network_create 172.18.10.0/24 +network_create 10 mkdir $VOL_BASE_DIR/hlr-tester cp HLR_Tests.cfg $VOL_BASE_DIR/hlr-tester/ diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index d0ce189..15fab49 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -network_create 172.18.4.0/24 +network_create 4 # start container with mgw in background docker run --rm \ diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index fdba9a5..9f5e0bf 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 172.18.1.0/24 +network_create 1 mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix diff --git a/ttcn3-nitb-sysinfo/jenkins.sh b/ttcn3-nitb-sysinfo/jenkins.sh index eaef78d..166a04d 100755 --- a/ttcn3-nitb-sysinfo/jenkins.sh +++ b/ttcn3-nitb-sysinfo/jenkins.sh @@ -2,7 +2,7 @@ . ../jenkins-common.sh -network_create 172.18.5.0/24 +network_create 5 # start container with nitb in background docker volume rm nitb-vol diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 9c8f293..00376e7 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -6,7 +6,7 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 172.18.14.0/24 +network_create 14 mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 3867e76..fa4c914 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 172.18.13.0/24 +network_create 13 mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1da2883..c2e958c 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -56,7 +56,7 @@ $REPO_USER/ttcn3-remsim-test } -network_create 172.18.17.0/24 +network_create 17 mkdir $VOL_BASE_DIR/remsim-tester diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 25fe5ac..895f12c 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -13,7 +13,7 @@ mkdir $VOL_BASE_DIR/sccp cp sccp_demo_user.cfg $VOL_BASE_DIR/sccp/ -network_create 172.18.22.0/24 +network_create 22 echo Starting container with sccp_demo_user docker run --rm \ diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 08af31c..df91256 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-sgsn-$IMAGE_SUFFIX" \ "ttcn3-sgsn-test" -network_create 172.18.8.0/24 +network_create 8 mkdir $VOL_BASE_DIR/sgsn-tester cp SGSN_Tests.cfg $VOL_BASE_DIR/sgsn-tester/ diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 52916cd..f1bfedd 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -6,7 +6,7 @@ "osmo-sip-$IMAGE_SUFFIX" \ "ttcn3-sip-test" -network_create 172.18.11.0/24 +network_create 11 mkdir $VOL_BASE_DIR/sip-tester mkdir $VOL_BASE_DIR/sip-tester/unix diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index c45d157..6b6a2de 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -12,7 +12,7 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 172.18.19.0/24 +network_create 19 echo Starting container with STP docker run --rm \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99 Gerrit-Change-Number: 19572 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 15:02:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:02:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add parsing and checking of StatsD metrics In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 ) Change subject: Add parsing and checking of StatsD metrics ...................................................................... Add parsing and checking of StatsD metrics Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Related: SYS#4877 --- A library/StatsD_Checker.ttcn A library/StatsD_CodecPort.ttcn A library/StatsD_CodecPort_CtrlFunct.ttcn A library/StatsD_CodecPort_CtrlFunctdef.cc A library/StatsD_Types.ttcn 5 files changed, 496 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/StatsD_Checker.ttcn b/library/StatsD_Checker.ttcn new file mode 100644 index 0000000..d287b74 --- /dev/null +++ b/library/StatsD_Checker.ttcn @@ -0,0 +1,272 @@ +module StatsD_Checker { + +/* Verifies that StatsD metrics in a test match the expected values + * Uses StatsD_CodecPort to receive the statsd messages from the DUT + * and a separate VTY connection to reset and trigger the stats. + * + * When using this you should configure your stats reporter to disable + * interval-based reports and always send all metrics: + * > stats interval 0 + * > stats reporter statsd + * > remote-ip a.b.c.d + * > remote-port 8125 + * > level subscriber + * > flush-period 1 + * > mtu 1024 + * > enable + * + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Author: Daniel Willmann + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; + +import from Osmocom_Types all; +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +modulepar { + /* Whether to test stats values */ + boolean mp_enable_stats := false; +} + +type record StatsDExpect { + MetricName name, + MetricType mtype, + MetricValue min, + MetricValue max +}; + +type set of StatsDExpect StatsDExpects; + +type record StatsDExpectPriv { + StatsDExpect expect, + integer seen +} + +type set of StatsDExpectPriv StatsDExpectPrivs; + +type enumerated StatsDResultType { + e_Matched, + e_Mismatched, + e_NotFound +} + +type record StatsDExpectResult { + StatsDResultType kind, + integer idx +} + +type component StatsD_Checker_CT { + port TELNETasp_PT STATSVTY; + port STATSD_PROC_PT STATSD_PROC; + port STATSD_CODEC_PT STATS; + timer T_statsd := 5.0; +} + +type component StatsD_ConnHdlr { + port STATSD_PROC_PT STATSD_PROC; +} + +signature STATSD_reset(); +signature STATSD_expect(in StatsDExpects expects) return boolean; + +type port STATSD_PROC_PT procedure { + inout STATSD_reset, STATSD_expect; +} with {extension "internal"}; + +/* Expect templates and functions */ + + +/* StatsD checker component */ +function main(charstring statsd_host, integer statsd_port) runs on StatsD_Checker_CT { + var StatsD_ConnHdlr vc_conn; + var StatsDExpects expects; + + while (not mp_enable_stats) { + log("StatsD checker disabled by modulepar"); + f_sleep(3600.0); + } + + map(self:STATS, system:STATS); + StatsD_CodecPort_CtrlFunct.f_IPL4_listen(STATS, statsd_host, statsd_port, { udp := {} }, {}); + + /* Connect to VTY and reset stats */ + map(self:STATSVTY, system:STATSVTY); + f_vty_set_prompts(STATSVTY); + f_vty_transceive(STATSVTY, "enable"); + + /* Reset the stats system at start */ + f_vty_transceive(STATSVTY, "stats reset"); + + while (true) { + alt { + [] STATSD_PROC.getcall(STATSD_reset:{}) -> sender vc_conn { + f_vty_transceive(STATSVTY, "stats reset"); + STATSD_PROC.reply(STATSD_reset:{}) to vc_conn; + } + [] STATSD_PROC.getcall(STATSD_expect:{?}) -> param(expects) sender vc_conn { + var boolean success := f_statsd_checker_expect(expects); + STATSD_PROC.reply(STATSD_expect:{expects} value success) to vc_conn; + } + } + } +} + + +/* Return false if the expectation doesn't match the metric, otherwise return true */ +private function f_compare_expect(StatsDMetric metric, StatsDExpect expect) return boolean { + if ((metric.name == expect.name) and (metric.mtype == expect.mtype) + and (metric.val >= expect.min) and (metric.val <= expect.max)) { + return true; + } else { + return false; + } +} + +private function f_statsd_checker_metric_expects(StatsDExpectPrivs exp_seen, StatsDMetric metric) +return StatsDExpectResult { + var StatsDExpectResult result := { + kind := e_NotFound, + idx := -1 + }; + + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + var StatsDExpectPriv exp := exp_seen[i]; + if (exp.expect.name != metric.name) { + continue; + } + if (not f_compare_expect(metric, exp.expect)) { + log("EXP mismatch: ", metric, exp.expect); + result := { + kind := e_Mismatched, + idx := i + }; + break; + } else { + log("EXP match: ", metric, exp.expect); + result := { + kind := e_Matched, + idx := i + }; + break; + } + } + return result; +} + +template StatsDExpectPriv t_statsd_expect_priv(template StatsDExpect expect) := { + expect := expect, + seen := 0 +} + +private function f_statsd_checker_expect(StatsDExpects expects) runs on StatsD_Checker_CT return boolean { + var default t; + var StatsDMessage msg; + var StatsDExpectResult res; + var StatsDExpectPrivs exp_seen := {}; + + for (var integer i := 0; i < lengthof(expects); i := i + 1) { + exp_seen := exp_seen & {valueof(t_statsd_expect_priv(expects[i]))}; + } + + /* Dismiss any messages we might have skipped from the last report */ + STATS.clear; + + f_vty_transceive(STATSVTY, "stats report"); + + var boolean seen_all := false; + T_statsd.start; + while (not seen_all) { + var StatsD_RecvFrom rf; + alt { + [] STATS.receive(tr_StatsD_RecvFrom(?, ?)) -> value rf { + msg := rf.msg; + } + [] T_statsd.timeout { + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + /* We're still missing some expects, keep looking */ + if (exp_seen[i].seen == 0) { + log("Timeout waiting for ", exp_seen[i].expect.name, " (min: ", exp_seen[i].expect.min, + ", max: ", exp_seen[i].expect.max, ")"); + } + } + setverdict(fail, "Timeout waiting for metrics"); + return false; + } + } + + for (var integer i := 0; i < lengthof(msg); i := i + 1) { + var StatsDMetric metric := msg[i]; + + res := f_statsd_checker_metric_expects(exp_seen, metric); + if (res.kind == e_NotFound) { + continue; + } + + if (res.kind == e_Mismatched) { + log("Metric: ", metric); + log("Expect: ", exp_seen[res.idx].expect); + setverdict(fail, "Metric failed expectation ", metric, " vs ", exp_seen[res.idx].expect); + return false; + } else if (res.kind == e_Matched) { + exp_seen[res.idx].seen := exp_seen[res.idx].seen + 1; + } + } + + /* Check if all expected metrics were received */ + seen_all := true; + for (var integer i := 0; i < lengthof(exp_seen); i := i + 1) { + /* We're still missing some expects, keep looking */ + if (exp_seen[i].seen == 0) { + seen_all := false; + break; + } + } + } + + T_statsd.stop; + return seen_all; +} + +function f_init_statsd(charstring id, inout StatsD_Checker_CT vc_STATSD, charstring dst_addr, integer dst_port) { + id := id & "-STATS"; + + vc_STATSD := StatsD_Checker_CT.create(id); + vc_STATSD.start(StatsD_Checker.main(dst_addr, dst_port)); +} + + +/* StatsD connhdlr */ +function f_statsd_reset() runs on StatsD_ConnHdlr { + if (not mp_enable_stats) { + return; + } + + STATSD_PROC.call(STATSD_reset:{}) { + [] STATSD_PROC.getreply(STATSD_reset:{}) {} + } +} + +function f_statsd_expect(StatsDExpects expects) runs on StatsD_ConnHdlr return boolean { + var boolean res; + + if (not mp_enable_stats) { + return true; + } + + STATSD_PROC.call(STATSD_expect:{expects}) { + [] STATSD_PROC.getreply(STATSD_expect:{expects}) -> value res; + } + return res; +} + +} diff --git a/library/StatsD_CodecPort.ttcn b/library/StatsD_CodecPort.ttcn new file mode 100644 index 0000000..e7396b5 --- /dev/null +++ b/library/StatsD_CodecPort.ttcn @@ -0,0 +1,57 @@ +module StatsD_CodecPort { + +import from StatsD_Types all; +import from IPL4asp_PortType all; +import from IPL4asp_Types all; + +type record StatsD_RecvFrom { + ConnectionId connId, + HostName remName, + PortNumber remPort, + HostName locName, + PortNumber locPort, + StatsDMessage msg +} + +template StatsD_RecvFrom tr_StatsD_RecvFrom(template ConnectionId cid, template StatsDMessage msg) := { + connId := cid, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg +} + +type record StatsD_Send { + ConnectionId connId, + StatsDMessage msg +} + +private function IPL4_to_StatsD_RecvFrom(in ASP_RecvFrom pin, out StatsD_RecvFrom pout) { + pout.connId := pin.connId; + pout.remName := pin.remName; + pout.remPort := pin.remPort; + pout.locName := pin.locName; + pout.locPort := pin.locPort; + pout.msg := dec_StatsDMessage(oct2char(pin.msg)); +} with { extension "prototype(fast)" }; + +private function StatsD_to_IPL4_Send(in StatsD_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { udp := {} }; + pout.msg := char2oct(enc_StatsDMessage(pin.msg)); +} with { extension "prototype(fast)" }; + +type port STATSD_CODEC_PT message { + out StatsD_Send; + in StatsD_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(StatsD_Send -> ASP_Send: function(StatsD_to_IPL4_Send)) + in(ASP_RecvFrom -> StatsD_RecvFrom: function(IPL4_to_StatsD_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + +} diff --git a/library/StatsD_CodecPort_CtrlFunct.ttcn b/library/StatsD_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..b2927c3 --- /dev/null +++ b/library/StatsD_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,43 @@ +module StatsD_CodecPort_CtrlFunct { + +import from StatsD_CodecPort all; +import from IPL4asp_Types all; + +external function f_IPL4_listen( + inout STATSD_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} +) return Result; + +external function f_IPL4_connect( + inout STATSD_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} +) return Result; + +external function f_IPL4_close( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } +) return Result; + +external function f_IPL4_setUserData( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + in UserData userData +) return Result; + +external function f_IPL4_getUserData( + inout STATSD_CODEC_PT portRef, + in ConnectionId id, + out UserData userData +) return Result; + +} diff --git a/library/StatsD_CodecPort_CtrlFunctdef.cc b/library/StatsD_CodecPort_CtrlFunctdef.cc new file mode 100644 index 0000000..1b78a7e --- /dev/null +++ b/library/StatsD_CodecPort_CtrlFunctdef.cc @@ -0,0 +1,55 @@ +#include "IPL4asp_PortType.hh" +#include "IPL4asp_PT.hh" +#include "StatsD_CodecPort.hh" + +namespace StatsD__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + StatsD__CodecPort::STATSD__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + +} diff --git a/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn new file mode 100644 index 0000000..2142b8c --- /dev/null +++ b/library/StatsD_Types.ttcn @@ -0,0 +1,69 @@ +module StatsD_Types { + +/* Definition of abstract types for the StatsD protocol. USes the TITAN "TEXT" + * codec to auto-generate encoder/decoder functions + * + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Author: Daniel Willmann + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +type charstring MetricName with { + variant "END(':')"; +}; + +type integer MetricValue with { + variant "END('|', '\|#(1)')"; +}; + +type charstring MetricType (pattern "(g|c|ms|h|m)"); + +type charstring MetricSampleRate (pattern "\d.\d+") with { + variant "BEGIN('|@')" +}; + +type record StatsDMetric { + MetricName name, + MetricValue val, + MetricType mtype, + MetricSampleRate srate optional +}; + +type record of StatsDMetric StatsDMessage with { + variant "SEPARATOR('\n')"; +}; + +external function enc_StatsDMessage(in StatsDMessage id) return charstring +with { extension "prototype(convert) encode(TEXT)"}; + +external function dec_StatsDMessage(in charstring id) return StatsDMessage +with { extension "prototype(convert) decode(TEXT)"}; + +template StatsDMessage tr_StatsDMsg1(template StatsDMetric metric) := { + [0] := metric +} + +template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { + name := name, + val := val, + mtype := mtype +} + +template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { + name := name, + val := val, + mtype := "c" +} + +template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { + name := name, + val := val, + mtype := "g" +} + +} with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icd1317b5f192d98e6cdc6635788d450501992bf1 Gerrit-Change-Number: 19581 Gerrit-PatchSet: 3 Gerrit-Owner: daniel 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 Thu Aug 13 15:02:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 15:02:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add statsd checker and use it in TC_assignment_sign In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 ) Change subject: bsc: Add statsd checker and use it in TC_assignment_sign ...................................................................... bsc: Add statsd checker and use it in TC_assignment_sign Related: SYS#4877 Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d --- M bsc/BSC_Tests.default M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/README.md M bsc/gen_links.sh M bsc/osmo-bsc.cfg M bsc/regen_makefile.sh 7 files changed, 48 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.default b/bsc/BSC_Tests.default index 8818359..c5d1559 100644 --- a/bsc/BSC_Tests.default +++ b/bsc/BSC_Tests.default @@ -17,8 +17,18 @@ *.BSCVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" *.BSCVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" *.BSCVTY.PROMPT1 := "OsmoBSC> " +*.STATSVTY.CTRL_MODE := "client" +*.STATSVTY.CTRL_HOSTNAME := "127.0.0.1" +*.STATSVTY.CTRL_PORTNUM := "4242" +*.STATSVTY.CTRL_LOGIN_SKIPPED := "yes" +*.STATSVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" +*.STATSVTY.CTRL_READMODE := "buffered" +*.STATSVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" +*.STATSVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" +*.STATSVTY.PROMPT1 := "OsmoBSC> " [MODULE_PARAMETERS] Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoBSC"; +StatsD_Checker.mp_enable_stats := true; [EXECUTE] diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 22c94d4..003df49 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -45,6 +45,11 @@ import from Osmocom_CTRL_Types all; import from Osmocom_CTRL_Adapter all; +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; +import from StatsD_Checker all; + import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; @@ -471,6 +476,9 @@ var MGCP_Emulation_CT vc_MGCP; port TELNETasp_PT BSCVTY; + /* StatsD */ + var StatsD_Checker_CT vc_STATSD; + var RAN_Adapter g_bssap[NUM_MSC]; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; @@ -504,6 +512,8 @@ integer mp_bsc_rsl_port := 3003; /* port number to which to establish the IPA CTRL connection */ integer mp_bsc_ctrl_port := 4249; + /* port number to which to listen for STATSD metrics */ + integer mp_bsc_statsd_port := 8125; /* IP address at which the test binds */ charstring mp_test_ip := "127.0.0.1"; @@ -898,6 +908,8 @@ } var my_BooleanList allow_attach := { false, false, false }; + f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port); + for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { allow_attach[bssap_idx] := true; /* Call a function of our 'parent component' RAN_Adapter_CT to start the @@ -2777,6 +2789,7 @@ connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); + connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -2938,7 +2951,15 @@ var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, omit); var PDU_BSSAP ass_cmd := f_gen_ass_req(); ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeSIGNAL); + + f_statsd_reset(); f_establish_fully(ass_cmd, exp_compl); + + var StatsDExpects expect := { + { name := "TTCN3.bsc.0.assignment.attempted", mtype := "c", min := 1, max := 1}, + { name := "TTCN3.bsc.0.assignment.completed", mtype := "c", min := 1, max := 1} + }; + f_statsd_expect(expect); } testcase TC_assignment_sign() runs on test_CT { diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 7b8f087..bf96eff 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -30,6 +30,8 @@ import from MGCP_Emulation all; import from SDP_Types all; +import from StatsD_Checker all; + import from RSL_Emulation all; import from RSL_Types all; @@ -409,7 +411,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; diff --git a/bsc/README.md b/bsc/README.md index 015687c..47714e9 100644 --- a/bsc/README.md +++ b/bsc/README.md @@ -8,6 +8,7 @@ * MGW side: MGCP (emulates MGW side) * VTY * CTRL + * StatsD {% dot bsc_tests.svg digraph G { @@ -22,6 +23,7 @@ ATS -> BSC [label="A-bis RSL"]; ATS -> BSC [label="CTRL"]; ATS -> BSC [label="VTY"]; + BSC -> ATS [label="StatsD"]; ATS -> STP [label="A BSSAP\nSCCP/M3UA"]; BSC -> STP [label="A BSSAP\nSCCP/M3UA"]; } @@ -39,6 +41,7 @@ ATS -> BSC [label="A-bis RSL"]; ATS -> BSC [label="CTRL"]; ATS -> BSC [label="VTY"]; + BSC -> ATS [label="StatsD"]; ATS -> BSC [label="A BSSAP\nSCCP/IPA"]; } %} diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 343cc1c..02e093d 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,6 +70,7 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index cbadece..f8be2cd 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -41,7 +41,15 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable ! line vty no login diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index def4a3f..f1ea963 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -2,7 +2,7 @@ MAIN=BSC_Tests.ttcn -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc *.c" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc StatsD_CodecPort_CtrlFunctdef.cc *.c" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8526b645dc4af59adcc1855699421a026f505c1d Gerrit-Change-Number: 19582 Gerrit-PatchSet: 3 Gerrit-Owner: daniel 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 Thu Aug 13 15:14:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 15:14:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 ) Change subject: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' ...................................................................... Patch Set 1: Code-Review+2 Lol! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 Gerrit-Change-Number: 19631 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 15:14:54 +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 Aug 13 15:35:45 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Aug 2020 15:35:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f355de762d1e_74bf2aebd44c460062993a@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: [ 287s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 287s] [COMPILING libboard/qmod/source/card_pres.c] [ 287s] [COMPILING libboard/qmod/source/wwan_led.c] [ 288s] [COMPILING libboard/qmod/source/i2c.c] [ 288s] [COMPILING libboard/qmod/source/board_qmod.c] [ 289s] [COMPILING apps/dfu/main.c] [ 289s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 289s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 289s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 290s] Memory region Used Size Region Size %age Used [ 290s] rom: 16504 B 16 KB 100.73% [ 290s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 290s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 290s] collect2: error: ld returned 1 exit status [ 290s] % [ 290s] make[2]: *** [Makefile:234: flash] Error 1 [ 290s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 290s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 290s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 290s] dh_auto_build: make -j1 returned exit code 2 [ 290s] make: *** [debian/rules:16: build] Error 2 [ 290s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 290s] ### VM INTERACTION START ### [ 293s] [ 277.585218] sysrq: SysRq : Power Off [ 293s] [ 277.632279] reboot: Power down [ 294s] ### VM INTERACTION END ### [ 294s] [ 294s] armbuild22 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Thu Aug 13 15:35:34 UTC 2020. [ 294s] -- 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 Aug 13 15:54:54 2020 From: gerrit-no-reply at lists.osmocom.org (matt9j) Date: Thu, 13 Aug 2020 15:54:54 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: matt9j has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: > Patch Set 2: > > (1 comment) I first saw it when installing freeswitch via their deb repo (http://files.freeswitch.org/repo/deb/debian-release), which pulled it in as the latest version and broke my whole install : ) . I backtracked to http://sofia-sip.sourceforge.net/ as the homepage listed in the debian package for 1.12.11 (https://packages.debian.org/buster/libsofia-sip-ua0), which actually pointed me to freeswitch's github also (https://github.com/freeswitch/sofia-sip). It looks like they are not tagging versions in git yet, but you can look in the log for version string changes to track the releases. It looks like freeswitch actually released a new version in the last 24 hours (1.13.1) since opening this ticket. I opened two tickets upstream with them over this last week with issues I found when using their version with osmo-sip-connector also, and one of them has been addressed so far. I joined the freeswitch slack, and it seems like from the conversation there in the freeswitch-dev channel that they are hoping to takeover maintenance for the package in debian moving forward. The last time the debian package was updated was apparently in 2011, and several bugs have been fixed since. Unrelated, but I am not sure why the site at http://sofia-sip.sourceforge.net/ (which seems more complete and is pointed to in the package metadata) is not accessible from https://sourceforge.net/projects/sofia-sip/ . It makes it pretty confusing to trace the project lineage. -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: matt9j Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: matt9j Gerrit-Comment-Date: Thu, 13 Aug 2020 15:54: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 Thu Aug 13 16:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 16:48:46 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop all CBSP broadcast References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop all CBSP broadcast ...................................................................... CBSP: on RESET, also clear the etws_timer, and stop all CBSP broadcast Before this patch, each ETWS CMD instructing to broadcast triggered a five second etws_timer to send a zero-payload ETWS CMD that stops broadcasting, five seconds later. This lingered past an ETWS RESET instruction. Instead, clear the etws_timer on ETWS RESET, and make sure that all broadcast is stopped by sending a zero payload ETWS CMD to the BTSes immediately. This will cause all CBSP ttcn3 tests to fail unless Ifee313369a433a6a638c5fffdedee5363b8e47c2 is merged to osmo-ttcn3-hacks at the same time. Related: Ifee313369a433a6a638c5fffdedee5363b8e47c2 (osmo-ttcn3-hacks) Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 --- M src/osmo-bsc/smscb.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/19632/1 diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 436826a..cb68578 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -664,6 +664,10 @@ llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) bts_smscb_del(smscb, chan_state, "RESET"); + osmo_timer_del(&bts->etws_timer); + + /* Make sure that broadcast is disabled */ + rsl_etws_pn_command(bts, RSL_CHAN_PCH_AGCH, NULL, 0); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 16:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 16:48:46 +0000 Subject: Change in osmo-bsc[master]: CBSP: log ETWS RESET on NOTICE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log ETWS RESET on NOTICE ...................................................................... CBSP: log ETWS RESET on NOTICE Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a --- M src/osmo-bsc/smscb.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/19633/1 diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index cb68578..78bf221 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -654,6 +654,8 @@ struct bts_smscb_chan_state *chan_state; struct bts_smscb_message *smscb, *smscb2; + LOG_BTS(bts, DCBS, LOGL_NOTICE, "ETWS RESET: clearing all state; disabling broadcast via PCH\n"); + /* remove all SMSCB from CBCH BASIC this BTS */ chan_state = bts_get_smscb_chan(bts, false); llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 16:49:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 16:49:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix argument order for f_gen_etws_pn References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 ) Change subject: bsc CBSP: fix argument order for f_gen_etws_pn ...................................................................... bsc CBSP: fix argument order for f_gen_etws_pn Change-Id: I5d4a7785c122d9bc232dc62168fd8f3d5ae96b6b --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/19634/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index a56f7e6..67fbd50 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -660,7 +660,7 @@ f_cbsp_init_server(16001, 16501); f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_ser_no, g_cbsp_msg_id); timer T := 5.0; T.start; alt { @@ -691,7 +691,7 @@ f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); /* first expect the PN to be enabled */ - var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_ser_no, g_cbsp_msg_id); timer T := 5.0; T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d4a7785c122d9bc232dc62168fd8f3d5ae96b6b Gerrit-Change-Number: 19634 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 16:49:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 16:49:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: clear all CBSP state between runs References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 ) Change subject: bsc CBSP: clear all CBSP state between runs ...................................................................... bsc CBSP: clear all CBSP state between runs Some tests may stop without cleaning up the CBSP state. Avoid affecting subsequent tests by clearing the state for each f_cbsp_init_server(). Some ETWS CMD may still be left in the RSL queue (from the time period passing between a stopped test and the next test starting up), so clear all RSL ports. To be able to do so, move f_cbsp_reset_bss() to the cbsp_test_CT, from where it can access both CBSP and IPA_RSL[] ports. All current callers are on cbsp_test_CT anyway. This patch should fix TC_cbsp_emerg_write_bts_cgi_cchan and TC_cbsp_emerg_write_bts_cgi_cchan_disable, which so far break because of leftover ETWS CMDs in the RSL queue from the preceding test run. Change-Id: If7400a6624bb6dd9cacbcc733bdeba102d19e29c --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/19635/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 67fbd50..497ff80 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -139,6 +139,8 @@ g_cbsp_msg_id := cbsp_msg_id; g_cbsp_ser_no := cbsp_ser_no; log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); + + f_cbsp_reset_bss(0); } private function f_expect_cbsp_restart() runs on cbsp_test_CT { interleave { @@ -161,7 +163,12 @@ return valueof(ts_CbspMsgContent(payload, payload_len)); } -function f_cbsp_reset_bss(integer idx) runs on CBSP_Adapter_CT { +function f_cbsp_reset_bss(integer idx) runs on cbsp_test_CT { + /* Make sure no CBSP ETWS commands from a previous CBSP test remain in the RSL queue */ + IPA_RSL[0].clear; + IPA_RSL[1].clear; + IPA_RSL[2].clear; + var template (value) CBSP_PDU tx; timer T := 3.0; tx := ts_CBSP_RESET(cell_list := ts_BSSMAP_CIL_BSS); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7400a6624bb6dd9cacbcc733bdeba102d19e29c Gerrit-Change-Number: 19635 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 16:49:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 13 Aug 2020 16:49:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET When receiving the instruction to CBSP RESET, osmo-bsc should stop CBSP broadcasting on all BTSes. Expect the according zero-payload ETWS CMDs on all CBSP relevant RSL ports. This behavior is implemented by osmo-bsc I925a041936c6163483d70fe6d158af368ec8c444 This is expected to break all CBSP tests until above bsc patch is merged, particularly the 'latest' tests will see this breakage until the next release is tagged. Depends: I925a041936c6163483d70fe6d158af368ec8c444 (osmo-bsc) Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/19636/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 497ff80..6d0d2d7 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -186,6 +186,18 @@ mtc.stop; } } + + f_cbsp_expect_disable_broadcast(); +} + +function f_cbsp_expect_disable_broadcast() runs on cbsp_test_CT +{ + var template ASP_RSL_Unitdata zero_payload := tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O)); + interleave { + [] IPA_RSL[0].receive(zero_payload) { log("CBSP: disabled broadcast on bts 0"); } + [] IPA_RSL[1].receive(zero_payload) { log("CBSP: disabled broadcast on bts 1"); } + [] IPA_RSL[2].receive(zero_payload) { log("CBSP: disabled broadcast on bts 2"); } + } } /* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 18:12:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:12:32 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: do not create unused directory In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19622 ) Change subject: ttcn3-bts-test/jenkins.sh: do not create unused directory ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I01efad7f86723301807237d9fae515e82cae125b Gerrit-Change-Number: 19622 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 18:12: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 Aug 13 18:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:12:44 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/hopping: fix: do not run BTS_Tests.control twice ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 18:12:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 18:49:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:49:11 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19625 to look at the new patch set (#2). Change subject: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice ...................................................................... ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice Apparently, TITAN concatenates the contents of all sections, so we end up with the following set of test cases: [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control BTS_Tests_LAPDm.control BTS_Tests.control Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/25/19625/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Thu Aug 13 18:49:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:49:12 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly rename classnames References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19637 ) Change subject: ttcn3-bts-test/fh: fix: properly rename classnames ...................................................................... ttcn3-bts-test/fh: fix: properly rename classnames Not only append ':hopping' to classnames equal 'BTS_Tests', but also 'BTS_Tests_SMSCB' and 'BTS_Tests_LAPDm', so they would not shadow non-hopping test cases in the test results analyzer. Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/37/19637/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 4a04782..19e7607 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -175,8 +175,11 @@ start_bsc start_bts trx 0 start_testsuite hopping -# rename the test results, so they appear as 'BTS_Tests:hopping' in Jenkins -sed -i "s#classname='BTS_Tests'#classname='BTS_Tests:hopping'#g" \ +# append ':hopping' to the classnames, +# e.g. "classname='BTS_Tests'" => "classname='BTS_Tests:hopping'" +# e.g. "classname='BTS_Tests_SMSCB'" => "classname='BTS_Tests_SMSCB:hopping'" +# so the hopping test cases would not interfere with non-hopping ones in Jenkins +sed -i "s/classname='\([^']\+\)'/classname='\1:hopping'/g" \ $VOL_BASE_DIR/bts-tester-hopping/junit-xml-hopping-*.log echo Stopping containers -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Gerrit-Change-Number: 19637 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 Aug 13 18:49:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:49:33 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic, oml, virtphy, hopping} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19623 ) Change subject: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Gerrit-Change-Number: 19623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 18:49: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 Aug 13 18:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:50:00 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic, oml, virtphy, hopping} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19623 ) Change subject: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Gerrit-Change-Number: 19623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 18:50: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 Aug 13 18:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:53:18 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 18: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 Thu Aug 13 18:53:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:53:25 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 18:53:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 18:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Aug 2020 18:53:32 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly rename classnames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19637 ) Change subject: ttcn3-bts-test/fh: fix: properly rename classnames ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Gerrit-Change-Number: 19637 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 13 Aug 2020 18:53: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 Aug 13 19:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:26:59 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly rename classnames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19637 ) Change subject: ttcn3-bts-test/fh: fix: properly rename classnames ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Gerrit-Change-Number: 19637 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 19:26:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 19:27:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:22 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic, oml, virtphy, hopping} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19623 ) Change subject: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Gerrit-Change-Number: 19623 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Aug 2020 19:27: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 Aug 13 19:27:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:34 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 19:27: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 Aug 13 19:27:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:39 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: do not create unused directory In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19622 ) Change subject: ttcn3-bts-test/jenkins.sh: do not create unused directory ...................................................................... ttcn3-bts-test/jenkins.sh: do not create unused directory Change-Id: I01efad7f86723301807237d9fae515e82cae125b --- M ttcn3-bts-test/jenkins.sh 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 3e61780..cd6fc38 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -104,7 +104,6 @@ network_create 9 mkdir $VOL_BASE_DIR/bts-tester -mkdir $VOL_BASE_DIR/bts-tester/unix cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ # Work around for a bug in osmo-bts when all transceivers use IPAC_PROTO_RSL_TRX0. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I01efad7f86723301807237d9fae515e82cae125b Gerrit-Change-Number: 19622 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 Aug 13 19:27:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:39 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic, oml, virtphy, hopping} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19623 ) Change subject: ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} ...................................................................... ttcn3-bts-test/jenkins.sh: use bts-tester-{generic,oml,virtphy,hopping} Let's use separate directories to store the artifacts of different TTCN-3 test case groups. This would prevent the test suite from overwriting *.log and *.pcap files when running both generic and hopping configurations together, and simplify the overall hierarchy. Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 16 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index cd6fc38..544825c 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -90,11 +90,12 @@ start_testsuite() { echo Starting container with BTS testsuite + variant=$1 # e.g 'generic', 'oml', 'hopping' docker run --rm \ --network $NET_NAME --ip 172.18.9.10 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ - -v $VOL_BASE_DIR/bts-tester:/data \ + -v $VOL_BASE_DIR/bts-tester-${variant}:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-bts-test \ $DOCKER_ARGS \ @@ -103,14 +104,20 @@ network_create 9 -mkdir $VOL_BASE_DIR/bts-tester -cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ +mkdir $VOL_BASE_DIR/bts-tester-generic +cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-generic/ +mkdir $VOL_BASE_DIR/bts-tester-virtphy +cp virtphy/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-virtphy/ +mkdir $VOL_BASE_DIR/bts-tester-oml +cp oml/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-oml/ +mkdir $VOL_BASE_DIR/bts-tester-hopping +cp fh/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-hopping/ # Work around for a bug in osmo-bts when all transceivers use IPAC_PROTO_RSL_TRX0. # Enables patching of IPA stream ID. TODO: remove as soon as we make a new release. if [ "$IMAGE_SUFFIX" = "latest" ]; then sed "s/RSL_Emulation.mp_rslem_patch_ipa_cid := false/RSL_Emulation.mp_rslem_patch_ipa_cid := true/g" -i \ - "$VOL_BASE_DIR/bts-tester/BTS_Tests.cfg" + "$VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg" fi mkdir $VOL_BASE_DIR/bsc @@ -131,7 +138,7 @@ start_bts trx 0 start_fake_trx start_trxcon -start_testsuite +start_testsuite generic # 2) some GPRS tests require virt_phy echo "Changing to virtphy configuration" @@ -143,8 +150,7 @@ start_bts virtual 0 start_virtphy # ... and execute the testsuite again with different cfg -cp virtphy/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ -#start_testsuite +#start_testsuite virtphy # 3) OML tests require us to run without BSC docker container kill ${BUILD_TAG}-bsc @@ -156,21 +162,19 @@ start_fake_trx start_trxcon # ... and execute the testsuite again with different cfg -cp oml/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ -start_testsuite +start_testsuite oml # 4) Frequency hopping tests require different configuration files -cp fh/BTS_Tests.cfg $VOL_BASE_DIR/bts-tester/ cp fh/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ cp osmo-bts.cfg $VOL_BASE_DIR/bts/ # restart the BSC/BTS and run the testsuite again docker container kill ${BUILD_TAG}-bts start_bsc start_bts trx 0 -start_testsuite +start_testsuite hopping # rename the test results, so they appear as 'BTS_Tests:hopping' in Jenkins sed -i "s#classname='BTS_Tests'#classname='BTS_Tests:hopping'#g" \ - $VOL_BASE_DIR/bts-tester/junit-xml-hopping-*.log + $VOL_BASE_DIR/bts-tester-hopping/junit-xml-hopping-*.log echo Stopping containers docker container kill ${BUILD_TAG}-trxcon -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32 Gerrit-Change-Number: 19623 Gerrit-PatchSet: 3 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 Aug 13 19:27:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:39 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19624 ) Change subject: ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg ...................................................................... ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg Include the correct configuration file, not the one from the image. Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg M ttcn3-bts-test/jenkins.sh 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/fh/BTS_Tests.cfg b/ttcn3-bts-test/fh/BTS_Tests.cfg index e0c3dff..74bface 100644 --- a/ttcn3-bts-test/fh/BTS_Tests.cfg +++ b/ttcn3-bts-test/fh/BTS_Tests.cfg @@ -1,5 +1,5 @@ [ORDERED_INCLUDE] -"/osmo-ttcn3-hacks/bts/BTS_Tests.cfg" +"BTS_Tests.cfg.inc" [LOGGING] *.JUnitLogger.filename_stem := "junit-xml-hopping" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 544825c..0f907ac 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -120,6 +120,9 @@ "$VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg" fi +cp $VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg \ + $VOL_BASE_DIR/bts-tester-hopping/BTS_Tests.cfg.inc + mkdir $VOL_BASE_DIR/bsc cp osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b Gerrit-Change-Number: 19624 Gerrit-PatchSet: 4 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 Aug 13 19:27:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:39 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19625 ) Change subject: ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice ...................................................................... ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice Apparently, TITAN concatenates the contents of all sections, so we end up with the following set of test cases: [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control BTS_Tests_LAPDm.control BTS_Tests.control Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/fh/BTS_Tests.cfg 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/fh/BTS_Tests.cfg b/ttcn3-bts-test/fh/BTS_Tests.cfg index 74bface..b6cd28a 100644 --- a/ttcn3-bts-test/fh/BTS_Tests.cfg +++ b/ttcn3-bts-test/fh/BTS_Tests.cfg @@ -133,6 +133,3 @@ } } }; - -[EXECUTE] -BTS_Tests.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46 Gerrit-Change-Number: 19625 Gerrit-PatchSet: 3 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 Aug 13 19:27:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:27:40 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test/fh: fix: properly rename classnames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19637 ) Change subject: ttcn3-bts-test/fh: fix: properly rename classnames ...................................................................... ttcn3-bts-test/fh: fix: properly rename classnames Not only append ':hopping' to classnames equal 'BTS_Tests', but also 'BTS_Tests_SMSCB' and 'BTS_Tests_LAPDm', so they would not shadow non-hopping test cases in the test results analyzer. Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Related: SYS#4868, OS#4546 --- M ttcn3-bts-test/jenkins.sh 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 0f907ac..b05a335 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -175,8 +175,11 @@ start_bsc start_bts trx 0 start_testsuite hopping -# rename the test results, so they appear as 'BTS_Tests:hopping' in Jenkins -sed -i "s#classname='BTS_Tests'#classname='BTS_Tests:hopping'#g" \ +# append ':hopping' to the classnames, +# e.g. "classname='BTS_Tests'" => "classname='BTS_Tests:hopping'" +# e.g. "classname='BTS_Tests_SMSCB'" => "classname='BTS_Tests_SMSCB:hopping'" +# so the hopping test cases would not interfere with non-hopping ones in Jenkins +sed -i "s/classname='\([^']\+\)'/classname='\1:hopping'/g" \ $VOL_BASE_DIR/bts-tester-hopping/junit-xml-hopping-*.log echo Stopping containers -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28 Gerrit-Change-Number: 19637 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 Aug 13 19:29:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:29:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix argument order for f_gen_etws_pn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 ) Change subject: bsc CBSP: fix argument order for f_gen_etws_pn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d4a7785c122d9bc232dc62168fd8f3d5ae96b6b Gerrit-Change-Number: 19634 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 19: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 Thu Aug 13 19:30:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:30:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: clear all CBSP state between runs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 ) Change subject: bsc CBSP: clear all CBSP state between runs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7400a6624bb6dd9cacbcc733bdeba102d19e29c Gerrit-Change-Number: 19635 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 19: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 Thu Aug 13 19:31:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1//COMMIT_MSG at 10 PS1, Line 10: BTSes all affected BTSs. The RESET comamnd contains a list of cell identifiers. So the CBC could also instruct the BSC to partially reset only some BSSs/BTSs. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 19:31:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 19:31:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 ) Change subject: bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' ...................................................................... bsc CBSP: fix tr_CBSP_KILL_FAIL, no lengthof() on record-of with '*' Keep a local next_idx so that lengthof() doesn't fail after adding a '*' entry. Fixes this error in BSC_Tests_CBSP.TC_cbsp_write_then_kill: Dynamic test case error: Performing lengthof() operation on a template of type @CBSP_Types.CBSP_IEs with no exact length. Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 --- M library/CBSP_Templates.ttcn 1 file changed, 15 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 49906fe..8d62742 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -581,20 +581,29 @@ tr_CbspMsgId(msg_id), tr_OldSerNo(old_ser_nr) }; + /* As soon as adding a '*' IE item, lengthof() no longer works on the ies record. So keep track of the + * next index to use separately. */ + var integer next_idx := lengthof(ies); if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + ies[next_idx] := tr_CbspNumComplList(compl_list); + next_idx := next_idx + 1; } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := tr_CbspCellList(cell_list); + ies[next_idx] := tr_CbspCellList(cell_list); + next_idx := next_idx + 1; } if (istemplatekind(channel_ind, "*")) { - ies[lengthof(ies)] := *; + ies[next_idx] := *; + next_idx := next_idx + 1; } else if (not istemplatekind(channel_ind, "omit")) { - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + ies[next_idx] := tr_CbspChannelInd(channel_ind); + next_idx := next_idx + 1; } return tr_CBSP(CBSP_MSGT_KILL_COMPL, ies); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d95a8ca311f145fa5ea371b6aed099db771d7b8 Gerrit-Change-Number: 19631 Gerrit-PatchSet: 2 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 Thu Aug 13 19:31:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: fix argument order for f_gen_etws_pn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 ) Change subject: bsc CBSP: fix argument order for f_gen_etws_pn ...................................................................... bsc CBSP: fix argument order for f_gen_etws_pn Change-Id: I5d4a7785c122d9bc232dc62168fd8f3d5ae96b6b --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index a56f7e6..67fbd50 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -660,7 +660,7 @@ f_cbsp_init_server(16001, 16501); f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); - var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_ser_no, g_cbsp_msg_id); timer T := 5.0; T.start; alt { @@ -691,7 +691,7 @@ f_cbsp_write_emerg(g_cbsp_msg_id, g_cbsp_ser_no, cell_list); /* first expect the PN to be enabled */ - var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) octetstring tr_apdu := f_gen_etws_pn(g_cbsp_ser_no, g_cbsp_msg_id); timer T := 5.0; T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d4a7785c122d9bc232dc62168fd8f3d5ae96b6b Gerrit-Change-Number: 19634 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Aug 13 19:31:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: clear all CBSP state between runs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 ) Change subject: bsc CBSP: clear all CBSP state between runs ...................................................................... bsc CBSP: clear all CBSP state between runs Some tests may stop without cleaning up the CBSP state. Avoid affecting subsequent tests by clearing the state for each f_cbsp_init_server(). Some ETWS CMD may still be left in the RSL queue (from the time period passing between a stopped test and the next test starting up), so clear all RSL ports. To be able to do so, move f_cbsp_reset_bss() to the cbsp_test_CT, from where it can access both CBSP and IPA_RSL[] ports. All current callers are on cbsp_test_CT anyway. This patch should fix TC_cbsp_emerg_write_bts_cgi_cchan and TC_cbsp_emerg_write_bts_cgi_cchan_disable, which so far break because of leftover ETWS CMDs in the RSL queue from the preceding test run. Change-Id: If7400a6624bb6dd9cacbcc733bdeba102d19e29c --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 67fbd50..497ff80 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -139,6 +139,8 @@ g_cbsp_msg_id := cbsp_msg_id; g_cbsp_ser_no := cbsp_ser_no; log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); + + f_cbsp_reset_bss(0); } private function f_expect_cbsp_restart() runs on cbsp_test_CT { interleave { @@ -161,7 +163,12 @@ return valueof(ts_CbspMsgContent(payload, payload_len)); } -function f_cbsp_reset_bss(integer idx) runs on CBSP_Adapter_CT { +function f_cbsp_reset_bss(integer idx) runs on cbsp_test_CT { + /* Make sure no CBSP ETWS commands from a previous CBSP test remain in the RSL queue */ + IPA_RSL[0].clear; + IPA_RSL[1].clear; + IPA_RSL[2].clear; + var template (value) CBSP_PDU tx; timer T := 3.0; tx := ts_CBSP_RESET(cell_list := ts_BSSMAP_CIL_BSS); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7400a6624bb6dd9cacbcc733bdeba102d19e29c Gerrit-Change-Number: 19635 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Aug 13 19:31:25 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 13 Aug 2020 19:31:25 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 13 Aug 2020 19:31: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 Aug 13 19:31:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:56 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 2 Gerrit-Owner: matt9j Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: matt9j Gerrit-Comment-Date: Thu, 13 Aug 2020 19:31:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 19:31:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Aug 2020 19:31:58 +0000 Subject: Change in osmo-sip-connector[master]: sip: Specify invite contact tag In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 ) Change subject: sip: Specify invite contact tag ...................................................................... sip: Specify invite contact tag Version 1.12.12 of libsofia-sip-ua no longer automatically generates a contact header element from the local ip address and port. Specifying the contact tag does not break operation with the existing library (1.12.11), but allows for operation on a system with freeswitch 1.10.4 or later installed, which is built against this new version of libsofia-sip-ua. Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 --- M src/sip.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/sip.c b/src/sip.c index c635542..61916c9 100644 --- a/src/sip.c +++ b/src/sip.c @@ -597,6 +597,9 @@ called_num, agent->app->sip.remote_addr, agent->app->sip.remote_port); + char *contact = talloc_asprintf(leg, "sip:%s:%d", + agent->app->sip.local_addr, + agent->app->sip.local_port); char *sdp = sdp_create_file(leg, other, sdp_sendrecv); leg->state = SIP_CC_INITIAL; @@ -604,6 +607,7 @@ nua_invite(leg->nua_handle, SIPTAG_FROM_STR(from), SIPTAG_TO_STR(to), + SIPTAG_CONTACT_STR(contact), NUTAG_MEDIA_ENABLE(0), SIPTAG_CONTENT_TYPE_STR("application/sdp"), SIPTAG_PAYLOAD_STR(sdp), @@ -612,6 +616,7 @@ leg->base.call->remote = &leg->base; talloc_free(from); talloc_free(to); + talloc_free(contact); talloc_free(sdp); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/19584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246 Gerrit-Change-Number: 19584 Gerrit-PatchSet: 3 Gerrit-Owner: matt9j Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: matt9j Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 19:35:10 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 13 Aug 2020 19:35:10 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: lynxis lazus has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Removed Code-Review+2 by lynxis lazus -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 13 20:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 13 Aug 2020 20:29:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: use return value of e1inp_line_update() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19638 ) Change subject: mgcp_e1: use return value of e1inp_line_update() ...................................................................... mgcp_e1: use return value of e1inp_line_update() The function e1inp_line_update() is called without assigning its return code to the rc variable. Change-Id: Ia72ea2dca210b038766151d547f66b7b7139a2c4 Fixes: CID#212160 --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/38/19638/1 diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 8444b11..b3db0b7 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -402,7 +402,7 @@ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); if (rc < 0) return -EINVAL; - e1inp_line_update(e1_line); + rc = e1inp_line_update(e1_line); if (rc < 0) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia72ea2dca210b038766151d547f66b7b7139a2c4 Gerrit-Change-Number: 19638 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 Aug 13 21:00:58 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 21:00:58 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19583 to look at the new patch set (#5). Change subject: Update bsc tester config to enable stats testing ...................................................................... Update bsc tester config to enable stats testing Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Related: SYS#4877 Depends: I8526b645dc4af59adcc1855699421a026f505c1d (osmo-ttcn3-hacks) --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 7 files changed, 46 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/83/19583/5 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 5 Gerrit-Owner: daniel 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 Aug 13 21:23:32 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 21:23:32 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Patch Set 5: Verified+1 Code-Review+2 +2 from laforge before rebase and jenkins ttcn3-bsc-test now fails without this patch. Merging -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Aug 2020 21: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 Aug 13 21:23:39 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 13 Aug 2020 21:23:39 +0000 Subject: Change in docker-playground[master]: Update bsc tester config to enable stats testing In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19583 ) Change subject: Update bsc tester config to enable stats testing ...................................................................... Update bsc tester config to enable stats testing Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Related: SYS#4877 Depends: I8526b645dc4af59adcc1855699421a026f505c1d (osmo-ttcn3-hacks) --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 7 files changed, 46 insertions(+), 3 deletions(-) Approvals: daniel: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index fab146d..9aef82a 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -7,6 +7,7 @@ [TESTPORT_PARAMETERS] *.BSCVTY.CTRL_HOSTNAME := "172.18.2.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.2.20" [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.2.20"; @@ -51,6 +52,7 @@ BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; BSC_Tests_CBSP.mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; BSC_Tests_CBSP.mp_cgi_bts3 := { '001'H, '01'H, 3, 3 }; +StatsD_Checker.mp_enable_stats := true; [MAIN_CONTROLLER] diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index ee4417c..f49474b 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -18,6 +18,13 @@ network_create 12 +# Disable stats testing until libosmocore release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^StatsD_Checker.mp_enable_stats.*/StatsD_Checker.mp_enable_stats := false;/" $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg + sed -i "s/stats interval 0//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg + sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg +fi + echo Starting container with BSC docker run --rm \ --network $NET_NAME --ip 172.18.12.20 \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 0218a8f..2319b9c 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -24,6 +24,13 @@ cp pre-mscpool-osmo-bsc.cfg $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi +# Disable stats testing until libosmocore release > 1.4.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^StatsD_Checker.mp_enable_stats.*/StatsD_Checker.mp_enable_stats := false;/" $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg + sed -i "s/stats interval 0//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg + sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg +fi + network_create 2 echo Starting container with STP diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 13e7f60..bce5941 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -45,7 +45,15 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.2.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable ! line vty no login diff --git a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg index 3aa61d0..2ced140 100644 --- a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg +++ b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg @@ -34,7 +34,16 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.2.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! ! line vty no login diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index 5e0485c..519de4b 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -7,6 +7,7 @@ [TESTPORT_PARAMETERS] *.BSCVTY.CTRL_HOSTNAME := "172.18.12.20" +*.STATSVTY.CTRL_HOSTNAME := "172.18.12.20" [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.12.20"; @@ -25,6 +26,7 @@ rctx := 0 } }; +StatsD_Checker.mp_enable_stats := true; [MAIN_CONTROLLER] diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 8d52884..2e349a4 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -34,7 +34,15 @@ logging level lm3ua notice logging level lmgcp notice ! -stats interval 5 +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.12.203 + remote-port 8125 + flush-period 1 + mtu 1024 + enable ! line vty no login -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6ed591cdc4d3108547eda2a1755ae6f6cef2b4d2 Gerrit-Change-Number: 19583 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 00:18:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 00:18:56 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f35d88fdd563_74bf2aebd44c4600804044@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Unstable/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 157s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 157s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 157s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 157s] | | [ 157s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 157s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 157s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 157s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 157s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 157s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 157s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 158s] cc1: all warnings being treated as errors [ 158s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 158s] make[3]: *** Waiting for unfinished jobs.... [ 158s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 158s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 158s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 158s] make[1]: *** [Makefile:166: all] Error 2 [ 158s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 158s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 158s] make: *** [debian/rules:9: build] Error 25 [ 158s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 158s] ### VM INTERACTION START ### [ 161s] [ 148.323246] sysrq: Power Off [ 161s] [ 148.328312] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] lamb28 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 14 00:18:41 UTC 2020. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 00:20:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 00:20:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f35d8ca6ba24_74bf2aebd44c46008043aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 112s] [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: 16464 B 16 KB 100.49% [ 113s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 113s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 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 ### [ 116s] [ 107.335234] sysrq: Power Off [ 116s] [ 107.346474] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 00:20:03 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 00:22:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 00:22:21 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f35d942cbcd7_74bf2aebd44c460080451@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Unstable/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 123s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 123s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 123s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 123s] | | [ 123s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 123s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 123s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 123s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 123s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 123s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 123s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 124s] cc1: all warnings being treated as errors [ 124s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 124s] make[3]: *** Waiting for unfinished jobs.... [ 124s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 124s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] make[1]: *** [Makefile:166: all] Error 2 [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 124s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 124s] make: *** [debian/rules:9: build] Error 25 [ 124s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 124s] ### VM INTERACTION START ### [ 127s] [ 116.686107] sysrq: Power Off [ 127s] [ 116.693021] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] lamb21 failed "build ulfius_2.5.2-4.1.dsc" at Fri Aug 14 00:22:09 UTC 2020. [ 127s] -- 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 Aug 14 01:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 01:15:27 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19639 ) Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... vty cpu sched: do not assert if sched impossible Shared code might be used by applications that have no vty, so sched can't be initialized, do not assert and break everything in this case, a warning should suffice. Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 --- M src/vty/cpu_sched_vty.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/19639/1 diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c index 3b6067a..b962284 100644 --- a/src/vty/cpu_sched_vty.c +++ b/src/vty/cpu_sched_vty.c @@ -631,7 +631,10 @@ int rc = 0; /* Assert subsystem was inited and structs are preset */ - OSMO_ASSERT(sched_vty_opts); + if (!sched_vty_opts) { + LOGP(DLGLOBAL, LOGL_FATAL, "Setting cpu-affinity mask impossible: no opts!\n"); + return 0; + } if (pthread_getname_np(pthread_self(), name, sizeof(name)) == 0) has_name = true; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 01:32:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:32:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f35e9af7e753_74bf2aebd44c46008096c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 48s] 3: rtp_test ok [ 48s] 4: trau_sync ok [ 48s] [ 48s] ## ------------- ## [ 48s] ## Test results. ## [ 48s] ## ------------- ## [ 48s] [ 48s] All 4 tests were successful. [ 48s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 48s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 48s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 48s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 48s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 48s] + RPM_EC=0 [ 48s] ++ jobs -p [ 48s] + exit 0 [ 48s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.i586 [ 48s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.i386/usr/lib/libosmoabis.so.6* [ 48s] [ 48s] [ 48s] RPM build errors: [ 48s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.i386/usr/lib/libosmoabis.so.6* [ 48s] ### VM INTERACTION START ### [ 51s] [ 46.130868] sysrq: Power Off [ 51s] [ 46.131907] reboot: Power down [ 51s] ### VM INTERACTION END ### [ 51s] [ 51s] build75 failed "build libosmo-abis.spec" at Fri Aug 14 01:32:09 UTC 2020. [ 51s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:33:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:33:13 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f35e9e9e43e0_74bf2aebd44c46008097b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 78s] 4: trau_sync ok [ 78s] [ 78s] ## ------------- ## [ 78s] ## Test results. ## [ 78s] ## ------------- ## [ 78s] [ 78s] All 4 tests were successful. [ 78s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 78s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 78s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 78s] make[2]: Nothing to be done for 'check-am'. [ 78s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 78s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 78s] + RPM_EC=0 [ 78s] ++ jobs -p [ 78s] + exit 0 [ 78s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.aarch64 [ 78s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 78s] [ 78s] [ 78s] RPM build errors: [ 78s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 78s] ### VM INTERACTION START ### [ 81s] [ 69.001416] sysrq: Power Off [ 81s] [ 69.002955] reboot: Power down [ 81s] ### VM INTERACTION END ### [ 81s] [ 81s] obs-arm-8 failed "build libosmo-abis.spec" at Fri Aug 14 01:33:10 UTC 2020. [ 81s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:33:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:33:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f35ea095a487_74bf2aebd44c46008098af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 114s] 1: ipa_recv ok [ 114s] 2: subchan_demux ok [ 115s] 3: rtp_test ok [ 115s] 4: trau_sync ok [ 115s] [ 115s] ## ------------- ## [ 115s] ## Test results. ## [ 115s] ## ------------- ## [ 115s] [ 115s] All 4 tests were successful. [ 115s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 115s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 115s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 115s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 115s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 115s] + exit 0 [ 115s] Processing files: libosmoabis9-1.0.0.14.297a-lp151.1.1.aarch64 [ 115s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 115s] [ 115s] [ 115s] RPM build errors: [ 115s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 115s] ### VM INTERACTION START ### [ 118s] [ 101.934358] sysrq: SysRq : Power Off [ 118s] [ 101.938667] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] obs-arm-2 failed "build libosmo-abis.spec" at Fri Aug 14 01:33:45 UTC 2020. [ 118s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:34:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:34:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f35ea23277a7_74bf2aebd44c4600809970@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-bts failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 92s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/paging' [ 92s] Making all in cipher [ 92s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 92s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -fomit-frame-pointer -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o cipher_test.o cipher_test.c [ 92s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -fomit-frame-pointer -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o stubs.o `test -f './../stubs.c' || echo './'`./../stubs.c [ 92s] /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -fomit-frame-pointer -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -ltalloc -losmocore -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec [ 92s] libtool: link: gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -fomit-frame-pointer -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -losmogsm -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec -pthread [ 93s] /usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: warning: libosmocore.so.12, needed by /usr/lib/gcc/i586-suse-linux/10/../../../libosmotrau.so, may conflict with libosmocore.so.16 [ 93s] /usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: /usr/lib/gcc/i586-suse-linux/10/../../../libosmoabis.so: undefined reference to `lapd_dl_init2 at LIBOSMOGSM_1.0' [ 93s] collect2: error: ld returned 1 exit status [ 93s] make[3]: *** [Makefile:375: cipher_test] Error 1 [ 93s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 93s] make[2]: *** [Makefile:383: all-recursive] Error 1 [ 93s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests' [ 93s] make[1]: *** [Makefile:437: all-recursive] Error 1 [ 93s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf' [ 93s] make: *** [Makefile:369: all] Error 2 [ 93s] error: Bad exit status from /var/tmp/rpm-tmp.vQUsIE (%build) [ 93s] [ 93s] [ 93s] RPM build errors: [ 93s] Bad exit status from /var/tmp/rpm-tmp.vQUsIE (%build) [ 93s] ### VM INTERACTION START ### [ 96s] [ 84.331308] sysrq: Power Off [ 96s] [ 84.352528] reboot: Power down [ 96s] ### VM INTERACTION END ### [ 96s] [ 96s] lamb08 failed "build osmo-bts.spec" at Fri Aug 14 01:34:03 UTC 2020. [ 96s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:34:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:34:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f35ea447a826_74bf2aebd44c46008100ab@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-bts failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 79s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/paging' [ 79s] Making all in cipher [ 79s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 79s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o cipher_test.o cipher_test.c [ 79s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o stubs.o `test -f './../stubs.c' || echo './'`./../stubs.c [ 79s] /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -ltalloc -losmocore -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec [ 79s] libtool: link: gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -losmogsm -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec -pthread [ 80s] /usr/lib64/gcc/aarch64-suse-linux/10/../../../../aarch64-suse-linux/bin/ld: warning: libosmocore.so.12, needed by /usr/lib64/gcc/aarch64-suse-linux/10/../../../../lib64/libosmotrau.so, may conflict with libosmocore.so.16 [ 80s] /usr/lib64/gcc/aarch64-suse-linux/10/../../../../aarch64-suse-linux/bin/ld: /usr/lib64/gcc/aarch64-suse-linux/10/../../../../lib64/libosmoabis.so: undefined reference to `lapd_dl_init2 at LIBOSMOGSM_1.0' [ 80s] collect2: error: ld returned 1 exit status [ 80s] make[3]: *** [Makefile:375: cipher_test] Error 1 [ 80s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 80s] make[2]: *** [Makefile:383: all-recursive] Error 1 [ 80s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests' [ 80s] make[1]: *** [Makefile:437: all-recursive] Error 1 [ 80s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf' [ 80s] make: *** [Makefile:369: all] Error 2 [ 80s] error: Bad exit status from /var/tmp/rpm-tmp.kLOExu (%build) [ 80s] [ 80s] [ 80s] RPM build errors: [ 80s] Bad exit status from /var/tmp/rpm-tmp.kLOExu (%build) [ 80s] ### VM INTERACTION START ### [ 83s] [ 71.071116] sysrq: Power Off [ 83s] [ 71.095848] reboot: Power down [ 83s] ### VM INTERACTION END ### [ 83s] [ 83s] obs-arm-8 failed "build osmo-bts.spec" at Fri Aug 14 01:34:50 UTC 2020. [ 83s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:35:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:35:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f35ea60555df_74bf2aebd44c46008102e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 57s] checking for LIBOSMOCORE... yes [ 57s] checking for LIBOSMOGSM... yes [ 57s] checking for LIBOSMOCTRL... yes [ 57s] checking for LIBOSMOVTY... yes [ 57s] checking for LIBOSMONETIF... yes [ 57s] checking for LIBOSMOABIS... yes [ 57s] checking for LIBOSMOTRAU... no [ 57s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 57s] [ 57s] Package 'libosmotrau', required by 'virtual:world', not found [ 57s] [ 57s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 57s] installed software in a non-standard prefix. [ 57s] [ 57s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 57s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 57s] See the pkg-config man page for more details. [ 57s] error: Bad exit status from /var/tmp/rpm-tmp.AgBYt5 (%build) [ 57s] [ 57s] [ 57s] RPM build errors: [ 57s] Bad exit status from /var/tmp/rpm-tmp.AgBYt5 (%build) [ 57s] ### VM INTERACTION START ### [ 60s] [ 54.013189] sysrq: Power Off [ 60s] [ 54.018475] reboot: Power down [ 60s] ### VM INTERACTION END ### [ 60s] [ 60s] lamb56 failed "build osmo-mgw.spec" at Fri Aug 14 01:35:00 UTC 2020. [ 60s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:35:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:35:13 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f35ea60a4f4f_74bf2aebd44c46008103fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 158s] 1: ipa_recv ok [ 158s] 2: subchan_demux ok [ 158s] 3: rtp_test ok [ 158s] 4: trau_sync ok [ 158s] [ 158s] ## ------------- ## [ 158s] ## Test results. ## [ 158s] ## ------------- ## [ 158s] [ 158s] All 4 tests were successful. [ 158s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 158s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 158s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 158s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 158s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 158s] + exit 0 [ 158s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.aarch64 [ 158s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 158s] [ 158s] [ 158s] RPM build errors: [ 158s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.aarch64/usr/lib64/libosmoabis.so.6* [ 158s] ### VM INTERACTION START ### [ 159s] Powering off. [ 159s] [ 140.975491] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] obs-arm-9 failed "build libosmo-abis.spec" at Fri Aug 14 01:35:01 UTC 2020. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:35:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:35:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f35ea7f7d5b4_74bf2aebd44c46008104b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 104s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 104s] [COMPILING libboard/qmod/source/card_pres.c] [ 104s] [COMPILING libboard/qmod/source/wwan_led.c] [ 104s] [COMPILING libboard/qmod/source/i2c.c] [ 104s] [COMPILING libboard/qmod/source/board_qmod.c] [ 104s] [COMPILING apps/dfu/main.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 104s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 105s] Memory region Used Size Region Size %age Used [ 105s] rom: 16576 B 16 KB 101.17% [ 105s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 105s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 105s] collect2: error: ld returned 1 exit status [ 105s] % [ 105s] make[2]: *** [Makefile:234: flash] Error 1 [ 105s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 105s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 105s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 105s] dh_auto_build: make -j1 returned exit code 2 [ 105s] make: *** [debian/rules:16: build] Error 2 [ 105s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 105s] ### VM INTERACTION START ### [ 108s] [ 102.118557] sysrq: Power Off [ 108s] [ 102.120740] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] sheep86 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:35:13 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:35:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:35:30 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f35ea809e1e_74bf2aebd44c46008105ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 62s] 3: rtp_test ok [ 62s] 4: trau_sync ok [ 62s] [ 62s] ## ------------- ## [ 62s] ## Test results. ## [ 62s] ## ------------- ## [ 62s] [ 62s] All 4 tests were successful. [ 62s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 62s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 62s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 62s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 62s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 62s] + RPM_EC=0 [ 62s] ++ jobs -p [ 62s] + exit 0 [ 62s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.x86_64 [ 62s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 62s] [ 62s] [ 62s] RPM build errors: [ 62s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 62s] ### VM INTERACTION START ### [ 65s] [ 58.706363] sysrq: Power Off [ 65s] [ 58.713021] reboot: Power down [ 65s] ### VM INTERACTION END ### [ 65s] [ 65s] lamb07 failed "build libosmo-abis.spec" at Fri Aug 14 01:35:18 UTC 2020. [ 65s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:35:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:35:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f35ea815578a_74bf2aebd44c46008106d7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 45s] 1: ipa_recv ok [ 45s] 2: subchan_demux ok [ 45s] 3: rtp_test ok [ 45s] 4: trau_sync ok [ 45s] [ 45s] ## ------------- ## [ 45s] ## Test results. ## [ 45s] ## ------------- ## [ 45s] [ 45s] All 4 tests were successful. [ 45s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 45s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 45s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 45s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 45s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 45s] + exit 0 [ 45s] Processing files: libosmoabis9-1.0.0.14.297a-lp152.1.1.x86_64 [ 45s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp152.1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 45s] [ 45s] [ 45s] RPM build errors: [ 45s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp152.1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 45s] ### VM INTERACTION START ### [ 49s] [ 43.913072] sysrq: Power Off [ 49s] [ 43.921993] reboot: Power down [ 49s] ### VM INTERACTION END ### [ 49s] [ 49s] sheep81 failed "build libosmo-abis.spec" at Fri Aug 14 01:35:46 UTC 2020. [ 49s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f35ea9b29774_74bf2aebd44c4600810811@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 62s] 1: ipa_recv ok [ 62s] 2: subchan_demux ok [ 63s] 3: rtp_test ok [ 63s] 4: trau_sync ok [ 63s] [ 63s] ## ------------- ## [ 63s] ## Test results. ## [ 63s] ## ------------- ## [ 63s] [ 63s] All 4 tests were successful. [ 63s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 63s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 63s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 63s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 63s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 63s] + exit 0 [ 63s] Processing files: libosmoabis9-1.0.0.14.297a-lp151.1.1.x86_64 [ 63s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 63s] [ 63s] [ 63s] RPM build errors: [ 63s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 63s] ### VM INTERACTION START ### [ 66s] [ 56.839713] sysrq: SysRq : Power Off [ 66s] [ 56.843025] reboot: Power down [ 66s] ### VM INTERACTION END ### [ 66s] [ 66s] cloud125 failed "build libosmo-abis.spec" at Fri Aug 14 01:35:57 UTC 2020. [ 66s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f35ea9acd986_74bf2aebd44c460081074a@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: [ 68s] [COMPILING libboard/common/source/uart_console.c] [ 68s] [COMPILING libboard/common/source/led.c] [ 69s] [COMPILING libboard/common/source/boardver_adc.c] [ 69s] [COMPILING libboard/common/source/manifest.c] [ 69s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 69s] [COMPILING apps/dfu/main.c] [ 69s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 69s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 69s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 69s] Memory region Used Size Region Size %age Used [ 69s] rom: 16460 B 16 KB 100.46% [ 69s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 69s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 69s] collect2: error: ld returned 1 exit status [ 69s] % [ 69s] make[2]: *** [Makefile:234: flash] Error 1 [ 69s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 69s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 69s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 69s] dh_auto_build: error: make -j1 returned exit code 2 [ 69s] make: *** [debian/rules:16: build] Error 25 [ 69s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 69s] ### VM INTERACTION START ### [ 72s] [ 65.209742] sysrq: Power Off [ 72s] [ 65.211016] reboot: Power down [ 72s] ### VM INTERACTION END ### [ 72s] [ 72s] build70 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:35:55 UTC 2020. [ 72s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f35ea9b72104_74bf2aebd44c4600810917@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 148s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 148s] [COMPILING libboard/qmod/source/card_pres.c] [ 148s] [COMPILING libboard/qmod/source/wwan_led.c] [ 148s] [COMPILING libboard/qmod/source/i2c.c] [ 148s] [COMPILING libboard/qmod/source/board_qmod.c] [ 148s] [COMPILING apps/dfu/main.c] [ 149s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 149s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 149s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 149s] Memory region Used Size Region Size %age Used [ 149s] rom: 16504 B 16 KB 100.73% [ 149s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 149s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 149s] collect2: error: ld returned 1 exit status [ 149s] % [ 149s] make[2]: *** [Makefile:234: flash] Error 1 [ 149s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 149s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 149s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 149s] dh_auto_build: make -j1 returned exit code 2 [ 149s] make: *** [debian/rules:16: build] Error 2 [ 149s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 149s] ### VM INTERACTION START ### [ 152s] [ 144.192676] sysrq: Power Off [ 152s] [ 144.198355] reboot: Power down [ 152s] ### VM INTERACTION END ### [ 152s] [ 152s] lamb11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:36:00 UTC 2020. [ 152s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f35ea9c1b884_74bf2aebd44c460081108b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 143s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 143s] [COMPILING libboard/qmod/source/card_pres.c] [ 144s] [COMPILING libboard/qmod/source/wwan_led.c] [ 144s] [COMPILING libboard/qmod/source/i2c.c] [ 144s] [COMPILING libboard/qmod/source/board_qmod.c] [ 144s] [COMPILING apps/dfu/main.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 144s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 144s] Memory region Used Size Region Size %age Used [ 144s] rom: 16504 B 16 KB 100.73% [ 144s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 144s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 144s] collect2: error: ld returned 1 exit status [ 144s] % [ 144s] make[2]: *** [Makefile:234: flash] Error 1 [ 144s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 144s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 144s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 144s] dh_auto_build: make -j1 returned exit code 2 [ 144s] make: *** [debian/rules:16: build] Error 255 [ 144s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 144s] ### VM INTERACTION START ### [ 147s] [ 142.763966] sysrq: Power Off [ 147s] [ 142.768547] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] goat01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:35:50 UTC 2020. [ 147s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:38 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f35eabb584ec_74bf2aebd44c4600811168@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 49s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/paging' [ 49s] Making all in cipher [ 49s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 49s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o cipher_test.o cipher_test.c [ 49s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o stubs.o `test -f './../stubs.c' || echo './'`./../stubs.c [ 49s] /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -ltalloc -losmocore -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec [ 50s] libtool: link: gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -losmogsm -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec -pthread [ 50s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: warning: libosmocore.so.12, needed by /usr/lib64/gcc/x86_64-suse-linux/10/../../../../lib64/libosmotrau.so, may conflict with libosmocore.so.16 [ 50s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/10/../../../../lib64/libosmoabis.so: undefined reference to `lapd_dl_init2 at LIBOSMOGSM_1.0' [ 50s] collect2: error: ld returned 1 exit status [ 50s] make[3]: *** [Makefile:375: cipher_test] Error 1 [ 50s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 50s] make[2]: *** [Makefile:383: all-recursive] Error 1 [ 50s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests' [ 50s] make[1]: *** [Makefile:437: all-recursive] Error 1 [ 50s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf' [ 50s] make: *** [Makefile:369: all] Error 2 [ 50s] error: Bad exit status from /var/tmp/rpm-tmp.hQVpoy (%build) [ 50s] [ 50s] [ 50s] RPM build errors: [ 50s] Bad exit status from /var/tmp/rpm-tmp.hQVpoy (%build) [ 50s] ### VM INTERACTION START ### [ 53s] [ 48.220939] sysrq: Power Off [ 53s] [ 48.225012] reboot: Power down [ 53s] ### VM INTERACTION END ### [ 53s] [ 53s] sheep85 failed "build osmo-bts.spec" at Fri Aug 14 01:36:28 UTC 2020. [ 53s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:36:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:36:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f35eabc41914_74bf2aebd44c4600811253@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 59s] checking for LIBOSMOCORE... yes [ 59s] checking for LIBOSMOGSM... yes [ 59s] checking for LIBOSMOCTRL... yes [ 59s] checking for LIBOSMOVTY... yes [ 59s] checking for LIBOSMONETIF... yes [ 59s] checking for LIBOSMOABIS... yes [ 59s] checking for LIBOSMOTRAU... no [ 59s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 59s] [ 59s] Package 'libosmotrau', required by 'virtual:world', not found [ 59s] [ 59s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 59s] installed software in a non-standard prefix. [ 59s] [ 59s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 59s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 59s] See the pkg-config man page for more details. [ 59s] error: Bad exit status from /var/tmp/rpm-tmp.AYTadt (%build) [ 59s] [ 59s] [ 59s] RPM build errors: [ 59s] Bad exit status from /var/tmp/rpm-tmp.AYTadt (%build) [ 59s] ### VM INTERACTION START ### [ 62s] [ 50.096397] sysrq: Power Off [ 62s] [ 50.098202] reboot: Power down [ 63s] ### VM INTERACTION END ### [ 63s] [ 63s] obs-arm-8 failed "build osmo-mgw.spec" at Fri Aug 14 01:36:40 UTC 2020. [ 63s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:37:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:37:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f35ead672a05_74bf2aebd44c4600811382@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 171s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 171s] [COMPILING libboard/qmod/source/card_pres.c] [ 171s] [COMPILING libboard/qmod/source/wwan_led.c] [ 171s] [COMPILING libboard/qmod/source/i2c.c] [ 171s] [COMPILING libboard/qmod/source/board_qmod.c] [ 171s] [COMPILING apps/dfu/main.c] [ 171s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 172s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 172s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 172s] Memory region Used Size Region Size %age Used [ 172s] rom: 16504 B 16 KB 100.73% [ 172s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 172s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 172s] collect2: error: ld returned 1 exit status [ 172s] % [ 172s] make[2]: *** [Makefile:234: flash] Error 1 [ 172s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 172s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 172s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 172s] dh_auto_build: make -j1 returned exit code 2 [ 172s] make: *** [debian/rules:16: build] Error 2 [ 172s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 172s] ### VM INTERACTION START ### [ 175s] [ 159.804797] sysrq: Power Off [ 175s] [ 159.809860] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] cloud109 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:37:08 UTC 2020. [ 175s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:37:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:37:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f35eaf5c090b_74bf2aebd44c460081142d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 133s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 133s] [COMPILING libboard/qmod/source/card_pres.c] [ 134s] [COMPILING libboard/qmod/source/wwan_led.c] [ 134s] [COMPILING libboard/qmod/source/i2c.c] [ 134s] [COMPILING libboard/qmod/source/board_qmod.c] [ 134s] [COMPILING apps/dfu/main.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 135s] Memory region Used Size Region Size %age Used [ 135s] rom: 16576 B 16 KB 101.17% [ 135s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 135s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 135s] collect2: error: ld returned 1 exit status [ 135s] % [ 135s] make[2]: *** [Makefile:234: flash] Error 1 [ 135s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 135s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 135s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 135s] dh_auto_build: make -j1 returned exit code 2 [ 135s] make: *** [debian/rules:16: build] Error 2 [ 135s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 135s] ### VM INTERACTION START ### [ 138s] [ 128.844989] sysrq: Power Off [ 138s] [ 128.850092] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] cloud131 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:37:30 UTC 2020. [ 138s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:38:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:38:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f35eb14f2a0e_74bf2aebd44c46008115b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 41s] checking for LIBOSMOCORE... yes [ 42s] checking for LIBOSMOGSM... yes [ 42s] checking for LIBOSMOCTRL... yes [ 42s] checking for LIBOSMOVTY... yes [ 42s] checking for LIBOSMONETIF... yes [ 42s] checking for LIBOSMOABIS... yes [ 42s] checking for LIBOSMOTRAU... no [ 42s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 42s] [ 42s] Package 'libosmotrau', required by 'virtual:world', not found [ 42s] [ 42s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 42s] installed software in a non-standard prefix. [ 42s] [ 42s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 42s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 42s] See the pkg-config man page for more details. [ 42s] error: Bad exit status from /var/tmp/rpm-tmp.MAFlO7 (%build) [ 42s] [ 42s] [ 42s] RPM build errors: [ 42s] Bad exit status from /var/tmp/rpm-tmp.MAFlO7 (%build) [ 42s] ### VM INTERACTION START ### [ 45s] [ 39.297275] sysrq: Power Off [ 45s] [ 39.298736] reboot: Power down [ 45s] ### VM INTERACTION END ### [ 45s] [ 45s] build72 failed "build osmo-mgw.spec" at Fri Aug 14 01:37:58 UTC 2020. [ 45s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:38:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:38:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f35eb1563e19_74bf2aebd44c4600811625@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 139s] [COMPILING libboard/qmod/source/i2c.c] [ 139s] [COMPILING libboard/qmod/source/board_qmod.c] [ 139s] [COMPILING apps/dfu/main.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 140s] Memory region Used Size Region Size %age Used [ 140s] rom: 16584 B 16 KB 101.22% [ 140s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 140s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 140s] collect2: error: ld returned 1 exit status [ 140s] % [ 140s] Makefile:234: recipe for target 'flash' failed [ 140s] make[2]: *** [flash] Error 1 [ 140s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 140s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 140s] make[1]: *** [fw-qmod-dfu] Error 2 [ 140s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 140s] dh_auto_build: make -j1 returned exit code 2 [ 140s] debian/rules:16: recipe for target 'build' failed [ 140s] make: *** [build] Error 2 [ 140s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 140s] ### VM INTERACTION START ### [ 143s] [ 133.808828] sysrq: Power Off [ 143s] [ 133.810065] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:37:59 UTC 2020. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:38:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:38:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f35eb161f737_74bf2aebd44c4600811862@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 142s] [COMPILING libboard/qmod/source/i2c.c] [ 142s] [COMPILING libboard/qmod/source/board_qmod.c] [ 142s] [COMPILING apps/dfu/main.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 143s] Memory region Used Size Region Size %age Used [ 143s] rom: 16584 B 16 KB 101.22% [ 143s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 143s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 143s] collect2: error: ld returned 1 exit status [ 143s] % [ 143s] Makefile:234: recipe for target 'flash' failed [ 143s] make[2]: *** [flash] Error 1 [ 143s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 143s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 143s] make[1]: *** [fw-qmod-dfu] Error 2 [ 143s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 143s] dh_auto_build: make -j1 returned exit code 2 [ 143s] debian/rules:16: recipe for target 'build' failed [ 143s] make: *** [build] Error 2 [ 143s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 143s] ### VM INTERACTION START ### [ 146s] [ 138.434154] sysrq: Power Off [ 146s] [ 138.442433] reboot: Power down [ 146s] ### VM INTERACTION END ### [ 146s] [ 146s] lamb54 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:38:06 UTC 2020. [ 146s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:38:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:38:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f35eb15a78c9_74bf2aebd44c46008117d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 128s] [COMPILING libboard/qmod/source/i2c.c] [ 129s] [COMPILING libboard/qmod/source/board_qmod.c] [ 129s] [COMPILING apps/dfu/main.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 129s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 129s] Memory region Used Size Region Size %age Used [ 129s] rom: 16576 B 16 KB 101.17% [ 129s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 129s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 129s] collect2: error: ld returned 1 exit status [ 129s] % [ 129s] Makefile:234: recipe for target 'flash' failed [ 129s] make[2]: *** [flash] Error 1 [ 129s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 129s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 129s] make[1]: *** [fw-qmod-dfu] Error 2 [ 129s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 129s] dh_auto_build: make -j1 returned exit code 2 [ 129s] debian/rules:16: recipe for target 'build' failed [ 129s] make: *** [build] Error 2 [ 129s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 129s] ### VM INTERACTION START ### [ 132s] [ 125.097230] sysrq: Power Off [ 132s] [ 125.102024] reboot: Power down [ 133s] ### VM INTERACTION END ### [ 133s] [ 133s] lamb06 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:38:00 UTC 2020. [ 133s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:38:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:38:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f35eb4ebea7b_74bf2aebd44c4600811949@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 48s] checking for libosmocore >= 1.1.0... yes [ 48s] checking for libosmogsm >= 1.1.0... yes [ 48s] checking for libosmoctrl >= 1.1.0... yes [ 48s] checking for libosmovty >= 1.1.0... yes [ 48s] checking for libosmo-netif >= 0.6.0... yes [ 48s] checking for libosmoabis >= 0.6.0... yes [ 48s] checking for libosmotrau >= 0.6.0... no [ 48s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 48s] [ 48s] No package 'libosmotrau' found [ 48s] [ 48s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 48s] installed software in a non-standard prefix. [ 48s] [ 48s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 48s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 48s] See the pkg-config man page for more details. [ 48s] error: Bad exit status from /var/tmp/rpm-tmp.2gUTAz (%build) [ 48s] [ 48s] [ 48s] RPM build errors: [ 48s] Bad exit status from /var/tmp/rpm-tmp.2gUTAz (%build) [ 49s] ### VM INTERACTION START ### [ 52s] [ 46.681060] sysrq: Power Off [ 52s] [ 46.688641] reboot: Power down [ 52s] ### VM INTERACTION END ### [ 52s] [ 52s] lamb21 failed "build osmo-mgw.spec" at Fri Aug 14 01:38:42 UTC 2020. [ 52s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:39:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:39:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f35eb6eb79f3_74bf2aebd44c4600812059@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 126s] [COMPILING libboard/qmod/source/i2c.c] [ 126s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [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] [ 127s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16576 B 16 KB 101.17% [ 127s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 127s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] Makefile:234: recipe for target 'flash' failed [ 127s] make[2]: *** [flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 127s] make[1]: *** [fw-qmod-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: make -j1 returned exit code 2 [ 127s] debian/rules:16: recipe for target 'build' failed [ 127s] make: *** [build] Error 2 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 130s] [ 123.276573] sysrq: Power Off [ 130s] [ 123.284452] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] lamb20 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:39:29 UTC 2020. [ 130s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:39:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:39:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f35eb6f332b1_74bf2aebd44c4600812138@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 270s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 270s] [COMPILING libboard/qmod/source/card_pres.c] [ 270s] [COMPILING libboard/qmod/source/wwan_led.c] [ 270s] [COMPILING libboard/qmod/source/i2c.c] [ 271s] [COMPILING libboard/qmod/source/board_qmod.c] [ 271s] [COMPILING apps/dfu/main.c] [ 272s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 272s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 272s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 273s] Memory region Used Size Region Size %age Used [ 273s] rom: 16504 B 16 KB 100.73% [ 273s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 273s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 273s] collect2: error: ld returned 1 exit status [ 273s] % [ 273s] make[2]: *** [Makefile:234: flash] Error 1 [ 273s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 273s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 273s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 273s] dh_auto_build: make -j1 returned exit code 2 [ 273s] make: *** [debian/rules:16: build] Error 2 [ 273s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 273s] ### VM INTERACTION START ### [ 276s] [ 257.836861] sysrq: Power Off [ 276s] [ 257.840755] reboot: Power down [ 276s] ### VM INTERACTION END ### [ 276s] [ 276s] obs-arm-3 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:39:19 UTC 2020. [ 276s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:40:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:40:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f35eb8ec94fe_74bf2aebd44c4600812260@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 153s] 1: ipa_recv ok [ 153s] 2: subchan_demux ok [ 153s] 3: rtp_test ok [ 153s] 4: trau_sync ok [ 153s] [ 153s] ## ------------- ## [ 153s] ## Test results. ## [ 153s] ## ------------- ## [ 153s] [ 153s] All 4 tests were successful. [ 153s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 153s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 153s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 153s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 153s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 153s] + exit 0 [ 153s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.x86_64 [ 153s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 153s] [ 153s] [ 153s] RPM build errors: [ 153s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.x86_64/usr/lib64/libosmoabis.so.6* [ 153s] ### VM INTERACTION START ### [ 154s] Powering off. [ 154s] [ 143.396337] reboot: Power down [ 154s] ### VM INTERACTION END ### [ 154s] [ 154s] lamb10 failed "build libosmo-abis.spec" at Fri Aug 14 01:39:50 UTC 2020. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:40:38 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:40:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f35eba91f957_74bf2aebd44c4600812347@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_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/wwan_perst.c] [ 161s] [COMPILING libboard/qmod/source/card_pres.c] [ 161s] [COMPILING libboard/qmod/source/wwan_led.c] [ 161s] [COMPILING libboard/qmod/source/i2c.c] [ 162s] [COMPILING libboard/qmod/source/board_qmod.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] [ 162s] Memory region Used Size Region Size %age Used [ 162s] rom: 16504 B 16 KB 100.73% [ 162s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 162s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 162s] collect2: error: ld returned 1 exit status [ 162s] % [ 162s] make[2]: *** [Makefile:234: flash] Error 1 [ 162s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 162s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] dh_auto_build: make -j1 returned exit code 2 [ 162s] make: *** [debian/rules:16: build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] ### VM INTERACTION START ### [ 165s] [ 157.115287] sysrq: Power Off [ 165s] [ 157.120035] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:40:31 UTC 2020. [ 165s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:41:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:41:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f35ebe71ae5c_74bf2aebd44c46008124e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 87s] [COMPILING libboard/qmod/source/i2c.c] [ 87s] [COMPILING libboard/qmod/source/board_qmod.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] [ 88s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 88s] Memory region Used Size Region Size %age Used [ 88s] rom: 16584 B 16 KB 101.22% [ 88s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 88s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 88s] collect2: error: ld returned 1 exit status [ 88s] % [ 88s] Makefile:234: recipe for target 'flash' failed [ 88s] make[2]: *** [flash] Error 1 [ 88s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 88s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 88s] make[1]: *** [fw-qmod-dfu] Error 2 [ 88s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 88s] dh_auto_build: make -j1 returned exit code 2 [ 88s] debian/rules:16: recipe for target 'build' failed [ 88s] make: *** [build] Error 2 [ 88s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 88s] ### VM INTERACTION START ### [ 91s] [ 84.813722] sysrq: Power Off [ 91s] [ 84.818380] reboot: Power down [ 91s] ### VM INTERACTION END ### [ 91s] [ 91s] sheep85 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:41:18 UTC 2020. [ 91s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:41:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:41:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f35ebe7bdfee_74bf2aebd44c460081255e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 170s] [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: 16464 B 16 KB 100.49% [ 171s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 171s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 171s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 171s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 171s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 171s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 171s] collect2: error: ld returned 1 exit status [ 171s] % [ 171s] make[2]: *** [Makefile:234: 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] [ 163.632295] sysrq: Power Off [ 174s] [ 163.639255] reboot: Power down [ 174s] ### VM INTERACTION END ### [ 174s] [ 174s] lamb05 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:41:29 UTC 2020. [ 174s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:42:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:42:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f35ec236eaa4_74bf2aebd44c46008126f0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 164s] [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] [ 165s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 165s] Memory region Used Size Region Size %age Used [ 165s] rom: 16464 B 16 KB 100.49% [ 165s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 165s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 165s] collect2: error: ld returned 1 exit status [ 165s] % [ 165s] make[2]: *** [Makefile:234: flash] Error 1 [ 165s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 165s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 165s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 165s] dh_auto_build: error: make -j1 returned exit code 2 [ 165s] make: *** [debian/rules:16: build] Error 25 [ 165s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 165s] ### VM INTERACTION START ### [ 168s] [ 156.636331] sysrq: Power Off [ 168s] [ 156.640395] reboot: Power down [ 168s] ### VM INTERACTION END ### [ 168s] [ 168s] lamb23 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 01:42:53 UTC 2020. [ 168s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 01:53:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 01:53:30 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f35eeb7e2eda_74bf2aebd44c46008129d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 173s] 3: rtp_test ok [ 174s] 4: trau_sync ok [ 174s] [ 174s] ## ------------- ## [ 174s] ## Test results. ## [ 174s] ## ------------- ## [ 174s] [ 174s] All 4 tests were successful. [ 174s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 174s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 174s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 174s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 174s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 174s] + RPM_EC=0 [ 174s] ++ jobs -p [ 174s] + exit 0 [ 174s] Processing files: libosmoabis9-1.0.0.14.297a-1.1.armv7hl [ 174s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.arm/usr/lib/libosmoabis.so.6* [ 174s] [ 174s] [ 174s] RPM build errors: [ 174s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-1.1.arm/usr/lib/libosmoabis.so.6* [ 174s] ### VM INTERACTION START ### [ 177s] [ 158.564110] sysrq: Power Off [ 177s] [ 158.565735] reboot: Power down [ 177s] ### VM INTERACTION END ### [ 177s] [ 177s] armbuild10 failed "build libosmo-abis.spec" at Fri Aug 14 01:53:16 UTC 2020. [ 177s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 02:00:57 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 02:00:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <5f35f07ab1cd9_74bf2aebd44c4600813914@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 141s] 1: ipa_recv ok [ 141s] 2: subchan_demux ok [ 141s] 3: rtp_test ok [ 141s] 4: trau_sync ok [ 141s] [ 141s] ## ------------- ## [ 141s] ## Test results. ## [ 141s] ## ------------- ## [ 141s] [ 141s] All 4 tests were successful. [ 141s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 141s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a/tests' [ 141s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 141s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 141s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/libosmo-abis-1.0.0.14.297a' [ 141s] + exit 0 [ 141s] Processing files: libosmoabis9-1.0.0.14.297a-lp151.1.1.armv7hl [ 141s] error: File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.arm/usr/lib/libosmoabis.so.6* [ 141s] [ 141s] [ 141s] RPM build errors: [ 141s] File not found: /home/abuild/rpmbuild/BUILDROOT/libosmo-abis-1.0.0.14.297a-lp151.1.1.arm/usr/lib/libosmoabis.so.6* [ 141s] ### VM INTERACTION START ### [ 144s] [ 127.421388] sysrq: SysRq : Power Off [ 144s] [ 127.423899] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] armbuild10 failed "build libosmo-abis.spec" at Fri Aug 14 02:00:49 UTC 2020. [ 144s] -- 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 Aug 14 02:09:28 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:28 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... add kernel style .clang-format with 120 chars per line limit Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 --- A .clang-format 1 file changed, 521 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/40/19640/1 diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..a11c325 --- /dev/null +++ b/.clang-format @@ -0,0 +1,521 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \ +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ +# | sort | uniq +ForEachMacros: + - 'apei_estatus_for_each_section' + - 'ata_for_each_dev' + - 'ata_for_each_link' + - '__ata_qc_for_each' + - 'ata_qc_for_each' + - 'ata_qc_for_each_raw' + - 'ata_qc_for_each_with_internal' + - 'ax25_for_each' + - 'ax25_uid_for_each' + - '__bio_for_each_bvec' + - 'bio_for_each_bvec' + - 'bio_for_each_integrity_vec' + - '__bio_for_each_segment' + - 'bio_for_each_segment' + - 'bio_for_each_segment_all' + - 'bio_list_for_each' + - 'bip_for_each_vec' + - 'bitmap_for_each_clear_region' + - 'bitmap_for_each_set_region' + - 'blkg_for_each_descendant_post' + - 'blkg_for_each_descendant_pre' + - 'blk_queue_for_each_rl' + - 'bond_for_each_slave' + - 'bond_for_each_slave_rcu' + - 'bpf_for_each_spilled_reg' + - 'btree_for_each_safe128' + - 'btree_for_each_safe32' + - 'btree_for_each_safe64' + - 'btree_for_each_safel' + - 'card_for_each_dev' + - 'cgroup_taskset_for_each' + - 'cgroup_taskset_for_each_leader' + - 'cpufreq_for_each_entry' + - 'cpufreq_for_each_entry_idx' + - 'cpufreq_for_each_valid_entry' + - 'cpufreq_for_each_valid_entry_idx' + - 'css_for_each_child' + - 'css_for_each_descendant_post' + - 'css_for_each_descendant_pre' + - 'device_for_each_child_node' + - 'dma_fence_chain_for_each' + - 'drm_atomic_crtc_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane_state' + - 'drm_atomic_for_each_plane_damage' + - 'drm_client_for_each_connector_iter' + - 'drm_client_for_each_modeset' + - 'drm_connector_for_each_possible_encoder' + - 'drm_for_each_bridge_in_chain' + - 'drm_for_each_connector_iter' + - 'drm_for_each_crtc' + - 'drm_for_each_encoder' + - 'drm_for_each_encoder_mask' + - 'drm_for_each_fb' + - 'drm_for_each_legacy_plane' + - 'drm_for_each_plane' + - 'drm_for_each_plane_mask' + - 'drm_for_each_privobj' + - 'drm_mm_for_each_hole' + - 'drm_mm_for_each_node' + - 'drm_mm_for_each_node_in_range' + - 'drm_mm_for_each_node_safe' + - 'flow_action_for_each' + - 'for_each_active_dev_scope' + - 'for_each_active_drhd_unit' + - 'for_each_active_iommu' + - 'for_each_available_child_of_node' + - 'for_each_bio' + - 'for_each_board_func_rsrc' + - 'for_each_bvec' + - 'for_each_card_auxs' + - 'for_each_card_auxs_safe' + - 'for_each_card_components' + - 'for_each_card_pre_auxs' + - 'for_each_card_prelinks' + - 'for_each_card_rtds' + - 'for_each_card_rtds_safe' + - 'for_each_cgroup_storage_type' + - 'for_each_child_of_node' + - 'for_each_clear_bit' + - 'for_each_clear_bit_from' + - 'for_each_cmsghdr' + - 'for_each_compatible_node' + - 'for_each_component_dais' + - 'for_each_component_dais_safe' + - 'for_each_comp_order' + - 'for_each_console' + - 'for_each_cpu' + - 'for_each_cpu_and' + - 'for_each_cpu_not' + - 'for_each_cpu_wrap' + - 'for_each_dev_addr' + - 'for_each_dev_scope' + - 'for_each_displayid_db' + - 'for_each_dma_cap_mask' + - 'for_each_dpcm_be' + - 'for_each_dpcm_be_rollback' + - 'for_each_dpcm_be_safe' + - 'for_each_dpcm_fe' + - 'for_each_drhd_unit' + - 'for_each_dss_dev' + - 'for_each_efi_handle' + - 'for_each_efi_memory_desc' + - 'for_each_efi_memory_desc_in_map' + - 'for_each_element' + - 'for_each_element_extid' + - 'for_each_element_id' + - 'for_each_endpoint_of_node' + - 'for_each_evictable_lru' + - 'for_each_fib6_node_rt_rcu' + - 'for_each_fib6_walker_rt' + - 'for_each_free_mem_pfn_range_in_zone' + - 'for_each_free_mem_pfn_range_in_zone_from' + - 'for_each_free_mem_range' + - 'for_each_free_mem_range_reverse' + - 'for_each_func_rsrc' + - 'for_each_hstate' + - 'for_each_if' + - 'for_each_iommu' + - 'for_each_ip_tunnel_rcu' + - 'for_each_irq_nr' + - 'for_each_link_codecs' + - 'for_each_link_platforms' + - 'for_each_lru' + - 'for_each_matching_node' + - 'for_each_matching_node_and_match' + - 'for_each_member' + - 'for_each_memblock' + - 'for_each_memblock_type' + - 'for_each_memcg_cache_index' + - 'for_each_mem_pfn_range' + - 'for_each_mem_range' + - 'for_each_mem_range_rev' + - 'for_each_migratetype_order' + - 'for_each_msi_entry' + - 'for_each_msi_entry_safe' + - 'for_each_net' + - 'for_each_net_continue_reverse' + - 'for_each_netdev' + - 'for_each_netdev_continue' + - 'for_each_netdev_continue_rcu' + - 'for_each_netdev_continue_reverse' + - 'for_each_netdev_feature' + - 'for_each_netdev_in_bond_rcu' + - 'for_each_netdev_rcu' + - 'for_each_netdev_reverse' + - 'for_each_netdev_safe' + - 'for_each_net_rcu' + - 'for_each_new_connector_in_state' + - 'for_each_new_crtc_in_state' + - 'for_each_new_mst_mgr_in_state' + - 'for_each_new_plane_in_state' + - 'for_each_new_private_obj_in_state' + - 'for_each_node' + - 'for_each_node_by_name' + - 'for_each_node_by_type' + - 'for_each_node_mask' + - 'for_each_node_state' + - 'for_each_node_with_cpus' + - 'for_each_node_with_property' + - 'for_each_of_allnodes' + - 'for_each_of_allnodes_from' + - 'for_each_of_cpu_node' + - 'for_each_of_pci_range' + - 'for_each_old_connector_in_state' + - 'for_each_old_crtc_in_state' + - 'for_each_old_mst_mgr_in_state' + - 'for_each_oldnew_connector_in_state' + - 'for_each_oldnew_crtc_in_state' + - 'for_each_oldnew_mst_mgr_in_state' + - 'for_each_oldnew_plane_in_state' + - 'for_each_oldnew_plane_in_state_reverse' + - 'for_each_oldnew_private_obj_in_state' + - 'for_each_old_plane_in_state' + - 'for_each_old_private_obj_in_state' + - 'for_each_online_cpu' + - 'for_each_online_node' + - 'for_each_online_pgdat' + - 'for_each_pci_bridge' + - 'for_each_pci_dev' + - 'for_each_pci_msi_entry' + - 'for_each_populated_zone' + - 'for_each_possible_cpu' + - 'for_each_present_cpu' + - 'for_each_prime_number' + - 'for_each_prime_number_from' + - 'for_each_process' + - 'for_each_process_thread' + - 'for_each_property_of_node' + - 'for_each_registered_fb' + - 'for_each_reserved_mem_region' + - 'for_each_rtd_codec_dai' + - 'for_each_rtd_codec_dai_rollback' + - 'for_each_rtd_components' + - 'for_each_set_bit' + - 'for_each_set_bit_from' + - 'for_each_set_clump8' + - 'for_each_sg' + - 'for_each_sg_dma_page' + - 'for_each_sg_page' + - 'for_each_sibling_event' + - 'for_each_subelement' + - 'for_each_subelement_extid' + - 'for_each_subelement_id' + - '__for_each_thread' + - 'for_each_thread' + - 'for_each_wakeup_source' + - 'for_each_zone' + - 'for_each_zone_zonelist' + - 'for_each_zone_zonelist_nodemask' + - 'fwnode_for_each_available_child_node' + - 'fwnode_for_each_child_node' + - 'fwnode_graph_for_each_endpoint' + - 'gadget_for_each_ep' + - 'genradix_for_each' + - 'genradix_for_each_from' + - 'hash_for_each' + - 'hash_for_each_possible' + - 'hash_for_each_possible_rcu' + - 'hash_for_each_possible_rcu_notrace' + - 'hash_for_each_possible_safe' + - 'hash_for_each_rcu' + - 'hash_for_each_safe' + - 'hctx_for_each_ctx' + - 'hlist_bl_for_each_entry' + - 'hlist_bl_for_each_entry_rcu' + - 'hlist_bl_for_each_entry_safe' + - 'hlist_for_each' + - 'hlist_for_each_entry' + - 'hlist_for_each_entry_continue' + - 'hlist_for_each_entry_continue_rcu' + - 'hlist_for_each_entry_continue_rcu_bh' + - 'hlist_for_each_entry_from' + - 'hlist_for_each_entry_from_rcu' + - 'hlist_for_each_entry_rcu' + - 'hlist_for_each_entry_rcu_bh' + - 'hlist_for_each_entry_rcu_notrace' + - 'hlist_for_each_entry_safe' + - '__hlist_for_each_rcu' + - 'hlist_for_each_safe' + - 'hlist_nulls_for_each_entry' + - 'hlist_nulls_for_each_entry_from' + - 'hlist_nulls_for_each_entry_rcu' + - 'hlist_nulls_for_each_entry_safe' + - 'i3c_bus_for_each_i2cdev' + - 'i3c_bus_for_each_i3cdev' + - 'ide_host_for_each_port' + - 'ide_port_for_each_dev' + - 'ide_port_for_each_present_dev' + - 'idr_for_each_entry' + - 'idr_for_each_entry_continue' + - 'idr_for_each_entry_continue_ul' + - 'idr_for_each_entry_ul' + - 'in_dev_for_each_ifa_rcu' + - 'in_dev_for_each_ifa_rtnl' + - 'inet_bind_bucket_for_each' + - 'inet_lhash2_for_each_icsk_rcu' + - 'key_for_each' + - 'key_for_each_safe' + - 'klp_for_each_func' + - 'klp_for_each_func_safe' + - 'klp_for_each_func_static' + - 'klp_for_each_object' + - 'klp_for_each_object_safe' + - 'klp_for_each_object_static' + - 'kvm_for_each_memslot' + - 'kvm_for_each_vcpu' + - 'list_for_each' + - 'list_for_each_codec' + - 'list_for_each_codec_safe' + - 'list_for_each_continue' + - 'list_for_each_entry' + - 'list_for_each_entry_continue' + - 'list_for_each_entry_continue_rcu' + - 'list_for_each_entry_continue_reverse' + - 'list_for_each_entry_from' + - 'list_for_each_entry_from_rcu' + - 'list_for_each_entry_from_reverse' + - 'list_for_each_entry_lockless' + - 'list_for_each_entry_rcu' + - 'list_for_each_entry_reverse' + - 'list_for_each_entry_safe' + - 'list_for_each_entry_safe_continue' + - 'list_for_each_entry_safe_from' + - 'list_for_each_entry_safe_reverse' + - 'list_for_each_prev' + - 'list_for_each_prev_safe' + - 'list_for_each_safe' + - 'llist_for_each' + - 'llist_for_each_entry' + - 'llist_for_each_entry_safe' + - 'llist_for_each_safe' + - 'mci_for_each_dimm' + - 'media_device_for_each_entity' + - 'media_device_for_each_intf' + - 'media_device_for_each_link' + - 'media_device_for_each_pad' + - 'nanddev_io_for_each_page' + - 'netdev_for_each_lower_dev' + - 'netdev_for_each_lower_private' + - 'netdev_for_each_lower_private_rcu' + - 'netdev_for_each_mc_addr' + - 'netdev_for_each_uc_addr' + - 'netdev_for_each_upper_dev_rcu' + - 'netdev_hw_addr_list_for_each' + - 'nft_rule_for_each_expr' + - 'nla_for_each_attr' + - 'nla_for_each_nested' + - 'nlmsg_for_each_attr' + - 'nlmsg_for_each_msg' + - 'nr_neigh_for_each' + - 'nr_neigh_for_each_safe' + - 'nr_node_for_each' + - 'nr_node_for_each_safe' + - 'of_for_each_phandle' + - 'of_property_for_each_string' + - 'of_property_for_each_u32' + - 'pci_bus_for_each_resource' + - 'ping_portaddr_for_each_entry' + - 'plist_for_each' + - 'plist_for_each_continue' + - 'plist_for_each_entry' + - 'plist_for_each_entry_continue' + - 'plist_for_each_entry_safe' + - 'plist_for_each_safe' + - 'pnp_for_each_card' + - 'pnp_for_each_dev' + - 'protocol_for_each_card' + - 'protocol_for_each_dev' + - 'queue_for_each_hw_ctx' + - 'radix_tree_for_each_slot' + - 'radix_tree_for_each_tagged' + - 'rbtree_postorder_for_each_entry_safe' + - 'rdma_for_each_block' + - 'rdma_for_each_port' + - 'resource_list_for_each_entry' + - 'resource_list_for_each_entry_safe' + - 'rhl_for_each_entry_rcu' + - 'rhl_for_each_rcu' + - 'rht_for_each' + - 'rht_for_each_entry' + - 'rht_for_each_entry_from' + - 'rht_for_each_entry_rcu' + - 'rht_for_each_entry_rcu_from' + - 'rht_for_each_entry_safe' + - 'rht_for_each_from' + - 'rht_for_each_rcu' + - 'rht_for_each_rcu_from' + - '__rq_for_each_bio' + - 'rq_for_each_bvec' + - 'rq_for_each_segment' + - 'scsi_for_each_prot_sg' + - 'scsi_for_each_sg' + - 'sctp_for_each_hentry' + - 'sctp_skb_for_each' + - 'shdma_for_each_chan' + - '__shost_for_each_device' + - 'shost_for_each_device' + - 'sk_for_each' + - 'sk_for_each_bound' + - 'sk_for_each_entry_offset_rcu' + - 'sk_for_each_from' + - 'sk_for_each_rcu' + - 'sk_for_each_safe' + - 'sk_nulls_for_each' + - 'sk_nulls_for_each_from' + - 'sk_nulls_for_each_rcu' + - 'snd_array_for_each' + - 'snd_pcm_group_for_each_entry' + - 'snd_soc_dapm_widget_for_each_path' + - 'snd_soc_dapm_widget_for_each_path_safe' + - 'snd_soc_dapm_widget_for_each_sink_path' + - 'snd_soc_dapm_widget_for_each_source_path' + - 'tb_property_for_each' + - 'tcf_exts_for_each_action' + - 'udp_portaddr_for_each_entry' + - 'udp_portaddr_for_each_entry_rcu' + - 'usb_hub_for_each_child' + - 'v4l2_device_for_each_subdev' + - 'v4l2_m2m_for_each_dst_buf' + - 'v4l2_m2m_for_each_dst_buf_safe' + - 'v4l2_m2m_for_each_src_buf' + - 'v4l2_m2m_for_each_src_buf_safe' + - 'virtio_device_for_each_vq' + - 'xa_for_each' + - 'xa_for_each_marked' + - 'xa_for_each_range' + - 'xa_for_each_start' + - 'xas_for_each' + - 'xas_for_each_conflict' + - 'xas_for_each_marked' + - 'xbc_array_for_each_value' + - 'xbc_for_each_key_value' + - 'xbc_node_for_each_array_value' + - 'xbc_node_for_each_child' + - 'xbc_node_for_each_key_value' + - 'zorro_for_each_dev' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: Inner +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:29 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:29 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac 20 files changed, 3,660 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/1 diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index ade4e30..7dad159 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -104,3 +104,13 @@ $(LMS_LIBS) osmo_trx_lms_CPPFLAGS = $(AM_CPPFLAGS) $(LMS_CFLAGS) endif + +if DEVICE_IPC +bin_PROGRAMS += osmo-trx-ipc +osmo_trx_ipc_SOURCES = osmo-trx.cpp +osmo_trx_ipc_LDADD = \ + $(builddir)/device/ipc/libdevice.la \ + $(COMMON_LDADD) +osmo_trx_ipc_CPPFLAGS = $(AM_CPPFLAGS) +endif + diff --git a/Transceiver52M/device/Makefile.am b/Transceiver52M/device/Makefile.am index 369e877..29a8062 100644 --- a/Transceiver52M/device/Makefile.am +++ b/Transceiver52M/device/Makefile.am @@ -2,6 +2,10 @@ SUBDIRS = common +#if DEVICE_IPC +SUBDIRS += ipc +#endif + if DEVICE_USRP1 SUBDIRS += usrp1 endif diff --git a/Transceiver52M/device/ipc/IPCDevice.cpp b/Transceiver52M/device/ipc/IPCDevice.cpp new file mode 100644 index 0000000..75d80e8 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.cpp @@ -0,0 +1,1271 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* + 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 + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "Logger.h" +#include "Threads.h" +#include "IPCDevice.h" +#include "smpl_buf.h" + +extern "C" { +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include "osmo_signal.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ipc_shm.h" +} + +#define SAMPLE_BUF_SZ (1 << 20) + +using namespace std; + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags); + +IPCDevice::IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) + : RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths), tx_attenuation(), + tmp_state(IPC_IF_MSG_GREETING_REQ), shm(NULL), shm_dec(0), started(false) +{ + LOGC(DDEV, INFO) << "creating IPC device..."; + + //m_IPC_stream_rx.resize(chans); + //m_IPC_stream_tx.resize(chans); + rx_gains.resize(chans); + tx_gains.resize(chans); + + rx_buffers.resize(chans); + + sk_chan_state.resize(chans, ipc_per_trx_sock_state()); + + /* Set up per-channel Rx timestamp based Ring buffers */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i] = new smpl_buf(SAMPLE_BUF_SZ / sizeof(uint32_t)); +} + +IPCDevice::~IPCDevice() +{ + //unsigned int i; + LOGC(DDEV, INFO) << "Closing IPC device"; + /* disable all channels */ + + for (size_t i = 0; i < rx_buffers.size(); i++) + delete rx_buffers[i]; + + ipc_sock_close(&master_sk_state); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + ipc_sock_close(&sk_chan_state[i]); + + for (auto i : shm_io_rx_streams) + ipc_shm_close(i); + for (auto i : shm_io_tx_streams) + ipc_shm_close(i); + + if (shm_dec) + talloc_free(shm_dec); +} + +int IPCDevice::ipc_shm_connect(const char *shm_name) +{ + int fd; + size_t shm_len; + int rc; + + LOGP(DDEV, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DDEV, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + // Get size of the allocated memory + struct stat shm_stat; + if (fstat(fd, &shm_stat) < 0) { + LOGP(DDEV, LOGL_ERROR, "fstat %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + shm_len = shm_stat.st_size; + + LOGP(DDEV, LOGL_NOTICE, "mmaping shared memory fd %d (size=%zu)\n", fd, shm_len); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DDEV, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + LOGP(DDEV, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + // LOGP(DDEV, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg); + +static struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_req(struct ipc_per_trx_sock_state *state, uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx Greeting Req (" << IPC_IF_MSG_GREETING_REQ << ")\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_REQ); + if (!msg) { + LOGC(DDEV, INFO) << "ipc_msgb_alloc() returns NULL!"; + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_req.req_version = req_version; + + return ipc_sock_send(state, msg); +} + +static int ipc_tx_info_req(struct ipc_per_trx_sock_state *state) +{ + struct msgb *msg; + //struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx INFO Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_REQ); + if (!msg) + return -ENOMEM; + + //ipc_prim = (struct ipc_sk_if *) msg->data; + + return ipc_sock_send(state, msg); +} + +int IPCDevice::ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_req_chan *chan_info; + + LOGC(DDEV, NOTICE) << "Tx Open Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_REQ); + if (!msg) { + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_req.num_chans = num_chans; + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + ipc_prim->u.open_req.rx_sample_freq_num = rx_sps; + ipc_prim->u.open_req.rx_sample_freq_den = 1; + ipc_prim->u.open_req.tx_sample_freq_num = tx_sps; + ipc_prim->u.open_req.tx_sample_freq_den = 1; + + switch (ref) { + case ReferenceType::REF_EXTERNAL: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + break; + case ReferenceType::REF_INTERNAL: + case ReferenceType::REF_GPS: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_INTERNAL; + break; + } + + /* FIXME: clock ref part of config, not open */ + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + + for (unsigned int i = 0; i < num_chans; i++) { + chan_info = &ipc_prim->u.open_req.chan_info[i]; + OSMO_STRLCPY_ARRAY(chan_info->rx_path, rx_paths[i].c_str()); + OSMO_STRLCPY_ARRAY(chan_info->tx_path, tx_paths[i].c_str()); + } + + return ipc_sock_send(state, msg); +} + +static void ipc_sock_timeout(void *_priv) +{ + LOGC(DDEV, INFO) << "UNIX SOCKET TIMEOUT!"; + exit(1); +} + +int IPCDevice::ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf) +{ + if (greeting_cnf->req_version == IPC_SOCK_API_VERSION) { + LOGC(DDEV, NOTICE) << "Rx Greeting CNF: correct sock API version" << greeting_cnf->req_version; + tmp_state = IPC_IF_MSG_GREETING_CNF; + } else { + LOGC(DDEV, ERROR) << "Wrong IPC SOCK API VERSION RECEIVED!" << greeting_cnf->req_version; + exit(1); + } + return 0; +} + +int IPCDevice::ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf) +{ + current_info_cnf = *info_cnf; + unsigned int i; + + if (info_cnf->max_num_chans < chans) { + LOGC(DDEV, ERROR) << "chan num mismatch:" << info_cnf->max_num_chans << " vs " << chans; + return -1; + } + + /* Here: + * verify info_cnf->max_num_chans >= requested chans + * verify supports setting reflock as asked by user looking in info_cnf->feature_mask + * cache locally min/max tx/rxGain values from info_cnf + * do whatever validations or print info_cnf->dev_desc + * cache rx/tx paths per channel, and make sure it matches the one the user wants to set + */ + + LOGC(DDEV, NOTICE) + << "Rx Info CNF:" + << " name=" << info_cnf->dev_desc << std::endl + << " max_num_chans=" << info_cnf->max_num_chans << " feature_mask=" << info_cnf->feature_mask; + for (i = 0; i < info_cnf->max_num_chans; i++) { + int j = 0; + bool rx_found = false, tx_found = false; + while (strcmp(info_cnf->chan_info[i].rx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": RxPath[" << j << "]: " << info_cnf->chan_info[i].rx_path[j] + << " min_rx_gain=" << info_cnf->chan_info[i].min_rx_gain + << " max_rx_gain=" << info_cnf->chan_info[i].max_rx_gain + << " min_tx_gain=" << info_cnf->chan_info[i].min_tx_gain + << " max_tx_gain=" << info_cnf->chan_info[i].max_tx_gain; + + if (rx_paths.size() < (i + 1) || + strcmp(rx_paths[i].c_str(), info_cnf->chan_info[i].rx_path[j]) == 0) { + rx_found = true; + break; + } + j++; + } + j = 0; + while (strcmp(info_cnf->chan_info[i].tx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": TxPath[" << j << "]: " << info_cnf->chan_info[i].tx_path[j]; + if (tx_paths.size() < (i + 1) || + strcmp(tx_paths[i].c_str(), info_cnf->chan_info[i].tx_path[j]) == 0) { + tx_found = true; + break; + } + j++; + } + + if (!rx_found) { + LOGC(DDEV, ERROR) << "rx antenna not found: " << rx_paths[i]; + exit(0); + } + if (!tx_found) { + LOGC(DDEV, ERROR) << "tx antenna not found: " << rx_paths[i]; + exit(0); + } + } + tmp_state = IPC_IF_MSG_INFO_CNF; + return 0; +} + +int IPCDevice::ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf) +{ + unsigned int i; + current_open_cnf = *open_cnf; + + LOGC(DDEV, NOTICE) + << "Rx Open CNF:" + << " return_code=" << (unsigned int)open_cnf->return_code << " shm_name=" << open_cnf->shm_name; + LOGC(DDEV, NOTICE) << "Rx Open CNF:" + << " ipc device path delay: " << (unsigned int)open_cnf->path_delay; + for (i = 0; i < chans; i++) { + int rc; + LOGC(DDEV, NOTICE) << "chan " << i << ": sk_path=" << open_cnf->chan_info[i].chan_ipc_sk_path; + + /* FIXME: current limit IPC_MAX_NUM_TRX chans, make dynamic */ + if (i < IPC_MAX_NUM_TRX) { + struct ipc_per_trx_sock_state *state = &sk_chan_state[i]; + + INIT_LLIST_HEAD(&state->upqueue); + rc = osmo_sock_unix_init_ofd(&state->conn_bfd, SOCK_SEQPACKET, 0, + open_cnf->chan_info[i].chan_ipc_sk_path, OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" + << open_cnf->chan_info[i].chan_ipc_sk_path << "). " + << "Retrying...\n"; + osmo_timer_setup(&state->timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&state->timer, 5, 0); + return -1; + } + state->conn_bfd.cb = ipc_chan_sock_cb; + state->conn_bfd.data = this; + state->conn_bfd.priv_nr = i; + } + } + + OSMO_STRLCPY_ARRAY(shm_name, open_cnf->shm_name); + if (ipc_shm_connect(shm_name) < 0) + return -1; + shm_dec = ipc_shm_decode_region(NULL, (ipc_shm_raw_region *)shm); + LOGC(DDEV, NOTICE) << "shm: num_chans=" << shm_dec->num_chans; + + /* server inits both producers */ + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: num_buffers=" << shm_dec->channels[i]->dl_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: buffer_size=" << shm_dec->channels[i]->dl_stream->buffer_size; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: num_buffers=" << shm_dec->channels[i]->ul_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: buffer_size=" << shm_dec->channels[i]->ul_stream->buffer_size; + shm_io_rx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->ul_stream)); + shm_io_tx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->dl_stream)); + // shm_io_tx_streams.push_back(ipc_shm_init_producer(shm_dec->channels[i]->dl_stream)); + } + + tmp_state = IPC_IF_MSG_OPEN_CNF; + return 0; +} + +int IPCDevice::ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_CNF: + rc = ipc_rx_greeting_cnf(&ipc_prim->u.greeting_cnf); + break; + case IPC_IF_MSG_INFO_CNF: + rc = ipc_rx_info_cnf(&ipc_prim->u.info_cnf); + break; + case IPC_IF_MSG_OPEN_CNF: + rc = ipc_rx_open_cnf(&ipc_prim->u.open_cnf); + break; + default: + LOGP(DDEV, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int IPCDevice::ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal start response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal stop response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setgain response for chan #" << chan_nr << " ?!?"; + return 0; + } + + ret->is_tx ? tx_gains[chan_nr] = ret->gain : rx_gains[chan_nr] = ret->gain; + return 0; +} +int IPCDevice::ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal tx attn response for chan #" << chan_nr << " ?!?"; + return 0; + } + + tx_attenuation[chan_nr] = ret->attenuation; + return 0; +} +int IPCDevice::ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setfreq response for chan #" << chan_nr << " ?!?"; + return 0; + } + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal underfloww notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].tx_underruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal overflow notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].rx_overruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + return 0; +} + +int IPCDevice::ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_CNF: + rc = ipc_rx_chan_start_cnf(&ipc_prim->u.start_cnf, chan_nr); + break; + case IPC_IF_MSG_STOP_CNF: + rc = ipc_rx_chan_stop_cnf(&ipc_prim->u.stop_cnf, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_CNF: + rc = ipc_rx_chan_setgain_cnf(&ipc_prim->u.set_gain_cnf, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_CNF: + rc = ipc_rx_chan_setfreq_cnf(&ipc_prim->u.set_freq_cnf, chan_nr); + break; + case IPC_IF_NOTIFY_UNDERFLOW: + rc = ipc_rx_chan_notify_underflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_NOTIFY_OVERFLOW: + rc = ipc_rx_chan_notify_overflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_CNF: + rc = ipc_rx_chan_settxattn_cnf(&ipc_prim->u.txatten_cnf, chan_nr); + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg) +{ + struct osmo_fd *conn_bfd; + //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void IPCDevice::ipc_sock_close(struct ipc_per_trx_sock_state *state) +{ + if (state == 0) + return; + + struct osmo_fd *bfd = &state->conn_bfd; + + if (bfd->fd <= 0) + return; + + LOGP(DDEV, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int IPCDevice::ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + /* store mask of last received messages so we can check later */ + sk_chan_state[bfd->priv_nr].messages_processed_mask |= (1 << (ipc_prim->msg_type - IPC_IF_CHAN_MSG_OFFSET)); + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +int IPCDevice::ipc_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&master_sk_state.upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(master_sk_state.upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&master_sk_state.upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&sk_chan_state[bfd->priv_nr].upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(sk_chan_state[bfd->priv_nr].upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + bfd->when &= ~BSC_FD_WRITE; + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&sk_chan_state[bfd->priv_nr].upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_sock_write(bfd); + + return rc; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_chan_sock_write(bfd); + + return rc; +} + +int IPCDevice::open(const std::string &args, int ref, bool swap_channels) +{ + std::string k, v; + std::string::size_type keyend; + int rc; + + if ((keyend = args.find('=')) != std::string::npos) { + k = args.substr(0, keyend++); + v = args.substr(keyend); + } + if (k != "ipc_msock" || !v.length()) { + LOGC(DDEV, ERROR) << "Invalid device args provided, expected \"dev-args ipc_msock=/path/to/socket\"\n"; + return -1; + } + + LOGC(DDEV, INFO) << "Opening IPC device" << v << ".."; + + INIT_LLIST_HEAD(&master_sk_state.upqueue); + rc = osmo_sock_unix_init_ofd(&master_sk_state.conn_bfd, SOCK_SEQPACKET, 0, v.c_str(), OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" << v << "). " + << "Retrying...\n"; + osmo_timer_setup(&master_sk_state.timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&master_sk_state.timer, 5, 0); + return -1; + } + master_sk_state.conn_bfd.cb = ipc_sock_cb; + master_sk_state.conn_bfd.data = this; + + ipc_tx_greeting_req(&master_sk_state, IPC_SOCK_API_VERSION); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_GREETING_CNF) + osmo_select_main(0); + + ipc_tx_info_req(&master_sk_state); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_INFO_CNF) + osmo_select_main(0); + + ipc_tx_open_req(&master_sk_state, chans, ref); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_OPEN_CNF) + osmo_select_main(0); + LOGC(DDEV, NOTICE) << "Device driver opened successfuly!"; + + /* configure antennas */ + if (!set_antennas()) { + LOGC(DDEV, FATAL) << "IPC antenna setting failed"; + goto out_close; + } + + return iface == MULTI_ARFCN ? MULTI_ARFCN : NORMAL; + +out_close: + LOGC(DDEV, FATAL) << "Error in IPC open, closing"; + return -1; +} + +void IPCDevice::manually_poll_sock_fds() +{ + struct timeval wait = { 0, 100000 }; + fd_set crfds, cwfds; + int max_fd = 0; + + FD_ZERO(&crfds); + FD_ZERO(&cwfds); + for (unsigned int i = 0; i < chans; i++) { + struct osmo_fd *curr_fd = &sk_chan_state[i].conn_bfd; + max_fd = curr_fd->fd > max_fd ? curr_fd->fd : max_fd; + + if (curr_fd->when & OSMO_FD_READ) + FD_SET(curr_fd->fd, &crfds); + if (curr_fd->when & OSMO_FD_WRITE) + FD_SET(curr_fd->fd, &cwfds); + } + + select(max_fd + 1, &crfds, &cwfds, 0, &wait); + + for (unsigned int i = 0; i < chans; i++) { + int flags = 0; + struct osmo_fd *ofd = &sk_chan_state[i].conn_bfd; + + if (FD_ISSET(ofd->fd, &crfds)) { + flags |= OSMO_FD_READ; + FD_CLR(ofd->fd, &crfds); + } + + if (FD_ISSET(ofd->fd, &cwfds)) { + flags |= OSMO_FD_WRITE; + FD_CLR(ofd->fd, &cwfds); + } + if (flags) + ipc_chan_sock_cb(ofd, flags); + } +} + +bool IPCDevice::send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id) +{ + struct timeval timer_now, timeout; + + sk_chan_state[chan].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[chan], msg_to_send); + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + while (!(sk_chan_state[chan].messages_processed_mask & (1 << (expected_rsp_msg_id - IPC_IF_CHAN_MSG_OFFSET)))) { + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + return true; +} + +bool IPCDevice::send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + struct timeval timer_now, timeout; + + for (unsigned int i = 0; i < chans; i++) { + msg = ipc_msgb_alloc(msgid_to_send); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_req.dummy = 0; + + sk_chan_state[i].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[i], msg); + } + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + unsigned int msg_received_count = 0; + while (msg_received_count != chans) { + msg_received_count = 0; + + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + if (sk_chan_state[i].messages_processed_mask & + (1 << (msgid_to_expect - IPC_IF_CHAN_MSG_OFFSET))) + msg_received_count++; + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + + return true; +} + +/* the call stack is rather difficult here, we're already in select: +>~"#0 IPCDevice::start (this=) at IPCDevice.cpp:789\n" +>~"#1 in RadioInterface::start (this=0x614000001640) at radioInterface.cpp:187\n" +>~"#2 in Transceiver::start (this=) at Transceiver.cpp:293\n" +>~"#3 in Transceiver::ctrl_sock_handle_rx (this=0x61600000b180, chan=0) at Transceiver.cpp:838\n" +>~"#4 in Transceiver::ctrl_sock_cb (bfd=, flags=1) at Transceiver.cpp:168\n" +>~"#5 in osmo_fd_disp_fds (_rset=, _wset=, _eset=) at select.c:227\n" +>~"#6 _osmo_select_main (polling=) at select.c:265\n" +>~"#7 in osmo_select_main (polling=128) at select.c:274\n" +>~"#8 in main (argc=, argv=) at osmo-trx.cpp:649\n" + * */ +bool IPCDevice::start() +{ + LOGC(DDEV, INFO) << "starting IPC..."; + + if (started) { + LOGC(DDEV, ERR) << "Device already started"; + return true; + } + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_START_REQ, IPC_IF_MSG_START_CNF))) { + LOGC(DDEV, ERR) << "start timeout!"; + return false; + } + + int max_bufs_to_flush = 0; + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + int buf_per_chan = shm_dec->channels[i]->ul_stream->num_buffers; + max_bufs_to_flush = max_bufs_to_flush < buf_per_chan ? buf_per_chan : max_bufs_to_flush; + } + flush_recv(max_bufs_to_flush); + + started = true; + return true; +} + +bool IPCDevice::stop() +{ + if (!started) + return true; + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_STOP_REQ, IPC_IF_MSG_STOP_CNF))) { + LOGC(DDEV, ERR) << "stop timeout!"; + return false; + } + + LOGC(DDEV, NOTICE) << "All channels stopped, terminating..."; + + started = false; + return true; +} + +double IPCDevice::maxRxGain() +{ + return current_info_cnf.chan_info[0].max_rx_gain; +} + +double IPCDevice::minRxGain() +{ + return current_info_cnf.chan_info[0].min_rx_gain; +} + +int IPCDevice::getNominalTxPower(size_t chan) +{ + return current_info_cnf.chan_info[chan].nominal_tx_power; +} + +double IPCDevice::setPowerAttenuation(int atten, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (chan >= chans) + return 0; + + LOGCHAN(chan, DDEV, NOTICE) << "Setting TX attenuation to " << atten << " dB" + << " chan " << chan; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_req.attenuation = atten; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETTXATTN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting TX attenuation timeout! "; + + return atten; +} + +double IPCDevice::getPowerAttenuation(size_t chan) +{ + if (chan >= chans) + return 0; + + return tx_attenuation[chan]; +} + +double IPCDevice::setRxGain(double dB, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (dB > maxRxGain()) + dB = maxRxGain(); + if (dB < minRxGain()) + dB = minRxGain(); + + LOGCHAN(chan, DDEV, NOTICE) << "Setting RX gain to " << dB << " dB"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_req.is_tx = 0; + ipc_prim->u.set_gain_req.gain = dB; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETGAIN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting RX gain timeout! "; + + return rx_gains[chan]; +} + +bool IPCDevice::flush_recv(size_t num_pkts) +{ + std::vector tmp(4096); + uint64_t tmps; + uint32_t read; + + for (uint32_t j = 0; j < num_pkts; j++) { + for (unsigned int i = 0; i < chans; i++) + read = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)&tmp.front(), 4096 / 2, &tmps, 3); + } + ts_initial = tmps + read; + + LOGC(DDEV, INFO) << "Initial timestamp " << ts_initial << std::endl; + return true; +} + +bool IPCDevice::setRxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getRxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::setTxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getTxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::requiresRadioAlign() +{ + return false; +} + +GSM::Time IPCDevice::minLatency() +{ + /* UNUSED */ + return GSM::Time(0, 0); +} + +/** Returns the starting write Timestamp*/ +TIMESTAMP IPCDevice::initialWriteTimestamp(void) +{ + return ts_initial; +} + +/** Returns the starting read Timestamp*/ +TIMESTAMP IPCDevice::initialReadTimestamp(void) +{ + return ts_initial; +} + +// NOTE: Assumes sequential reads +int IPCDevice::readSamples(std::vector &bufs, int len, bool *overrun, TIMESTAMP timestamp, bool *underrun) +{ + int rc, num_smpls, expect_smpls; + ssize_t avail_smpls; + TIMESTAMP expect_timestamp; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *overrun = false; + *underrun = false; + + timestamp += current_open_cnf.path_delay; + + /* Check that timestamp is valid */ + rc = rx_buffers[0]->avail_smpls(timestamp); + if (rc < 0) { + LOGC(DDEV, ERROR) << rx_buffers[0]->str_code(rc); + LOGC(DDEV, ERROR) << rx_buffers[0]->str_status(timestamp); + return 0; + } + + for (i = 0; i < chans; i++) { + /* Receive samples from HW until we have enough */ + while ((avail_smpls = rx_buffers[i]->avail_smpls(timestamp)) < len) { + uint64_t recv_timestamp = 0; + + thread_enable_cancel(false); + num_smpls = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)bufs[i], len - avail_smpls, + &recv_timestamp, 1); + expect_timestamp = timestamp + avail_smpls; + thread_enable_cancel(true); + + if (num_smpls == -ETIMEDOUT) + continue; + + LOGCHAN(i, DDEV, DEBUG) + "Received timestamp = " << (TIMESTAMP)recv_timestamp << " (" << num_smpls << ")"; + + expect_smpls = len - avail_smpls; + + if (expect_timestamp != (TIMESTAMP)recv_timestamp) + LOGCHAN(i, DDEV, ERROR) << "Unexpected recv buffer timestamp: expect " + << expect_timestamp << " got " << recv_timestamp << ", diff=" + << ((uint64_t)recv_timestamp > expect_timestamp ? + (uint64_t)recv_timestamp - expect_timestamp : + expect_timestamp - recv_timestamp); + + rc = rx_buffers[i]->write(bufs[i], num_smpls, (TIMESTAMP)recv_timestamp); + if (rc < 0) { + LOGCHAN(i, DDEV, ERROR) + << rx_buffers[i]->str_code(rc) << " num smpls: " << num_smpls << " chan: " << i; + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_status(timestamp); + if (rc != smpl_buf::ERROR_OVERFLOW) + return 0; + } + } + } + + /* We have enough samples */ + for (size_t i = 0; i < rx_buffers.size(); i++) { + rc = rx_buffers[i]->read(bufs[i], len, timestamp); + if ((rc < 0) || (rc != len)) { + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_code(rc) << ". " + << rx_buffers[i]->str_status(timestamp) << ", (len=" << len << ")"; + return 0; + } + } + + return len; +} + +int IPCDevice::writeSamples(std::vector &bufs, int len, bool *underrun, unsigned long long timestamp) +{ + int rc = 0; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *underrun = false; + + for (i = 0; i < chans; i++) { + LOGCHAN(i, DDEV, DEBUG) << "send buffer of len " << len << " timestamp " << std::hex << timestamp; + thread_enable_cancel(false); + rc = ipc_shm_enqueue(shm_io_tx_streams[i], timestamp, len, (uint16_t *)bufs[i]); + thread_enable_cancel(true); + + if (rc != len) { + LOGCHAN(i, DDEV, ERROR) << "LMS: Device Tx timed out (" << rc << " vs exp " << len << ")."; + return -1; + } + } + + return rc; +} + +bool IPCDevice::updateAlignment(TIMESTAMP timestamp) +{ + return true; +} + +bool IPCDevice::setTxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Tx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 1; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +bool IPCDevice::setRxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Rx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 0; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) +{ + if (tx_sps != rx_sps) { + LOGC(DDEV, ERROR) << "IPC Requires tx_sps == rx_sps"; + return NULL; + } + if (lo_offset != 0.0) { + LOGC(DDEV, ERROR) << "IPC doesn't support lo_offset"; + return NULL; + } + return new IPCDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); +} diff --git a/Transceiver52M/device/ipc/IPCDevice.h b/Transceiver52M/device/ipc/IPCDevice.h new file mode 100644 index 0000000..8973471 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.h @@ -0,0 +1,236 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* This software is distributed under multiple licenses; see the COPYING file in +* the main directory for licensing information for this specific distribution. +* +* This use of this software may be subject to additional restrictions. +* See the LEGAL file in the main directory for details. + + 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. + +*/ + +#ifndef _IPC_DEVICE_H_ +#define _IPC_DEVICE_H_ + +#include +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +extern "C" { +#include +#include +#include "shm.h" +} + +#include "radioDevice.h" + +class smpl_buf; + +#define IPC_MAX_NUM_TRX 8 + +struct ipc_per_trx_sock_state { + struct osmo_fd conn_bfd; /* fd for connection to the BTS */ + struct osmo_timer_list timer; /* socket connect retry timer */ + struct llist_head upqueue; /* queue for sending messages */ + uint32_t messages_processed_mask; // (=| IPC_IF_MSG_xxx-IPC_IF_CHAN_MSG_OFFSET) bitmask + ipc_per_trx_sock_state() : conn_bfd(), timer(), upqueue(), messages_processed_mask() + { + conn_bfd.fd = -1; + } +}; + +class IPCDevice : public RadioDevice { + protected: + struct ipc_per_trx_sock_state master_sk_state; + + std::vector sk_chan_state; + + uint32_t tx_attenuation[IPC_MAX_NUM_TRX]; + uint8_t tmp_state; + char shm_name[SHM_NAME_MAX]; + int ipc_shm_connect(const char *shm_name); + void *shm; + struct ipc_shm_region *shm_dec; + + std::vector rx_buffers; + double actualSampleRate; + + bool started; + + TIMESTAMP ts_initial, ts_offset; + + std::vector tx_gains, rx_gains; + + struct ipc_sk_if_info_req current_info_req; + struct ipc_sk_if_info_cnf current_info_cnf; + struct ipc_sk_if_open_cnf current_open_cnf; + + std::vector shm_io_rx_streams; + std::vector shm_io_tx_streams; + + bool flush_recv(size_t num_pkts); + void update_stream_stats_rx(size_t chan, bool *overrun); + void update_stream_stats_tx(size_t chan, bool *underrun); + void manually_poll_sock_fds(); + + void ipc_sock_close(ipc_per_trx_sock_state *state); + + int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim); + int ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf); + int ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf); + int ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf); + int ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref); + + int ipc_chan_rx(uint8_t msg_type, ipc_sk_chan_if *ipc_prim, uint8_t chan_nr); + int ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr); + int ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr); + + bool send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id); + bool send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect); + + public: + int ipc_sock_read(struct osmo_fd *bfd); + int ipc_sock_write(struct osmo_fd *bfd); + int ipc_chan_sock_read(osmo_fd *bfd); + int ipc_chan_sock_write(osmo_fd *bfd); + + /** Object constructor */ + IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths); + virtual ~IPCDevice() override; + + /** Instantiate the IPC */ + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + /** Start the IPC */ + virtual bool start() override; + + /** Stop the IPC */ + virtual bool stop() override; + + /* FIXME: any != USRP1 will do for now... */ + enum TxWindowType getWindowType() override + { + return TX_WINDOW_LMS1; + } + + /** + Read samples from the IPC. + @param buf preallocated buf to contain read result + @param len number of samples desired + @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough + @param timestamp The timestamp of the first samples to be read + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @return The number of samples actually read + */ + virtual int readSamples(std::vector &buf, int len, bool *overrun, TIMESTAMP timestamp = 0xffffffff, + bool *underrun = NULL) override; + /** + Write samples to the IPC. + @param buf Contains the data to be written. + @param len number of samples to write. + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @param timestamp The timestamp of the first sample of the data buffer. + @return The number of samples actually written + */ + virtual int writeSamples(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff) override; + + /** Update the alignment between the read and write timestamps */ + virtual bool updateAlignment(TIMESTAMP timestamp) override; + + /** Set the transmitter frequency */ + virtual bool setTxFreq(double wFreq, size_t chan = 0) override; + + /** Set the receiver frequency */ + virtual bool setRxFreq(double wFreq, size_t chan = 0) override; + + /** Returns the starting write Timestamp*/ + virtual TIMESTAMP initialWriteTimestamp(void) override; + + /** Returns the starting read Timestamp*/ + virtual TIMESTAMP initialReadTimestamp(void) override; + + /** returns the full-scale transmit amplitude **/ + virtual double fullScaleInputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_rx; + } + + /** returns the full-scale receive amplitude **/ + virtual double fullScaleOutputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_tx; + } + + /** sets the receive chan gain, returns the gain setting **/ + virtual double setRxGain(double dB, size_t chan = 0) override; + + /** get the current receive gain */ + virtual double getRxGain(size_t chan = 0) override + { + return rx_gains[chan]; + } + + /** return maximum Rx Gain **/ + virtual double maxRxGain(void) override; + + /** return minimum Rx Gain **/ + virtual double minRxGain(void) override; + + double setPowerAttenuation(int atten, size_t chan) override; + double getPowerAttenuation(size_t chan = 0) override; + + virtual int getNominalTxPower(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setRxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getRxAntenna(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setTxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getTxAntenna(size_t chan = 0) override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual bool requiresRadioAlign() override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual GSM::Time minLatency() override; + + /** Return internal status values */ + virtual inline double getTxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getRxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getSampleRate() override + { + return actualSampleRate; + } +}; + +#endif // _IPC_DEVICE_H_ diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am new file mode 100644 index 0000000..5dd1cc8 --- /dev/null +++ b/Transceiver52M/device/ipc/Makefile.am @@ -0,0 +1,29 @@ +include $(top_srcdir)/Makefile.common + +AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../common +AM_CFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_LDFLAGS = -lpthread -lrt + +noinst_HEADERS = IPCDevice.h shm.h ../uhd/UHDDevice.h uhdwrap.h + +noinst_LTLIBRARIES = libdevice.la + +libdevice_la_SOURCES = IPCDevice.cpp shm.c ipc_shm.c ipc_chan.c ipc_sock.c +libdevice_la_LIBADD = $(top_builddir)/Transceiver52M/device/common/libdevice_common.la +libdevice_la_CXXFLAGS = $(AM_CXXFLAGS) -DIPCMAGIC + +bin_PROGRAMS = ipc-driver-test +#ipc_driver_test_SHORTNAME = drvt +ipc_driver_test_SOURCES = ipc-driver-test.c uhdwrap.cpp ipc_shm.c ipc_chan.c ipc_sock.c ../uhd/UHDDevice.cpp +ipc_driver_test_LDADD = \ + shm.lo \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOVTY_LIBS) +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 + diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c new file mode 100644 index 0000000..d71140d --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -0,0 +1,501 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +#define _GNU_SOURCE +#include + + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +#define DEFAULT_SHM_NAME "/osmo-trx-ipc-driver-shm2" + +static void *tall_ctx; +struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +struct ipc_sock_state *global_ctrl_socks[8]; +struct ipc_shm_io *ios_tx_to_device[8]; +struct ipc_shm_io *ios_rx_from_device[8]; + +void *shm; +void *global_dev; + +static struct ipc_shm_region *decoded_region; + +/* Debug Areas of the code */ +//enum { DMAIN, +//}; +static const struct log_info_cat default_categories[] = { + [DMAIN] = { + .name = "DMAIN", + .color = NULL, + .description = "Main generic category", + .loglevel = LOGL_DEBUG,.enabled = 1, + }, + [DDEV] = { + .name = "DDEV", + .description = "Device/Driver specific code", + .color = NULL, + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; + +const struct log_info log_infox = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; +#ifdef __cplusplus +} +#endif + +#include "uhdwrap.h" + +volatile int ipc_exit_requested = 0; + +static int ipc_shm_setup(const char *shm_name, size_t shm_len) +{ + int fd; + int rc; + + LOGP(DMAIN, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR | O_TRUNC, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DMAIN, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + LOGP(DMAIN, LOGL_NOTICE, "Truncating %d to size %zu\n", fd, shm_len); + if (ftruncate(fd, shm_len) < 0) { + LOGP(DMAIN, LOGL_ERROR, "ftruncate %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmaping shared memory fd %d\n", fd); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DMAIN, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_cnf(uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_cnf.req_version = req_version; + + return ipc_sock_send(msg); +} + +static int ipc_tx_info_cnf() +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + + uhdwrap_fill_info_cnf(ipc_prim); + + return ipc_sock_send(msg); +} + +static int ipc_tx_open_cnf(int rc, uint32_t num_chans, int32_t timingoffset) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_cnf_chan *chan_info; + unsigned int i; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_cnf.return_code = rc; + ipc_prim->u.open_cnf.path_delay = timingoffset; // 6.18462e-5 * 1625e3 / 6; + OSMO_STRLCPY_ARRAY(ipc_prim->u.open_cnf.shm_name, DEFAULT_SHM_NAME); + + chan_info = ipc_prim->u.open_cnf.chan_info; + for (i = 0; i < num_chans; i++) { + snprintf(chan_info->chan_ipc_sk_path, sizeof(chan_info->chan_ipc_sk_path), "%s_%d", IPC_SOCK_PATH_PREFIX, i); + /* FIXME: dynamc chan limit, currently 8 */ + if (i < 8) + ipc_sock_init(chan_info->chan_ipc_sk_path, &global_ctrl_socks[i], ipc_chan_sock_accept, i); + chan_info++; + } + + return ipc_sock_send(msg); +} + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req) +{ + if (greeting_req->req_version == IPC_SOCK_API_VERSION) + ipc_tx_greeting_cnf(IPC_SOCK_API_VERSION); + else + ipc_tx_greeting_cnf(0); + return 0; +} + +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req) +{ + ipc_tx_info_cnf(); + return 0; +} + +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req) +{ + /* calculate size needed */ + unsigned int len; + + global_dev = uhdwrap_open(open_req); + + /* b210 packet size is 2040, but our tx size is 2500, so just do *2 */ + int shmbuflen = uhdwrap_get_bufsizerx(global_dev) * 2; + + len = ipc_shm_encode_region(NULL, open_req->num_chans, 4, shmbuflen); + /* Here we verify num_chans, rx_path, tx_path, clockref, etc. */ + int rc = ipc_shm_setup(DEFAULT_SHM_NAME, len); + len = ipc_shm_encode_region((struct ipc_shm_raw_region *)shm, open_req->num_chans, 4, shmbuflen); +// LOGP(DMAIN, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + + /* set up our own copy of the decoded area, we have to do it here, + * since the uhd wrapper does not allow starting single channels + * additionally go for the producer init for both, so only we are responsible for the init, instead + * of splitting it with the client and causing potential races if one side uses it too early */ + decoded_region = ipc_shm_decode_region(0, (struct ipc_shm_raw_region *)shm); + for (unsigned int i = 0; i < open_req->num_chans; i++) { + // ios_tx_to_device[i] = ipc_shm_init_consumer(decoded_region->channels[i]->dl_stream); + ios_tx_to_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->dl_stream); + ios_rx_from_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->ul_stream); + } + + ipc_tx_open_cnf(-rc, open_req->num_chans, uhdwrap_get_timingoffset(global_dev)); + return 0; +} + +volatile int ul_running = 0; +volatile int dl_running = 0; + +void *uplink_thread(void *x_void_ptr) +{ + uint32_t chann = decoded_region->num_chans; + ul_running = 1; + pthread_setname_np(pthread_self(), "uplink rx"); + + while (!ipc_exit_requested) { + int32_t read = uhdwrap_read(global_dev, chann); + if (read < 0) + return 0; + } + return 0; +} + +void *downlink_thread(void *x_void_ptr) +{ + int chann = decoded_region->num_chans; + dl_running = 1; + pthread_setname_np(pthread_self(), "downlink tx"); + + while (!ipc_exit_requested) { + bool underrun; + uhdwrap_write(global_dev, chann, &underrun); + } + return 0; +} + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc = 0; + + rc = uhdwrap_start(global_dev, chan_nr); + + /* no per-chan start/stop */ + if(!dl_running || !ul_running) { + + /* chan != first chan start will "fail", which is fine, usrp can't start/stop chans independently */ + if(rc) { + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads.. req for chan:%d\n", chan_nr); + pthread_t rx, tx; + pthread_create(&rx, NULL, uplink_thread, 0); + pthread_create(&tx, NULL, downlink_thread, 0); + } + } else + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads request ignored.. req for chan:%d\n", chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_START_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc; + + /* no per-chan start/stop */ + rc = uhdwrap_stop(global_dev, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_STOP_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.stop_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_gain(global_dev, req->gain, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_cnf.is_tx = req->is_tx; + ipc_prim->u.set_gain_cnf.gain = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + bool rv; + + rv = uhdwrap_set_freq(global_dev, req->freq, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_cnf.return_code = rv ? 0 : 1; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_txatt(global_dev, req->attenuation, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_cnf.attenuation = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n) +{ + struct ipc_sock_state *state; + struct osmo_fd *bfd; + int rc; + + state = talloc_zero(NULL, struct ipc_sock_state); + if (!state) + return -ENOMEM; + *global_state_var = state; + + INIT_LLIST_HEAD(&state->upqueue); + state->conn_bfd.fd = -1; + + bfd = &state->listen_bfd; + + bfd->fd = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, OSMO_SOCK_F_BIND); + if (bfd->fd < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not create %s unix socket: %s\n", path, strerror(errno)); + talloc_free(state); + return -1; + } + + bfd->when = BSC_FD_READ; + bfd->cb = sock_callback_fn; + bfd->data = state; + bfd->priv_nr = n; + + rc = osmo_fd_register(bfd); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not register listen fd: %d\n", rc); + close(bfd->fd); + talloc_free(state); + return rc; + } + + //osmo_signal_register_handler(SS_GLOBAL, IPC_if_signal_cb, NULL); + + LOGP(DMAIN, LOGL_INFO, "Started listening on IPC socket: %s\n", path); + + return 0; +} + +static void print_help(void) +{ + printf( "ipc-driver-test Usage:\n" + " -h --help This message\n" + " -n --sock-num NR Master socket suffix number NR\n" + ); +} + +static int msocknum = 0; + +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + const struct option long_options[] = { + { "help", 0, 0, 'h' }, + { "sock-num", 1, 0, 'n' }, + {0,0,0,0} + }; + + c = getopt_long(argc, argv, "hn:", + long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'n': + msocknum = atoi(optarg); + break; + default: + exit(2); + break; + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments on command line\n"); + exit(2); + } +} + +#if defined(IPCMAGIC) && defined(__cplusplus) +extern "C" int osmo_ctx_init(const char *id); + +extern "C" int magicmain(int argc, char **argv) +{ + osmo_ctx_init("main"); + osmo_select_init(); + +#else +int main(int argc, char **argv) +{ +#endif + char ipc_msock_path[sizeof(IPC_SOCK_PATH_PREFIX)+3]; + tall_ctx = talloc_named_const(NULL, 0, "OsmoTRX"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_infox); + log_enable_multithread(); + + handle_options(argc, argv); + snprintf(ipc_msock_path,sizeof(ipc_msock_path), "%s%d", IPC_SOCK_PATH_PREFIX, msocknum); + + LOGP(DMAIN, LOGL_INFO, "Starting %s\n", argv[0]); + ipc_sock_init(ipc_msock_path, &global_ipc_sock_state, ipc_sock_accept, 0); + while (!ipc_exit_requested) + osmo_select_main(0); + + if (global_dev) + for (unsigned int i = 0; i < decoded_region->num_chans; i++) + uhdwrap_stop(global_dev, i); + + //ipc_sock_close() + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc-driver-test.h b/Transceiver52M/device/ipc/ipc-driver-test.h new file mode 100644 index 0000000..329c6ad --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.h @@ -0,0 +1,44 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include "shm.h" + +extern struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +extern struct ipc_sock_state *global_ctrl_socks[8]; +extern struct ipc_shm_io *ios_tx_to_device[8]; +extern struct ipc_shm_io *ios_rx_from_device[8]; + +struct ipc_sock_state { + struct osmo_fd listen_bfd; /* fd for listen socket */ + struct osmo_fd conn_bfd; /* fd for connection to lcr */ + struct llist_head upqueue; /* queue for sending messages */ +}; + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n); + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req); +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req); +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req); + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr); +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr); +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr); + diff --git a/Transceiver52M/device/ipc/ipc_chan.c b/Transceiver52M/device/ipc/ipc_chan.c new file mode 100644 index 0000000..78a3d51 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.c @@ -0,0 +1,266 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +static int ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_REQ: + rc = ipc_rx_chan_start_req(&ipc_prim->u.start_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_START_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_STOP_REQ: + rc = ipc_rx_chan_stop_req(&ipc_prim->u.stop_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_STOP_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_REQ: + rc = ipc_rx_chan_setgain_req(&ipc_prim->u.set_gain_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETGAIN_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_REQ: + rc = ipc_rx_chan_setfreq_req(&ipc_prim->u.set_freq_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETFREQ_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_REQ: + rc = ipc_rx_chan_settxatten_req(&ipc_prim->u.txatten_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETTXATTN_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + default: + fprintf(stderr, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + fflush(stderr); + + return rc; +} + +static int ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DMAIN, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr) +{ + struct ipc_sock_state *state = global_ctrl_socks[chan_nr]; + struct osmo_fd *conn_bfd; + + if (!state) + return -EINVAL; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +static int ipc_chan_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DMAIN, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_chan_sock_write(bfd); + + return rc; +} + +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "osmo-trx connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_chan_sock_cb; + conn_bfd->data = state; + + /* copy chan nr, required for proper bfd<->chan # mapping */ + conn_bfd->priv_nr = bfd->priv_nr; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DMAIN, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DMAIN, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + /* send current info */ + //IPC_tx_info_ind(); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_chan.h b/Transceiver52M/device/ipc/ipc_chan.h new file mode 100644 index 0000000..ff1d5f4 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.h @@ -0,0 +1,23 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_CHAN_H +#define IPC_CHAN_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr); +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags); + +#endif // IPC_CHAN_H diff --git a/Transceiver52M/device/ipc/ipc_shm.c b/Transceiver52M/device/ipc/ipc_shm.c new file mode 100644 index 0000000..d860ce7 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.c @@ -0,0 +1,204 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "ipc_shm.h" +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +} +#endif + +#define SAMPLE_SIZE_BYTE sizeof(uint16_t) * 2 + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s) +{ + unsigned int i; + + struct ipc_shm_io *r = (struct ipc_shm_io *)malloc(sizeof(struct ipc_shm_io)); + r->this_stream = s->raw; + r->buf_ptrs = + (volatile struct ipc_shm_raw_smpl_buf **)malloc(sizeof(struct ipc_shm_raw_smpl_buf *) * s->num_buffers); + + /* save actual ptrs */ + for (i = 0; i < s->num_buffers; i++) + r->buf_ptrs[i] = s->buffers[i]; + + r->partial_read_begin_ptr = 0; + return r; +} + +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s) +{ + int rv; + pthread_mutexattr_t att; + pthread_condattr_t t1, t2; + struct ipc_shm_io *r = ipc_shm_init_consumer(s); + rv = pthread_mutexattr_init(&att); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutexattr_setrobust(&att, PTHREAD_MUTEX_ROBUST); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutexattr_setpshared(&att, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutex_init((pthread_mutex_t *)&r->this_stream->lock, &att); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + pthread_mutexattr_destroy(&att); + + rv = pthread_condattr_setpshared(&t1, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_condattr_setpshared(&t2, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->cf, &t1); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->ce, &t2); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + pthread_condattr_destroy(&t1); + pthread_condattr_destroy(&t2); + + r->this_stream->read_next = 0; + r->this_stream->write_next = 0; + return r; +} + +void ipc_shm_close(struct ipc_shm_io *r) +{ + if (r) { + if (r->buf_ptrs) + free(r->buf_ptrs); + free(r); + } +} + +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += 1; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (((r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1)) == r->this_stream->read_next && + rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->ce, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->write_next]; + buf->timestamp = timestamp; + + rv = len_in_sps <= r->this_stream->buffer_size ? len_in_sps : r->this_stream->buffer_size; + + memcpy((void *)buf->samples, data, SAMPLE_SIZE_BYTE * rv); + buf->data_len = rv; + + r->this_stream->write_next = (r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1); + + pthread_cond_signal((pthread_cond_t *)&r->this_stream->cf); + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} + +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + uint8_t freeflag = 0; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += timeout_seconds; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (r->this_stream->write_next == r->this_stream->read_next && rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->cf, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->read_next]; + if (buf->data_len <= num_samples) { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * buf->data_len); + r->partial_read_begin_ptr = 0; + rv = buf->data_len; + buf->data_len = 0; + r->this_stream->read_next = (r->this_stream->read_next + 1) & (r->this_stream->num_buffers - 1); + freeflag = 1; + + } else /*if (buf->data_len > num_samples)*/ { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * num_samples); + r->partial_read_begin_ptr += num_samples; + buf->data_len -= num_samples; + rv = num_samples; + } + + *timestamp = buf->timestamp; + buf->timestamp += rv; + + if (freeflag) + pthread_cond_signal((pthread_cond_t *)&r->this_stream->ce); + + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} diff --git a/Transceiver52M/device/ipc/ipc_shm.h b/Transceiver52M/device/ipc/ipc_shm.h new file mode 100644 index 0000000..66f59c9 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.h @@ -0,0 +1,43 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SHM_H +#define IPC_SHM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifdef __cplusplus +} +#endif + +struct ipc_shm_io { + volatile struct ipc_shm_raw_stream *this_stream; // plus num_buffers at end + volatile struct ipc_shm_raw_smpl_buf **volatile buf_ptrs; + uint32_t partial_read_begin_ptr; +}; + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s); +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s); +void ipc_shm_close(struct ipc_shm_io *r); +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +int32_t ipc_shm_tryenqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +volatile struct ipc_shm_raw_smpl_buf *ipc_shm_dequeue(struct ipc_shm_io *r); +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds); + +#endif // IPC_SHM_H diff --git a/Transceiver52M/device/ipc/ipc_sock.c b/Transceiver52M/device/ipc/ipc_sock.c new file mode 100644 index 0000000..1936674 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.c @@ -0,0 +1,271 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" + +extern volatile int ipc_exit_requested; +static int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_REQ: + rc = ipc_rx_greeting_req(&ipc_prim->u.greeting_req); + break; + case IPC_IF_MSG_INFO_REQ: + rc = ipc_rx_info_req(&ipc_prim->u.info_req); + break; + case IPC_IF_MSG_OPEN_REQ: + rc = ipc_rx_open_req(&ipc_prim->u.open_req); + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int ipc_sock_send(struct msgb *msg) +{ + struct ipc_sock_state *state = global_ipc_sock_state; + struct osmo_fd *conn_bfd; + //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void ipc_sock_close(struct ipc_sock_state *state) +{ + struct osmo_fd *bfd = &state->conn_bfd; + + LOGP(DMAIN, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + ipc_exit_requested = 1; + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* re-enable the generation of ACCEPT for new connections */ + state->listen_bfd.when |= BSC_FD_READ; + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DMAIN, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DMAIN, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_sock_write(bfd); + + return rc; +} + +/* accept connection coming from IPC */ +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "ip clent connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_sock_cb; + conn_bfd->data = state; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DMAIN, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DMAIN, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + /* send current info */ + //IPC_tx_info_ind(); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_sock.h b/Transceiver52M/device/ipc/ipc_sock.h new file mode 100644 index 0000000..24c6756 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.h @@ -0,0 +1,24 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SOCK_H +#define IPC_SOCK_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_sock_send(struct msgb *msg); +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags); +void ipc_sock_close(struct ipc_sock_state *state); + +#endif // IPC_SOCK_H diff --git a/Transceiver52M/device/ipc/shm.c b/Transceiver52M/device/ipc/shm.c new file mode 100644 index 0000000..beebb15 --- /dev/null +++ b/Transceiver52M/device/ipc/shm.c @@ -0,0 +1,161 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ + +#include +#include +#include + +#include "shm.h" + +//#define ENCDECDEBUG + +/* Convert offsets to pointers */ +struct ipc_shm_stream *ipc_shm_decode_stream(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_stream *stream_raw) +{ + unsigned int i; + struct ipc_shm_stream *stream; + stream = talloc_zero(tall_ctx, struct ipc_shm_stream); + stream = talloc_zero_size(tall_ctx, sizeof(struct ipc_shm_stream) + + sizeof(struct ipc_shm_raw_smpl_buf *) * stream_raw->num_buffers); + if (!stream) + return NULL; + stream->num_buffers = stream_raw->num_buffers; + stream->buffer_size = stream_raw->buffer_size; + stream->raw = stream_raw; + for (i = 0; i < stream->num_buffers; i++) { +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: smpl_buf %d at offset %u\n", i, stream_raw->buffer_offset[i]); +#endif + stream->buffers[i] = + (struct ipc_shm_raw_smpl_buf *)(((uint8_t *)root_raw) + stream_raw->buffer_offset[i]); + } + return stream; +} + +struct ipc_shm_channel *ipc_shm_decode_channel(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_channel *chan_raw) +{ + struct ipc_shm_channel *chan; + chan = talloc_zero(tall_ctx, struct ipc_shm_channel); + if (!chan) + return NULL; +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: streams at offset %u and %u\n", chan_raw->dl_buf_offset, chan_raw->ul_buf_offset); +#endif + chan->dl_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->dl_buf_offset)); + chan->ul_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->ul_buf_offset)); + return chan; +} +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw) +{ + unsigned int i; + struct ipc_shm_region *root; + root = talloc_zero_size(tall_ctx, + sizeof(struct ipc_shm_region) + sizeof(struct ipc_shm_channel *) * root_raw->num_chans); + if (!root) + return NULL; + + root->num_chans = root_raw->num_chans; + for (i = 0; i < root->num_chans; i++) { +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: channel %d at offset %u\n", i, root_raw->chan_offset[i]); +#endif + root->channels[i] = ipc_shm_decode_channel( + root, root_raw, + (struct ipc_shm_raw_channel *)(((uint8_t *)root_raw) + root_raw->chan_offset[i])); + } + return root; +} + +unsigned int ipc_shm_encode_smpl_buf(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_smpl_buf *smpl_buf_raw, + uint32_t buffer_size) +{ + unsigned int offset = sizeof(struct ipc_shm_raw_smpl_buf); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: smpl_buf at offset %lu\n", (start - (uint8_t *)root_raw)); +#endif + offset += buffer_size * sizeof(uint16_t) * 2; /* samples */ + return offset; +} + +unsigned int ipc_shm_encode_stream(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_stream *stream_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + unsigned int i; + ptrdiff_t start = (ptrdiff_t)stream_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_stream) + sizeof(uint32_t) * num_buffers; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: stream at offset %lu\n", (start - (ptrdiff_t)root_raw)); +#endif + if (root_raw) { + stream_raw->num_buffers = num_buffers; + stream_raw->buffer_size = buffer_size; + stream_raw->read_next = 0; + stream_raw->write_next = 0; + } + for (i = 0; i < num_buffers; i++) { + if (root_raw) + stream_raw->buffer_offset[i] = (start + offset - (ptrdiff_t)root_raw); + offset += + ipc_shm_encode_smpl_buf(root_raw, (struct ipc_shm_raw_smpl_buf *)(start + offset), buffer_size); + } + return offset; +} +unsigned int ipc_shm_encode_channel(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_channel *chan_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + uint8_t *start = (uint8_t *)chan_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_channel); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: channel at offset %lu\n", (start - (uint8_t *)root_raw)); +#endif + if (root_raw) + chan_raw->dl_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + if (root_raw) + chan_raw->ul_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + return offset; +} +/* if root_raw is NULL, then do a dry run, aka only calculate final offset */ +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size) +{ + unsigned i; + uintptr_t start = (uintptr_t)root_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_region) + sizeof(uint32_t) * num_chans; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + + if (root_raw) + root_raw->num_chans = num_chans; + for (i = 0; i < num_chans; i++) { + if (root_raw) + root_raw->chan_offset[i] = (start + offset - (uintptr_t)root_raw); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: channel %d chan_offset[i]=%u\n", i, ofs); +#endif + offset += ipc_shm_encode_channel(root_raw, (struct ipc_shm_raw_channel *)(start + offset), num_buffers, + buffer_size); + } + //TODO: pass maximum size and verify we didn't go through + return offset; +} diff --git a/Transceiver52M/device/ipc/shm.h b/Transceiver52M/device/ipc/shm.h new file mode 100644 index 0000000..c9dc58e --- /dev/null +++ b/Transceiver52M/device/ipc/shm.h @@ -0,0 +1,234 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include +#include +#include +#include + +/* RAW structures */ +struct ipc_shm_raw_smpl_buf { + uint64_t timestamp; + uint32_t data_len; /* In samples */ + uint16_t samples[0]; +}; + +struct ipc_shm_raw_stream { + pthread_mutex_t lock; + pthread_cond_t cf; + pthread_cond_t ce; + uint32_t num_buffers; + uint32_t buffer_size; /* In samples */ + uint32_t read_next; + uint32_t write_next; + uint32_t buffer_offset[0]; + //struct ipc_shm_smpl_buf buffers[0]; +}; + +struct ipc_shm_raw_channel { + uint32_t dl_buf_offset; + uint32_t ul_buf_offset; +}; + +struct ipc_shm_raw_region { + uint32_t num_chans; + uint32_t chan_offset[0]; +}; + +/* non-raw, Pointer converted structures */ +struct ipc_shm_stream { + uint32_t num_buffers; + uint32_t buffer_size; + volatile struct ipc_shm_raw_stream *raw; + volatile struct ipc_shm_raw_smpl_buf *buffers[0]; +}; + +struct ipc_shm_channel { + struct ipc_shm_stream *dl_stream; + struct ipc_shm_stream *ul_stream; +}; + +/* Pointer converted structures */ +struct ipc_shm_region { + uint32_t num_chans; + struct ipc_shm_channel *channels[0]; +}; + +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size); +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw); +/****************************************/ +/* UNIX SOCKET API */ +/****************************************/ + +////////////////// +// Master socket +////////////////// + +#define IPC_SOCK_PATH_PREFIX "/tmp/ipc_sock" +#define IPC_SOCK_API_VERSION 1 + +/* msg_type */ +#define IPC_IF_MSG_GREETING_REQ 0x00 +#define IPC_IF_MSG_GREETING_CNF 0x01 +#define IPC_IF_MSG_INFO_REQ 0x02 +#define IPC_IF_MSG_INFO_CNF 0x03 +#define IPC_IF_MSG_OPEN_REQ 0x04 +#define IPC_IF_MSG_OPEN_CNF 0x05 + +#define MAX_NUM_CHANS 30 +#define RF_PATH_NAME_SIZE 25 +#define MAX_NUM_RF_PATHS 10 +#define SHM_NAME_MAX NAME_MAX /* 255 */ + +#define FEATURE_MASK_CLOCKREF_INTERNAL (0x1 << 0) +#define FEATURE_MASK_CLOCKREF_EXTERNAL (0x1 << 1) +struct ipc_sk_if_info_chan { + char tx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + char rx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + double min_rx_gain; + double max_rx_gain; + double min_tx_gain; + double max_tx_gain; + double nominal_tx_power; /* dBm */ +} __attribute__((packed)); + +struct ipc_sk_if_open_req_chan { + char tx_path[RF_PATH_NAME_SIZE]; + char rx_path[RF_PATH_NAME_SIZE]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf_chan { + char chan_ipc_sk_path[108]; +} __attribute__((packed)); + +struct ipc_sk_if_greeting { + uint8_t req_version; +} __attribute__((packed)); + +struct ipc_sk_if_info_req { + uint8_t spare; +} __attribute__((packed)); + +struct ipc_sk_if_info_cnf { + uint32_t feature_mask; + double iq_scaling_val_rx; /* for scaling, sample format is 16 bit, but adc/dac might be less */ + double iq_scaling_val_tx; + uint32_t max_num_chans; + char dev_desc[200]; + struct ipc_sk_if_info_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_req { + uint32_t num_chans; + uint32_t clockref; /* One of FEATUER_MASK_CLOCKREF_* */ + uint32_t rx_sample_freq_num; + uint32_t rx_sample_freq_den; + uint32_t tx_sample_freq_num; + uint32_t tx_sample_freq_den; + uint32_t bandwidth; + struct ipc_sk_if_open_req_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf { + uint8_t return_code; + uint32_t path_delay; + char shm_name[SHM_NAME_MAX]; + struct ipc_sk_if_open_cnf_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_if_greeting greeting_req; + struct ipc_sk_if_greeting greeting_cnf; + struct ipc_sk_if_info_req info_req; + struct ipc_sk_if_info_cnf info_cnf; + struct ipc_sk_if_open_req open_req; + struct ipc_sk_if_open_cnf open_cnf; + } u; +} __attribute__((packed)); + +////////////////// +// Channel socket +////////////////// +#define IPC_IF_CHAN_MSG_OFFSET 50 +#define IPC_IF_MSG_START_REQ IPC_IF_CHAN_MSG_OFFSET + 0 +#define IPC_IF_MSG_START_CNF IPC_IF_CHAN_MSG_OFFSET + 1 +#define IPC_IF_MSG_STOP_REQ IPC_IF_CHAN_MSG_OFFSET + 2 +#define IPC_IF_MSG_STOP_CNF IPC_IF_CHAN_MSG_OFFSET + 3 +#define IPC_IF_MSG_SETGAIN_REQ IPC_IF_CHAN_MSG_OFFSET + 4 +#define IPC_IF_MSG_SETGAIN_CNF IPC_IF_CHAN_MSG_OFFSET + 5 +#define IPC_IF_MSG_SETFREQ_REQ IPC_IF_CHAN_MSG_OFFSET + 6 +#define IPC_IF_MSG_SETFREQ_CNF IPC_IF_CHAN_MSG_OFFSET + 7 + +#define IPC_IF_NOTIFY_UNDERFLOW IPC_IF_CHAN_MSG_OFFSET + 8 +#define IPC_IF_NOTIFY_OVERFLOW IPC_IF_CHAN_MSG_OFFSET + 9 + +#define IPC_IF_MSG_SETTXATTN_REQ IPC_IF_CHAN_MSG_OFFSET + 10 +#define IPC_IF_MSG_SETTXATTN_CNF IPC_IF_CHAN_MSG_OFFSET + 11 + +struct ipc_sk_chan_if_op_void { + // at least one dummy byte, to allow c/c++ compatibility + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_op_rc { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_gain { + double gain; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_req { + double freq; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_cnf { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_notfiy { + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_tx_attenuation { + double attenuation; +} __attribute__((packed)); + +struct ipc_sk_chan_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_chan_if_op_void start_req; + struct ipc_sk_chan_if_op_rc start_cnf; + struct ipc_sk_chan_if_op_void stop_req; + struct ipc_sk_chan_if_op_rc stop_cnf; + struct ipc_sk_chan_if_gain set_gain_req; + struct ipc_sk_chan_if_gain set_gain_cnf; + struct ipc_sk_chan_if_freq_req set_freq_req; + struct ipc_sk_chan_if_freq_cnf set_freq_cnf; + struct ipc_sk_chan_if_notfiy notify; + struct ipc_sk_chan_if_tx_attenuation txatten_req; + struct ipc_sk_chan_if_tx_attenuation txatten_cnf; + } u; +} __attribute__((packed)); diff --git a/Transceiver52M/device/ipc/uhdwrap.cpp b/Transceiver52M/device/ipc/uhdwrap.cpp new file mode 100644 index 0000000..968ddb9 --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.cpp @@ -0,0 +1,254 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +extern "C" { +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc-driver-test.h" +} +#include "../uhd/UHDDevice.h" +#include "uhdwrap.h" + +#include "trx_vty.h" +#include "Logger.h" +#include "Threads.h" +#include "Utils.h" + +int uhd_wrap::open(const std::string &args, int ref, bool swap_channels) +{ + int rv = uhd_device::open(args, ref, swap_channels); + samps_per_buff_rx = rx_stream->get_max_num_samps(); + samps_per_buff_tx = tx_stream->get_max_num_samps(); + channel_count = usrp_dev->get_rx_num_channels(); + + wrap_rx_buffs = std::vector >(channel_count, std::vector(2 * samps_per_buff_rx)); + for (size_t i = 0; i < wrap_rx_buffs.size(); i++) + wrap_rx_buf_ptrs.push_back(&wrap_rx_buffs[i].front()); + + wrap_tx_buffs = std::vector >(channel_count, std::vector(2 * 5000)); + for (size_t i = 0; i < wrap_tx_buffs.size(); i++) + wrap_tx_buf_ptrs.push_back(&wrap_tx_buffs[i].front()); + + return rv; +} + +uhd_wrap::~uhd_wrap() +{ + // drvtest::gshutdown = 1; + //t->join(); +} + +size_t uhd_wrap::bufsizerx() +{ + return samps_per_buff_rx; +} + +size_t uhd_wrap::bufsizetx() +{ + return samps_per_buff_tx; +} + +int uhd_wrap::chancount() +{ + return channel_count; +} + +int uhd_wrap::wrap_read(TIMESTAMP *timestamp) +{ + uhd::rx_metadata_t md; + size_t num_rx_samps = rx_stream->recv(wrap_rx_buf_ptrs, samps_per_buff_rx, md, 0.1, true); + *timestamp = md.time_spec.to_ticks(rx_rate); + return num_rx_samps; //uhd_device::readSamples(bufs, len, overrun, timestamp, underrun); +} + +extern "C" void *uhdwrap_open(struct ipc_sk_if_open_req *open_req) +{ + unsigned int rx_sps, tx_sps; + + /* FIXME: dev arg string* */ + /* FIXME: rx frontend bw? */ + /* FIXME: tx frontend bw? */ + ReferenceType cref; + switch (open_req->clockref) { + case FEATURE_MASK_CLOCKREF_EXTERNAL: + cref = ReferenceType::REF_EXTERNAL; + break; + case FEATURE_MASK_CLOCKREF_INTERNAL: + default: + cref = ReferenceType::REF_INTERNAL; + break; + } + + std::vector tx_paths; + std::vector rx_paths; + for (unsigned int i = 0; i < open_req->num_chans; i++) { + tx_paths.push_back(open_req->chan_info[i].tx_path); + rx_paths.push_back(open_req->chan_info[i].rx_path); + } + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + rx_sps = open_req->rx_sample_freq_num / open_req->rx_sample_freq_den; + tx_sps = open_req->tx_sample_freq_num / open_req->tx_sample_freq_den; + uhd_wrap *uhd_wrap_dev = + new uhd_wrap(tx_sps, rx_sps, RadioDevice::NORMAL, open_req->num_chans, 0.0, tx_paths, rx_paths); + uhd_wrap_dev->open("", cref, false); + + return uhd_wrap_dev; +} +extern "C" int32_t uhdwrap_get_bufsizerx(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->bufsizerx(); +} + +extern "C" int32_t uhdwrap_get_timingoffset(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->getTimingOffset(); +} + +extern "C" int32_t uhdwrap_read(void *dev, uint32_t num_chans) +{ + TIMESTAMP t; + uhd_wrap *d = (uhd_wrap *)dev; + + if (num_chans != d->wrap_rx_buf_ptrs.size()) { + perror("omg chans?!"); + } + + int32_t read = d->wrap_read(&t); + + /* multi channel rx on b210 will return 0 due to alignment adventures, do not put 0 samples into a ipc buffer... */ + if (read <= 0) + return read; + + for (uint32_t i = 0; i < num_chans; i++) { + ipc_shm_enqueue(ios_rx_from_device[i], t, read, (uint16_t *)&d->wrap_rx_buffs[i].front()); + } + return read; +} + +extern "C" int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun) +{ + uhd_wrap *d = (uhd_wrap *)dev; + + uint64_t timestamp; + int32_t len; + for (uint32_t i = 0; i < num_chans; i++) { + len = ipc_shm_read(ios_tx_to_device[i], (uint16_t *)&d->wrap_tx_buffs[i].front(), 5000, ×tamp, 1); + if (len < 0) + return 0; + } + + return d->writeSamples(d->wrap_tx_buf_ptrs, len, underrun, timestamp); +} + +extern "C" double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; + if (for_tx) + return d->setTxFreq(f, chan); + else + return d->setRxFreq(f, chan); +} + +extern "C" double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; +// if (for_tx) +// return d->setTxGain(f, chan); +// else + return d->setRxGain(f, chan); +} + +extern "C" double uhdwrap_set_txatt(void *dev, double a, size_t chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->setPowerAttenuation(a, chan); +} + +extern "C" int32_t uhdwrap_start(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->start(); +} + +extern "C" int32_t uhdwrap_stop(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->stop(); +} + +extern "C" void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim) +{ + struct ipc_sk_if_info_chan *chan_info; + + uhd::device_addr_t args(""); + uhd::device_addrs_t devs_found = uhd::device::find(args); + if (devs_found.size() < 1) { + std::cout << "\n No device found!"; + exit(0); + } + + uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(devs_found[0]); + auto rxchans = usrp->get_rx_num_channels(); + auto txchans = usrp->get_tx_num_channels(); + auto rx_range = usrp->get_rx_gain_range(); + auto tx_range = usrp->get_tx_gain_range(); + + //auto nboards = usrp->get_num_mboards(); + auto refs = usrp->get_clock_sources(0); + auto devname = usrp->get_mboard_name(0); + + ipc_prim->u.info_cnf.feature_mask = 0; + if (std::find(refs.begin(), refs.end(), "internal") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_INTERNAL; + if (std::find(refs.begin(), refs.end(), "external") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_EXTERNAL; + + // at least one duplex channel + auto num_chans = rxchans == txchans ? txchans : 1; + + ipc_prim->u.info_cnf.iq_scaling_val_rx = 0.3; + ipc_prim->u.info_cnf.iq_scaling_val_tx = 1; + ipc_prim->u.info_cnf.max_num_chans = num_chans; + OSMO_STRLCPY_ARRAY(ipc_prim->u.info_cnf.dev_desc, devname.c_str()); + chan_info = ipc_prim->u.info_cnf.chan_info; + for (unsigned int i = 0; i < ipc_prim->u.info_cnf.max_num_chans; i++) { + auto rxant = usrp->get_rx_antennas(i); + auto txant = usrp->get_tx_antennas(i); + for (unsigned int j = 0; j < txant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->tx_path[j], txant[j].c_str()); + } + for (unsigned int j = 0; j < rxant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->rx_path[j], rxant[j].c_str()); + } + chan_info->min_rx_gain = rx_range.start(); + chan_info->max_rx_gain = rx_range.stop(); + chan_info->min_tx_gain = tx_range.start(); + chan_info->max_tx_gain = tx_range.stop(); + chan_info->nominal_tx_power = 7.5; // FIXME: would require uhd dev + freq info + chan_info++; + } +} diff --git a/Transceiver52M/device/ipc/uhdwrap.h b/Transceiver52M/device/ipc/uhdwrap.h new file mode 100644 index 0000000..1cc31e4 --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.h @@ -0,0 +1,81 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* + Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_UHDWRAP_H +#define IPC_UHDWRAP_H + +#ifdef __cplusplus +#include "../uhd/UHDDevice.h" + +class uhd_wrap : public uhd_device { + public: + // std::thread *t; + size_t samps_per_buff_rx; + size_t samps_per_buff_tx; + int channel_count; + + std::vector > wrap_rx_buffs; + std::vector > wrap_tx_buffs; + std::vector wrap_rx_buf_ptrs; + std::vector wrap_tx_buf_ptrs; + + template uhd_wrap(Args... args) : uhd_device(args...) + { + // t = new std::thread(magicthread); + // give the thread some time to start and set up + // std::this_thread::sleep_for(std::chrono::seconds(1)); + } + virtual ~uhd_wrap(); + + // void ipc_sock_close() override {}; + int wrap_read(TIMESTAMP *timestamp); + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + // bool start() override; + // bool stop() override; + // virtual TIMESTAMP initialWriteTimestamp() override; + // virtual TIMESTAMP initialReadTimestamp() override; + + int getTimingOffset() + { + return ts_offset; + } + size_t bufsizerx(); + size_t bufsizetx(); + int chancount(); +}; +#else +void *uhdwrap_open(struct ipc_sk_if_open_req *open_req); + +int32_t uhdwrap_get_bufsizerx(void *dev); + +int32_t uhdwrap_get_timingoffset(void *dev); + +int32_t uhdwrap_read(void *dev, uint32_t num_chans); + +int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun); + +double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx); + +double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx); + +int32_t uhdwrap_start(void *dev, int chan); + +int32_t uhdwrap_stop(void *dev, int chan); + +void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim); + +double uhdwrap_set_txatt(void *dev, double a, size_t chan); +#endif + +#endif // IPC_B210_H diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index b5dda28..037f3d9 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -1316,6 +1316,7 @@ return ost.str(); } +#ifndef IPCMAGIC RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, const std::vector& tx_paths, @@ -1323,3 +1324,4 @@ { return new uhd_device(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); } +#endif diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 22a0948..c159e63 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -133,7 +133,7 @@ ERROR_UNHANDLED = -4, }; -private: +protected: uhd::usrp::multi_usrp::sptr usrp_dev; uhd::tx_streamer::sptr tx_stream; uhd::rx_streamer::sptr rx_stream; diff --git a/configure.ac b/configure.ac index 07d4bf4..d4722cf 100644 --- a/configure.ac +++ b/configure.ac @@ -325,6 +325,7 @@ Transceiver52M/device/uhd/Makefile \ Transceiver52M/device/usrp1/Makefile \ Transceiver52M/device/lms/Makefile \ + Transceiver52M/device/ipc/Makefile \ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:30 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:30 +0000 Subject: Change in osmo-trx[master]: gitignore: add new binaries References: Message-ID: Hello osmith, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19642 to review the following change. Change subject: gitignore: add new binaries ...................................................................... gitignore: add new binaries Change-Id: I9fd0b6cdb0b9d66b37e813cc8d35a28b9c9dc539 --- M .gitignore 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/42/19642/1 diff --git a/.gitignore b/.gitignore index 128f803..5b864e7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ Transceiver52M/osmo-trx-uhd Transceiver52M/osmo-trx-usrp1 Transceiver52M/osmo-trx-lms +Transceiver52M/osmo-trx-ipc # tests tests/CommonLibs/BitVectorTest @@ -19,6 +20,7 @@ tests/CommonLibs/PRBSTest tests/Transceiver52M/convolve_test tests/Transceiver52M/LMSDeviceTest +Transceiver52M/device/ipc/ipc-driver-test # automake/autoconf *.in @@ -66,3 +68,5 @@ contrib/osmo-trx.spec !contrib/osmo-trx.spec.in + +utils/osmo-prbs-tool -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9fd0b6cdb0b9d66b37e813cc8d35a28b9c9dc539 Gerrit-Change-Number: 19642 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:30 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:30 +0000 Subject: Change in osmo-trx[master]: configure.ac: add --with-ipc References: Message-ID: Hello osmith, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19643 to review the following change. Change subject: configure.ac: add --with-ipc ...................................................................... configure.ac: add --with-ipc Change-Id: Ie7b1b07479b81366cebaa081d80917ae868992b4 --- M configure.ac 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/43/19643/1 diff --git a/configure.ac b/configure.ac index d4722cf..9966e39 100644 --- a/configure.ac +++ b/configure.ac @@ -140,6 +140,11 @@ [enable LimeSuite based transceiver]) ]) +AC_ARG_WITH(ipc, [ + AS_HELP_STRING([--with-ipc], + [enable IPC]) +]) + AC_ARG_WITH(singledb, [ AS_HELP_STRING([--with-singledb], [enable single daughterboard use on USRP1]) @@ -241,6 +246,7 @@ AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) +AM_CONDITIONAL(DEVICE_IPC, [test "x$with_ipc" = "xyes"]) AM_CONDITIONAL(ARCH_ARM, [test "x$with_neon" = "xyes" || test "x$with_neon_vfpv4" = "xyes"]) AM_CONDITIONAL(ARCH_ARM_A15, [test "x$with_neon_vfpv4" = "xyes"]) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie7b1b07479b81366cebaa081d80917ae868992b4 Gerrit-Change-Number: 19643 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:30 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:30 +0000 Subject: Change in osmo-trx[master]: contrib/systemd/osmo-trx-ipc.service: new file References: Message-ID: Hello osmith, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19644 to review the following change. Change subject: contrib/systemd/osmo-trx-ipc.service: new file ...................................................................... contrib/systemd/osmo-trx-ipc.service: new file Change-Id: Ic2ba7616c6909bd0a7e642554ecffa4939935b01 --- M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service 2 files changed, 17 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/44/19644/1 diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 800b1e1..6566b97 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -1,7 +1,8 @@ EXTRA_DIST = \ osmo-trx-lms.service \ osmo-trx-uhd.service \ - osmo-trx-usrp1.service + osmo-trx-usrp1.service \ + osmo-trx-ipc.service if HAVE_SYSTEMD SYSTEMD_SERVICES = @@ -18,5 +19,9 @@ SYSTEMD_SERVICES += osmo-trx-lms.service endif +if DEVICE_IPC +SYSTEMD_SERVICES += osmo-trx-ipc.service +endif + systemdsystemunit_DATA = $(SYSTEMD_SERVICES) endif # HAVE_SYSTEMD diff --git a/contrib/systemd/osmo-trx-ipc.service b/contrib/systemd/osmo-trx-ipc.service new file mode 100644 index 0000000..c886ed7 --- /dev/null +++ b/contrib/systemd/osmo-trx-ipc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom SDR BTS L1 Transceiver (IPC Backend) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-trx-ipc -C /etc/osmocom/osmo-trx-ipc.cfg +RestartSec=2 + +[Install] +WantedBy=multi-user.target -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic2ba7616c6909bd0a7e642554ecffa4939935b01 Gerrit-Change-Number: 19644 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:31 +0000 Subject: Change in osmo-trx[master]: contrib/osmo-trx.spec.in: add osmo-trx-ipc References: Message-ID: Hello osmith, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19645 to review the following change. Change subject: contrib/osmo-trx.spec.in: add osmo-trx-ipc ...................................................................... contrib/osmo-trx.spec.in: add osmo-trx-ipc Change-Id: Ib57980e8e102d6f77d0bffa47faafd929c82a288 --- M contrib/osmo-trx.spec.in 1 file changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/45/19645/1 diff --git a/contrib/osmo-trx.spec.in b/contrib/osmo-trx.spec.in index aebd355..86b96d3 100644 --- a/contrib/osmo-trx.spec.in +++ b/contrib/osmo-trx.spec.in @@ -129,6 +129,26 @@ generations of mobile phone networks. (post-2G/GSM) %endif +%package ipc +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC) +Group: Productivity/Telephony/Servers + +%description ipc +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + %prep %setup -q @@ -142,14 +162,16 @@ --with-systemdsystemunitdir=%{_unitdir} \ --without-lms \ --with-uhd \ - --without-usrp1 + --without-usrp1 \ + --with-ipc %else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ - --with-usrp1 + --with-usrp1 \ + --with-ipc %endif make %{?_smp_mflags} V=1 @@ -174,6 +196,10 @@ %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service +%pre ipc %service_add_pre osmo-trx-ipc.service +%post ipc %service_add_post osmo-trx-ipc.service +%preun ipc %service_del_preun osmo-trx-ipc.service +%postun ipc %service_del_postun osmo-trx-ipc.service %endif %files @@ -206,4 +232,11 @@ %{_unitdir}/osmo-trx-usrp1.service %endif +%files ipc +%{_bindir}/osmo-trx-ipc +%{_bindir}/ipc-driver-test +%dir %{_sysconfdir}/osmocom +# FIXME: missing: osmo-trx-ipc.cfg +%{_unitdir}/osmo-trx-ipc.service + %changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib57980e8e102d6f77d0bffa47faafd929c82a288 Gerrit-Change-Number: 19645 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:31 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... devices: reset internal smart sample buffers upon stop They are too smart, they keep the timestamps. Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 --- M Transceiver52M/device/common/smpl_buf.cpp M Transceiver52M/device/common/smpl_buf.h M Transceiver52M/device/ipc/IPCDevice.cpp M Transceiver52M/device/uhd/UHDDevice.cpp 4 files changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/46/19646/1 diff --git a/Transceiver52M/device/common/smpl_buf.cpp b/Transceiver52M/device/common/smpl_buf.cpp index ceca000..e57eb0c 100644 --- a/Transceiver52M/device/common/smpl_buf.cpp +++ b/Transceiver52M/device/common/smpl_buf.cpp @@ -28,9 +28,9 @@ #include smpl_buf::smpl_buf(size_t len) - : buf_len(len), time_start(0), time_end(0), - data_start(0), data_end(0) + : buf_len(len) { + reset(); data = new uint32_t[len]; } @@ -39,6 +39,14 @@ delete[] data; } +void smpl_buf::reset() +{ + time_start = 0; + time_end = 0; + data_start = 0; + data_end = 0; +} + ssize_t smpl_buf::avail_smpls(TIMESTAMP timestamp) const { if (timestamp < time_start) diff --git a/Transceiver52M/device/common/smpl_buf.h b/Transceiver52M/device/common/smpl_buf.h index 0b49b82..ff02baf 100644 --- a/Transceiver52M/device/common/smpl_buf.h +++ b/Transceiver52M/device/common/smpl_buf.h @@ -44,6 +44,10 @@ smpl_buf(size_t len); ~smpl_buf(); + /** Reset this buffer, keeps the size + */ + void reset(); + /** Query number of samples available for reading @param timestamp time of first sample @return number of available samples or error diff --git a/Transceiver52M/device/ipc/IPCDevice.cpp b/Transceiver52M/device/ipc/IPCDevice.cpp index 75d80e8..58b959c 100644 --- a/Transceiver52M/device/ipc/IPCDevice.cpp +++ b/Transceiver52M/device/ipc/IPCDevice.cpp @@ -982,6 +982,10 @@ LOGC(DDEV, NOTICE) << "All channels stopped, terminating..."; + /* reset internal buffer timestamps */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i]->reset(); + started = false; return true; } diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 037f3d9..b6845fa 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -750,6 +750,10 @@ async_event_thrd->join(); delete async_event_thrd; + /* reset internal buffer timestamps */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i]->reset(); + started = false; return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:31 +0000 Subject: Change in osmo-trx[master]: configure: only enable uhd if we enable uhd... References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19647 ) Change subject: configure: only enable uhd if we enable uhd... ...................................................................... configure: only enable uhd if we enable uhd... Change-Id: I418a07f5e166f136313f3aec4df71dbfa25ec874 --- M configure.ac 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/47/19647/1 diff --git a/configure.ac b/configure.ac index 9966e39..e651176 100644 --- a/configure.ac +++ b/configure.ac @@ -184,7 +184,7 @@ PKG_CHECK_MODULES(LMS, LimeSuite) ]) -AS_IF([test "x$with_uhd" != "xno"],[ +AS_IF([test "x$with_uhd" == "xyes"],[ PKG_CHECK_MODULES(UHD, uhd >= 003.011, [AC_DEFINE(USE_UHD_3_11, 1, UHD version 3.11.0 or higher)], [PKG_CHECK_MODULES(UHD, uhd >= 003.009, @@ -243,7 +243,7 @@ AC_DEFINE(HAVE_ATOMIC_OPS, 1, [Support all required atomic operations], [AC_MSG_WARN("At least one aotmic operation missing, will use mutex")]) ]) -AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) +AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" == "xyes"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) AM_CONDITIONAL(DEVICE_IPC, [test "x$with_ipc" = "xyes"]) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I418a07f5e166f136313f3aec4df71dbfa25ec874 Gerrit-Change-Number: 19647 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:31 +0000 Subject: Change in osmo-trx[master]: ipc: build the uhd test backend only if we actually have and want uhd References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19648 ) Change subject: ipc: build the uhd test backend only if we actually have and want uhd ...................................................................... ipc: build the uhd test backend only if we actually have and want uhd Change-Id: I6bf9ee3e73327d8073994da7368a7be0dcb83592 --- M Transceiver52M/device/ipc/Makefile.am 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/48/19648/1 diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am index 5dd1cc8..a1cb1d4 100644 --- a/Transceiver52M/device/ipc/Makefile.am +++ b/Transceiver52M/device/ipc/Makefile.am @@ -5,7 +5,11 @@ AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) AM_LDFLAGS = -lpthread -lrt -noinst_HEADERS = IPCDevice.h shm.h ../uhd/UHDDevice.h uhdwrap.h +noinst_HEADERS = IPCDevice.h shm.h + +if DEVICE_UHD +noinst_HEADERS += ../uhd/UHDDevice.h uhdwrap.h +endif noinst_LTLIBRARIES = libdevice.la @@ -13,6 +17,7 @@ libdevice_la_LIBADD = $(top_builddir)/Transceiver52M/device/common/libdevice_common.la libdevice_la_CXXFLAGS = $(AM_CXXFLAGS) -DIPCMAGIC +if DEVICE_UHD bin_PROGRAMS = ipc-driver-test #ipc_driver_test_SHORTNAME = drvt ipc_driver_test_SOURCES = ipc-driver-test.c uhdwrap.cpp ipc_shm.c ipc_chan.c ipc_sock.c ../uhd/UHDDevice.cpp @@ -26,4 +31,4 @@ 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/+/19648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6bf9ee3e73327d8073994da7368a7be0dcb83592 Gerrit-Change-Number: 19648 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:32 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:32 +0000 Subject: Change in osmo-trx[master]: uhddevice: unbreak ipc test References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19649 ) Change subject: uhddevice: unbreak ipc test ...................................................................... uhddevice: unbreak ipc test The test tool uses the uhd class, but has no vty so there cant't be any cpu affinity settings. Change-Id: I7359e35adaac211a4ff5b693ccbab2fd7b63d67e --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/49/19649/1 diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index b6845fa..143a061 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -152,7 +152,7 @@ void *async_event_loop(uhd_device *dev) { set_selfthread_name("UHDAsyncEvent"); - OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); + osmo_cpu_sched_vty_apply_localthread(); while (1) { dev->recv_async_msg(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7359e35adaac211a4ff5b693ccbab2fd7b63d67e Gerrit-Change-Number: 19649 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 02:09:32 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:09:32 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... transceiver: optimize code if optimizations are enabled There is no point in checking basic stuff ten thousand times per second since the sizes never change, so it's enough to enable the checks/assertions for unoptimized (debug) builds. This significantly decreases branch mispredictions. Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 --- M CommonLibs/Vector.h M Transceiver52M/Resampler.cpp M Transceiver52M/arch/x86/convolve.c 3 files changed, 25 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/50/19650/1 diff --git a/CommonLibs/Vector.h b/CommonLibs/Vector.h index d55c5b3..6d1045d 100644 --- a/CommonLibs/Vector.h +++ b/CommonLibs/Vector.h @@ -36,6 +36,11 @@ #include #include +#ifndef __OPTIMIZE__ +#define assert_no_opt(x) assert(x) +#else +#define assert_no_opt(x) +#endif // We can't use Logger.h in this file... extern int gVectorDebug; #define BVDEBUG(msg) if (gVectorDebug) {std::cout << msg;} @@ -81,8 +86,8 @@ /** Return the size of the Vector. */ size_t size() const { - assert(mStart>=mData); - assert(mEnd>=mStart); + assert_no_opt(mStart>=mData); + assert_no_opt(mEnd>=mStart); return mEnd - mStart; } @@ -112,7 +117,7 @@ /** Reduce addressable size of the Vector, keeping content. */ void shrink(size_t newSize) { - assert(newSize <= mEnd - mStart); + assert_no_opt(newSize <= mEnd - mStart); mEnd = mStart + newSize; } @@ -199,7 +204,7 @@ { T* wStart = mStart + start; T* wEnd = wStart + span; - assert(wEnd<=mEnd); + assert_no_opt(wEnd<=mEnd); return Vector(NULL,wStart,wEnd); } @@ -208,7 +213,7 @@ { T* wStart = mStart + start; T* wEnd = wStart + span; - assert(wEnd<=mEnd); + assert_no_opt(wEnd<=mEnd); return Vector(NULL,wStart,wEnd); } @@ -228,8 +233,8 @@ unsigned int i; T* dst = other.mStart + start; T* src = mStart; - assert(dst+span<=other.mEnd); - assert(mStart+span<=mEnd); + assert_no_opt(dst+span<=other.mEnd); + assert_no_opt(mStart+span<=mEnd); for (i = 0; i < span; i++, src++, dst++) *dst = *src; /*TODO if not non-trivially copiable type class, optimize: @@ -250,8 +255,8 @@ void segmentCopyTo(Vector& other, size_t start, size_t span) const { const T* base = mStart + start; - assert(base+span<=mEnd); - assert(other.mStart+span<=other.mEnd); + assert_no_opt(base+span<=mEnd); + assert_no_opt(other.mStart+span<=other.mEnd); memcpy(other.mStart,base,span*sizeof(T)); } @@ -265,8 +270,8 @@ { const T* baseFrom = mStart + from; T* baseTo = mStart + to; - assert(baseFrom+span<=mEnd); - assert(baseTo+span<=mEnd); + assert_no_opt(baseFrom+span<=mEnd); + assert_no_opt(baseTo+span<=mEnd); memmove(baseTo,baseFrom,span*sizeof(T)); } @@ -280,7 +285,7 @@ { T* dp=mStart+start; T* end=dp+length; - assert(end<=mEnd); + assert_no_opt(end<=mEnd); while (dp Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 02:18:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 02:18:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f35f475c56de_74bf2aebd44c46008149f@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: [ 122s] checking for LIBOSMOCORE... yes [ 122s] checking for LIBOSMOGSM... yes [ 122s] checking for LIBOSMOCTRL... yes [ 122s] checking for LIBOSMOVTY... yes [ 122s] checking for LIBOSMONETIF... yes [ 122s] checking for LIBOSMOABIS... yes [ 122s] checking for LIBOSMOTRAU... no [ 122s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 122s] [ 122s] Package 'libosmotrau', required by 'virtual:world', not found [ 122s] [ 122s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 122s] installed software in a non-standard prefix. [ 122s] [ 122s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 122s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 122s] See the pkg-config man page for more details. [ 122s] error: Bad exit status from /var/tmp/rpm-tmp.IS2ESo (%build) [ 122s] [ 122s] [ 122s] RPM build errors: [ 122s] Bad exit status from /var/tmp/rpm-tmp.IS2ESo (%build) [ 122s] ### VM INTERACTION START ### [ 125s] [ 105.437121] sysrq: Power Off [ 125s] [ 105.438815] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] armbuild10 failed "build osmo-mgw.spec" at Fri Aug 14 02:18:03 UTC 2020. [ 125s] -- 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 Aug 14 02:19:47 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Aug 2020 02:19:47 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac 20 files changed, 3,660 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 03:47:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 03:47:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f36094dc0a9c_74bf2aebd44c460082223b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-bts failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 224s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/paging' [ 224s] Making all in cipher [ 224s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 224s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o cipher_test.o cipher_test.c [ 224s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -c -o stubs.o `test -f './../stubs.c' || echo './'`./../stubs.c [ 225s] /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -ltalloc -losmocore -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec [ 225s] libtool: link: gcc -Wall -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -I/usr/include/libosmo-abis/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o cipher_test cipher_test.o stubs.o ../../src/common/libbts.a -losmogsm -losmovty -losmocore -losmotrau -losmoabis -ltalloc -losmocodec -pthread [ 227s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/10/../../../../armv7hl-suse-linux-gnueabi/bin/ld: warning: libosmocore.so.12, needed by /usr/lib/gcc/armv7hl-suse-linux-gnueabi/10/../../../libosmotrau.so, may conflict with libosmocore.so.16 [ 227s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/10/../../../../armv7hl-suse-linux-gnueabi/bin/ld: /usr/lib/gcc/armv7hl-suse-linux-gnueabi/10/../../../libosmoabis.so: undefined reference to `lapd_dl_init2 at LIBOSMOGSM_1.0' [ 227s] collect2: error: ld returned 1 exit status [ 227s] make[3]: *** [Makefile:375: cipher_test] Error 1 [ 227s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests/cipher' [ 227s] make[2]: *** [Makefile:383: all-recursive] Error 1 [ 227s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf/tests' [ 227s] make[1]: *** [Makefile:437: all-recursive] Error 1 [ 227s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bts-1.2.0.213.d6daf' [ 227s] make: *** [Makefile:369: all] Error 2 [ 227s] error: Bad exit status from /var/tmp/rpm-tmp.suJeXV (%build) [ 227s] [ 227s] [ 227s] RPM build errors: [ 228s] Bad exit status from /var/tmp/rpm-tmp.suJeXV (%build) [ 228s] ### VM INTERACTION START ### [ 231s] [ 209.701083] sysrq: Power Off [ 231s] [ 209.702492] reboot: Power down [ 231s] ### VM INTERACTION END ### [ 231s] [ 231s] armbuild16 failed "build osmo-bts.spec" at Fri Aug 14 03:47:10 UTC 2020. [ 231s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 04:06:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 04:06:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f360dc697b10_74bf2aebd44c4600823175@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 362s] [COMPILING libboard/qmod/source/i2c.c] [ 363s] [COMPILING libboard/qmod/source/board_qmod.c] [ 363s] [COMPILING apps/dfu/main.c] [ 364s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 364s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 364s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 365s] Memory region Used Size Region Size %age Used [ 365s] rom: 16584 B 16 KB 101.22% [ 365s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 365s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 365s] collect2: error: ld returned 1 exit status [ 365s] % [ 365s] Makefile:234: recipe for target 'flash' failed [ 365s] make[2]: *** [flash] Error 1 [ 365s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 365s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 365s] make[1]: *** [fw-qmod-dfu] Error 2 [ 365s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 365s] dh_auto_build: make -j1 returned exit code 2 [ 365s] debian/rules:16: recipe for target 'build' failed [ 365s] make: *** [build] Error 2 [ 365s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 365s] ### VM INTERACTION START ### [ 368s] [ 347.096084] sysrq: SysRq : Power Off [ 368s] [ 347.102964] reboot: Power down [ 369s] ### VM INTERACTION END ### [ 369s] [ 369s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 04:06:13 UTC 2020. [ 369s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 04:43:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 04:43:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f36166eda61a_74bf2aebd44c46008268e@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: [ 292s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 292s] [COMPILING libboard/qmod/source/card_pres.c] [ 293s] [COMPILING libboard/qmod/source/wwan_led.c] [ 293s] [COMPILING libboard/qmod/source/i2c.c] [ 293s] [COMPILING libboard/qmod/source/board_qmod.c] [ 294s] [COMPILING apps/dfu/main.c] [ 294s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 294s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 295s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 295s] Memory region Used Size Region Size %age Used [ 295s] rom: 16504 B 16 KB 100.73% [ 295s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 295s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 295s] collect2: error: ld returned 1 exit status [ 295s] % [ 295s] make[2]: *** [Makefile:234: flash] Error 1 [ 295s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 295s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 295s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 295s] dh_auto_build: make -j1 returned exit code 2 [ 295s] make: *** [debian/rules:16: build] Error 2 [ 295s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 295s] ### VM INTERACTION START ### [ 298s] [ 268.190492] sysrq: SysRq : Power Off [ 298s] [ 268.191819] reboot: Power down [ 299s] ### VM INTERACTION END ### [ 299s] [ 299s] armbuild02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 04:43:11 UTC 2020. [ 299s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 05:07:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 05:07:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f361c2fb2e5b_74bf2aebd44c46008288dd@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: [ 600s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 601s] [COMPILING libboard/qmod/source/card_pres.c] [ 601s] [COMPILING libboard/qmod/source/wwan_led.c] [ 602s] [COMPILING libboard/qmod/source/i2c.c] [ 603s] [COMPILING libboard/qmod/source/board_qmod.c] [ 603s] [COMPILING apps/dfu/main.c] [ 604s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 605s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 605s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 606s] Memory region Used Size Region Size %age Used [ 606s] rom: 16504 B 16 KB 100.73% [ 606s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 606s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 606s] collect2: error: ld returned 1 exit status [ 606s] % [ 606s] make[2]: *** [Makefile:234: flash] Error 1 [ 606s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 606s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 606s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 606s] dh_auto_build: make -j1 returned exit code 2 [ 606s] make: *** [debian/rules:16: build] Error 2 [ 606s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 606s] ### VM INTERACTION START ### [ 609s] [ 585.655821] sysrq: SysRq : Power Off [ 609s] [ 585.668831] reboot: Power down [ 610s] ### VM INTERACTION END ### [ 610s] [ 610s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 05:07:32 UTC 2020. [ 610s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:27:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:27:36 +0000 Subject: Change in libosmo-abis[master]: Fix RPM spec file (.so.6 -> .so.9) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19651 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Fix RPM spec file (.so.6 -> .so.9) Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 --- M contrib/libosmo-abis.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/51/19651/1 diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index 889c20a..d010099 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -127,7 +127,7 @@ %files -n libosmoabis9 %defattr(-,root,root) -%_libdir/libosmoabis.so.6* +%_libdir/libosmoabis.so.9* %files -n libosmoabis-devel %defattr(-,root,root) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19651 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 Aug 14 05:27:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:27:38 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Bmaster=5D=3A_Bump_version=3A_1=2E0=2E0=2E14-4add_=E2=86=92_1=2E0=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19652 ) Change subject: Bump version: 1.0.0.14-4add ? 1.0.1 ...................................................................... Bump version: 1.0.0.14-4add ? 1.0.1 Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 --- M debian/changelog 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/52/19652/1 diff --git a/debian/changelog b/debian/changelog index b839ed9..8fb25df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +libosmo-abis (1.0.1) unstable; urgency=medium + + [ Harald Welte ] + * trau_frame: New API + * trau_frame: Introduce support for Downlink Time Alignment + * osmo_trau_frame_encode(): Check for sufficiently sized output buffer + * Add new TRAU frame sync code + * TRAU frame RTP conversion + * Add 'trau2rtp' demo program illustrating the use of new TRAU code + * Add missing build dependency to libosmocodec-dev + * trau_frame: Fix computation of odd parity while encoding HR frames + * trau_sync: Check return value of osmo_fsm_register() + * trau_frame: Add missing break statement in osmo_trau_frame_encode() + * Fix RPM spec file (.so.6 -> .so.9) + + [ Philipp Maier ] + * trau_sync: prevent false positive synchronization on startup + * trau_sync: make sync pattern configurable + + -- Harald Welte Fri, 14 Aug 2020 07:27:18 +0200 + libosmo-abis (1.0.0) unstable; urgency=medium [ Neels Hofmeyr ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 Gerrit-Change-Number: 19652 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 Aug 14 05:31:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:31:12 +0000 Subject: Change in libosmo-abis[rel-1.0.0]: Fix RPM spec file (.so.6 -> .so.9) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19653 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Fix RPM spec file (.so.6 -> .so.9) Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 --- M contrib/libosmo-abis.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/53/19653/1 diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index 2a186a4..a4bacad 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -126,7 +126,7 @@ %files -n libosmoabis9 %defattr(-,root,root) -%_libdir/libosmoabis.so.6* +%_libdir/libosmoabis.so.9* %files -n libosmoabis-devel %defattr(-,root,root) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19653 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 Aug 14 05:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:31:13 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_1=2E0=2E0=2E14-4add_=E2=86=92_1=2E0=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19654 ) Change subject: Bump version: 1.0.0.14-4add ? 1.0.1 ...................................................................... Bump version: 1.0.0.14-4add ? 1.0.1 Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 --- M debian/changelog 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/54/19654/1 diff --git a/debian/changelog b/debian/changelog index b839ed9..8fb25df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +libosmo-abis (1.0.1) unstable; urgency=medium + + [ Harald Welte ] + * trau_frame: New API + * trau_frame: Introduce support for Downlink Time Alignment + * osmo_trau_frame_encode(): Check for sufficiently sized output buffer + * Add new TRAU frame sync code + * TRAU frame RTP conversion + * Add 'trau2rtp' demo program illustrating the use of new TRAU code + * Add missing build dependency to libosmocodec-dev + * trau_frame: Fix computation of odd parity while encoding HR frames + * trau_sync: Check return value of osmo_fsm_register() + * trau_frame: Add missing break statement in osmo_trau_frame_encode() + * Fix RPM spec file (.so.6 -> .so.9) + + [ Philipp Maier ] + * trau_sync: prevent false positive synchronization on startup + * trau_sync: make sync pattern configurable + + -- Harald Welte Fri, 14 Aug 2020 07:27:18 +0200 + libosmo-abis (1.0.0) unstable; urgency=medium [ Neels Hofmeyr ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 Gerrit-Change-Number: 19654 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 Aug 14 05:31:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:31:37 +0000 Subject: Change in libosmo-abis[rel-1.0.0]: Fix RPM spec file (.so.6 -> .so.9) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19653 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19653 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 14 Aug 2020 05:31: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 Aug 14 05:33:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:33:45 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_1=2E0=2E0=2E1-ecbf-dirty_=E2=86=92_1=2E0=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19655 ) Change subject: Bump version: 1.0.0.1-ecbf-dirty ? 1.0.1 ...................................................................... Bump version: 1.0.0.1-ecbf-dirty ? 1.0.1 Change-Id: Id957e1ab9879de8d4a529cc2b7f80b27fd34d8db --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/55/19655/1 diff --git a/debian/changelog b/debian/changelog index b839ed9..4d5cadb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libosmo-abis (1.0.1) unstable; urgency=medium + + * Fix RPM spec file (.so.6 -> .so.9) + + -- Harald Welte Fri, 14 Aug 2020 07:33:33 +0200 + libosmo-abis (1.0.0) unstable; urgency=medium [ Neels Hofmeyr ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Id957e1ab9879de8d4a529cc2b7f80b27fd34d8db Gerrit-Change-Number: 19655 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 Aug 14 05:34:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:34:14 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_1=2E0=2E0=2E14-4add_=E2=86=92_1=2E0=2E1?= In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19654 ) Change subject: Bump version: 1.0.0.14-4add ? 1.0.1 ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 Gerrit-Change-Number: 19654 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:35:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:35:40 +0000 Subject: Change in libosmo-abis[rel-1.0.0]: Fix RPM spec file (.so.6 -> .so.9) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19653 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Fix RPM spec file (.so.6 -> .so.9) Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 --- M contrib/libosmo-abis.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index 2a186a4..a4bacad 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -126,7 +126,7 @@ %files -n libosmoabis9 %defattr(-,root,root) -%_libdir/libosmoabis.so.6* +%_libdir/libosmoabis.so.9* %files -n libosmoabis-devel %defattr(-,root,root) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19653 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 Aug 14 05:36:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:36:05 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_1=2E0=2E0=2E1-ecbf-dirty_=E2=86=92_1=2E0=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19655 ) Change subject: Bump version: 1.0.0.1-ecbf-dirty ? 1.0.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Id957e1ab9879de8d4a529cc2b7f80b27fd34d8db Gerrit-Change-Number: 19655 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05: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 Fri Aug 14 05:36:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:36:07 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Brel-1=2E0=2E0=5D=3A_Bump_version=3A_1=2E0=2E0=2E1-ecbf-dirty_=E2=86=92_1=2E0=2E1?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19655 ) Change subject: Bump version: 1.0.0.1-ecbf-dirty ? 1.0.1 ...................................................................... Bump version: 1.0.0.1-ecbf-dirty ? 1.0.1 Change-Id: Id957e1ab9879de8d4a529cc2b7f80b27fd34d8db --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index b839ed9..4d5cadb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libosmo-abis (1.0.1) unstable; urgency=medium + + * Fix RPM spec file (.so.6 -> .so.9) + + -- Harald Welte Fri, 14 Aug 2020 07:33:33 +0200 + libosmo-abis (1.0.0) unstable; urgency=medium [ Neels Hofmeyr ] -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: rel-1.0.0 Gerrit-Change-Id: Id957e1ab9879de8d4a529cc2b7f80b27fd34d8db Gerrit-Change-Number: 19655 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 Aug 14 05:36:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:36:42 +0000 Subject: Change in libosmo-abis[master]: Fix RPM spec file (.so.6 -> .so.9) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19651 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19651 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:36: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 Aug 14 05:36:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:36:44 +0000 Subject: Change in libosmo-abis[master]: Fix RPM spec file (.so.6 -> .so.9) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19651 ) Change subject: Fix RPM spec file (.so.6 -> .so.9) ...................................................................... Fix RPM spec file (.so.6 -> .so.9) Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 --- M contrib/libosmo-abis.spec.in 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/libosmo-abis.spec.in b/contrib/libosmo-abis.spec.in index 889c20a..d010099 100644 --- a/contrib/libosmo-abis.spec.in +++ b/contrib/libosmo-abis.spec.in @@ -127,7 +127,7 @@ %files -n libosmoabis9 %defattr(-,root,root) -%_libdir/libosmoabis.so.6* +%_libdir/libosmoabis.so.9* %files -n libosmoabis-devel %defattr(-,root,root) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I987757d8b8fa3908b5b9d690ce7a5a67e2254546 Gerrit-Change-Number: 19651 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:36:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:36:48 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Bmaster=5D=3A_Bump_version=3A_1=2E0=2E0=2E14-4add_=E2=86=92_1=2E0=2E1?= In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19652 ) Change subject: Bump version: 1.0.0.14-4add ? 1.0.1 ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3c721e776aac6dfcbacb6b91d048e75c27d40847 Gerrit-Change-Number: 19652 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:38:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:38:01 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19639 ) Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19639/1/src/vty/cpu_sched_vty.c File src/vty/cpu_sched_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/19639/1/src/vty/cpu_sched_vty.c at 635 PS1, Line 635: LOGL_FATAL FATAL is normally only used when the program exists. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:38: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 Fri Aug 14 05:39:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:39:13 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... Patch Set 1: Code-Review+1 shouldn't we add something like that to libosmocore and reference it from there (like osmo-release.sh?) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:39:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:40:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:40:06 +0000 Subject: Change in osmo-trx[master]: gitignore: add new binaries In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19642 ) Change subject: gitignore: add new binaries ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9fd0b6cdb0b9d66b37e813cc8d35a28b9c9dc539 Gerrit-Change-Number: 19642 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 14 Aug 2020 05:40:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:41:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:41:45 +0000 Subject: Change in osmo-trx[master]: configure.ac: add --with-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19643 ) Change subject: configure.ac: add --with-ipc ...................................................................... Patch Set 2: I think we should at the same time enable it in build testing, i.e. add it to /contrib/jenkins.sh. One could argue that the .gitignore and configure.ac changes (and the like) should all be part of the commit introducing the code. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie7b1b07479b81366cebaa081d80917ae868992b4 Gerrit-Change-Number: 19643 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:41: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 Fri Aug 14 05:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:42:36 +0000 Subject: Change in osmo-trx[master]: contrib/osmo-trx.spec.in: add osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19645 ) Change subject: contrib/osmo-trx.spec.in: add osmo-trx-ipc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib57980e8e102d6f77d0bffa47faafd929c82a288 Gerrit-Change-Number: 19645 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 14 Aug 2020 05:42:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:43:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:43:35 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 2: we are missing to create a debian sub-package either here or in a follow-up patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:43: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 Aug 14 05:43:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:43:57 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:43: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 Aug 14 05:44:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:44:21 +0000 Subject: Change in osmo-trx[master]: configure: only enable uhd if we enable uhd... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19647 ) Change subject: configure: only enable uhd if we enable uhd... ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I418a07f5e166f136313f3aec4df71dbfa25ec874 Gerrit-Change-Number: 19647 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:44: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 Aug 14 05:44:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:44:49 +0000 Subject: Change in osmo-trx[master]: ipc: build the uhd test backend only if we actually have and want uhd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19648 ) Change subject: ipc: build the uhd test backend only if we actually have and want uhd ...................................................................... Patch Set 2: this could also be squashed into the initial commit -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6bf9ee3e73327d8073994da7368a7be0dcb83592 Gerrit-Change-Number: 19648 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:44: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 Aug 14 05:45:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:45:10 +0000 Subject: Change in osmo-trx[master]: uhddevice: unbreak ipc test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19649 ) Change subject: uhddevice: unbreak ipc test ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7359e35adaac211a4ff5b693ccbab2fd7b63d67e Gerrit-Change-Number: 19649 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:45: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 Aug 14 05:46:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:46:04 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:46: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 Aug 14 05:48:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:48:48 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast ...................................................................... CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast Before this patch, each ETWS CMD instructing to broadcast triggered a five second etws_timer to send a zero-payload ETWS CMD that stops broadcasting, five seconds later. This lingered past an ETWS RESET instruction. Instead, clear the etws_timer on ETWS RESET, and make sure that all ETWS broadcast is stopped by sending a zero payload ETWS CMD to the BTSes immediately. This will cause all CBSP ttcn3 tests to fail unless Ifee313369a433a6a638c5fffdedee5363b8e47c2 is merged to osmo-ttcn3-hacks at the same time. Related: Ifee313369a433a6a638c5fffdedee5363b8e47c2 (osmo-ttcn3-hacks) Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 --- M src/osmo-bsc/smscb.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/19632/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 05:48:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:48:57 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05: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 Fri Aug 14 05:51:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:51:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn at 197 PS1, Line 197: [] IPA_RSL[0].receive(zero_payload) { log("CBSP: disabled broadcast on bts 0"); } the zero-length RSL ETWS command does not disable all CBSP broadcast, but only the ETWS PN broadcast. function name and log messages could be more specific. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:51: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 Fri Aug 14 05:52:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 05:52:51 +0000 Subject: Change in osmo-bsc[master]: CBSP: log ETWS RESET on NOTICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log ETWS RESET on NOTICE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c at 657 PS1, Line 657: LOG_BTS(bts, DCBS, LOGL_NOTICE, "ETWS RESET: clearing all state; disabling broadcast via PCH\n"); it diesables the broadcast both on CBCH (by clearing the lists) and of the ETWS PN on PCH (by sending the zero-length RSL message). Also, the RESET is a CBSP reset, not an ETWS reset. I think we should try to be correct in the messages. I would simply suggest "Rx CBSP RESET: clearing all state; disabling broadcast". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 05:52:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 06:03:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 06:03:43 +0000 Subject: Change in docker-playground[master]: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19656 ) Change subject: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 ...................................................................... migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 When introducing IPv6 support, we map the third digit of the IPv4 address (X) to the 6th byte of an IPv6 prefix "fd02:db8:X::/64" However, the docker daemon seems to use "fd02:db8:1::/64" internally for its default network, so creating a docker network with the same IP address is failing. Let's move the MSC test suite to another sub-net (1->20) to avoid related problems. Change-Id: I9c5f9b96d5523eae09f3f2e6c813e9e0d047f9ab --- M ttcn3-msc-test/MSC_Tests.cfg M ttcn3-msc-test/Makefile M ttcn3-msc-test/jenkins.sh M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 5 files changed, 23 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/56/19656/1 diff --git a/ttcn3-msc-test/MSC_Tests.cfg b/ttcn3-msc-test/MSC_Tests.cfg index 55e739c..092e4cf 100644 --- a/ttcn3-msc-test/MSC_Tests.cfg +++ b/ttcn3-msc-test/MSC_Tests.cfg @@ -5,7 +5,7 @@ [LOGGING] [TESTPORT_PARAMETERS] -*.MSCVTY.CTRL_HOSTNAME := "172.18.1.10" +*.MSCVTY.CTRL_HOSTNAME := "172.18.20.10" [MODULE_PARAMETERS] # connection to STP @@ -13,7 +13,7 @@ { transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", - sctp_addr := { 23906, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23906, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 193, /* 0.24.1 BSC emulation [0] */ own_ssn := 254, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -24,7 +24,7 @@ { transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", - sctp_addr := { 23907, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23907, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 194, /* 0.24.2 BSC emulation [1] */ own_ssn := 254, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -35,7 +35,7 @@ { transport := RANAP_TRANSPORT_IuCS, sccp_service_type := "mtp3_itu", - sctp_addr := { 23908, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23908, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 195, /* 0.24.3 BSC emulation [2] */ own_ssn := 142, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -47,10 +47,10 @@ # remote (IUT) side MSC_Tests.mp_msc_mncc := "/data/unix/mncc"; -MSC_Tests.mp_msc_ip := "172.18.1.10"; +MSC_Tests.mp_msc_ip := "172.18.20.10"; # local (emulation) side) -MSC_Tests.mp_hlr_ip := "172.18.1.103"; -MSC_Tests.mp_mgw_ip := "172.18.1.103"; +MSC_Tests.mp_hlr_ip := "172.18.20.103"; +MSC_Tests.mp_mgw_ip := "172.18.20.103"; MSC_Tests.mp_enable_osmux_test := true; MSC_Tests.mp_enable_cell_id_test := true; diff --git a/ttcn3-msc-test/Makefile b/ttcn3-msc-test/Makefile index fe1be7c..7f46da4 100644 --- a/ttcn3-msc-test/Makefile +++ b/ttcn3-msc-test/Makefile @@ -1,3 +1,3 @@ -RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.1.202 -v ggsn-test-vol:/data +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.20.202 -v ggsn-test-vol:/data include ../make/Makefile diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 9f5e0bf..bbdc739 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 1 +network_create 20 mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix @@ -30,7 +30,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.1.200 \ + --network $NET_NAME --ip 172.18.20.200 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -38,7 +38,7 @@ echo Starting container with MSC docker run --rm \ - --network $NET_NAME --ip 172.18.1.10 \ + --network $NET_NAME --ip 172.18.20.10 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -49,7 +49,7 @@ echo Starting container with MSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.1.103 \ + --network $NET_NAME --ip 172.18.20.103 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/msc-tester:/data \ diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index a713786..6007e25 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -2,7 +2,7 @@ ! OsmoMSC (1.1.2.66-629c4-dirty) configuration saved from vty !! ! -log gsmtap 172.18.1.103 +log gsmtap 172.18.20.103 logging level set-all debug logging filter all 1 ! @@ -58,7 +58,7 @@ cs7 instance 0 point-code 0.23.1 asp asp-clnt-OsmoMSC-A 2905 0 m3ua - remote-ip 172.18.1.200 + remote-ip 172.18.20.200 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A routing-key 3 0.23.1 @@ -76,7 +76,7 @@ assign-tmsi cs7-instance-a 0 cs7-instance-iu 0 - mgw remote-ip 172.18.1.103 + mgw remote-ip 172.18.20.103 emergency-call route-to-msisdn 112 mncc external /data/unix/mncc mncc-int @@ -89,5 +89,5 @@ esme msc_tester password osmocom1 hlr - remote-ip 172.18.1.103 + remote-ip 172.18.20.103 remote-port 4222 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index 6d081fd..d13e4a7 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -2,7 +2,7 @@ ! OsmoSTP (0.8.1) configuration saved from vty !! ! -log gsmtap 172.18.1.103 +log gsmtap 172.18.20.103 logging level set-all debug logging filter all 1 ! @@ -37,20 +37,20 @@ cs7 instance 0 xua rkm routing-key-allocation dynamic-permitted asp virt-bsc0-0 23906 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-bsc0 m3ua asp virt-bsc0-0 routing-key 0 0.24.1 asp virt-bsc1-0 23907 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 asp virt-rnc0-0 23908 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9c5f9b96d5523eae09f3f2e6c813e9e0d047f9ab Gerrit-Change-Number: 19656 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 Aug 14 06:04:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 06:04:08 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 06:04:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 06:04:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:04:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f36296b4bbf0_74bf2aebd44c4600834694@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 137s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 137s] [COMPILING libboard/qmod/source/card_pres.c] [ 137s] [COMPILING libboard/qmod/source/wwan_led.c] [ 137s] [COMPILING libboard/qmod/source/i2c.c] [ 137s] [COMPILING libboard/qmod/source/board_qmod.c] [ 137s] [COMPILING apps/dfu/main.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 138s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 138s] Memory region Used Size Region Size %age Used [ 138s] rom: 16576 B 16 KB 101.17% [ 138s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 138s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 138s] collect2: error: ld returned 1 exit status [ 138s] % [ 138s] make[2]: *** [Makefile:234: flash] Error 1 [ 138s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 138s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 138s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 138s] dh_auto_build: make -j1 returned exit code 2 [ 138s] make: *** [debian/rules:16: build] Error 2 [ 138s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 138s] ### VM INTERACTION START ### [ 141s] [ 133.199761] sysrq: Power Off [ 141s] [ 133.205022] reboot: Power down [ 141s] ### VM INTERACTION END ### [ 141s] [ 141s] lamb04 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:04:15 UTC 2020. [ 141s] -- 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 Aug 14 06:05:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 06:05:08 +0000 Subject: Change in osmo-bsc[master]: CBSP: log ETWS RESET on NOTICE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log ETWS RESET on NOTICE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c at 657 PS1, Line 657: LOG_BTS(bts, DCBS, LOGL_NOTICE, "ETWS RESET: clearing all state; disabling broadcast via PCH\n"); > it diesables the broadcast both on CBCH (by clearing the lists) and of the ETWS PN on PCH (by sendin [?] ACK. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 06:05:08 +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 Aug 14 06:05:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:05:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <5f3629a671906_74bf2aebd44c4600838911@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 80s] checking for libosmocore >= 1.1.0... yes [ 80s] checking for libosmogsm >= 1.1.0... yes [ 80s] checking for libosmoctrl >= 1.1.0... yes [ 80s] checking for libosmovty >= 1.1.0... yes [ 80s] checking for libosmo-netif >= 0.6.0... yes [ 80s] checking for libosmoabis >= 0.6.0... yes [ 80s] checking for libosmotrau >= 0.6.0... no [ 80s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 80s] [ 80s] No package 'libosmotrau' found [ 80s] [ 80s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 80s] installed software in a non-standard prefix. [ 80s] [ 80s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 80s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 80s] See the pkg-config man page for more details. [ 80s] error: Bad exit status from /var/tmp/rpm-tmp.WJi8Ek (%build) [ 80s] [ 80s] [ 80s] RPM build errors: [ 80s] Bad exit status from /var/tmp/rpm-tmp.WJi8Ek (%build) [ 80s] ### VM INTERACTION START ### [ 83s] [ 70.841670] sysrq: SysRq : Power Off [ 83s] [ 70.845855] reboot: Power down [ 83s] ### VM INTERACTION END ### [ 83s] [ 83s] obs-arm-2 failed "build osmo-mgw.spec" at Fri Aug 14 06:05:08 UTC 2020. [ 83s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:05:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:05:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5f3629c5cbc45_74bf2aebd44c4600839189@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 55s] checking for LIBOSMOCORE... yes [ 55s] checking for LIBOSMOGSM... yes [ 55s] checking for LIBOSMOCTRL... yes [ 55s] checking for LIBOSMOVTY... yes [ 55s] checking for LIBOSMONETIF... yes [ 55s] checking for LIBOSMOABIS... yes [ 55s] checking for LIBOSMOTRAU... no [ 55s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 55s] [ 55s] Package 'libosmotrau', required by 'virtual:world', not found [ 55s] [ 55s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 55s] installed software in a non-standard prefix. [ 55s] [ 55s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 55s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 55s] See the pkg-config man page for more details. [ 55s] error: Bad exit status from /var/tmp/rpm-tmp.VhcDXt (%build) [ 55s] [ 55s] [ 55s] RPM build errors: [ 55s] Bad exit status from /var/tmp/rpm-tmp.VhcDXt (%build) [ 55s] ### VM INTERACTION START ### [ 58s] [ 52.860024] sysrq: Power Off [ 58s] [ 52.866741] reboot: Power down [ 58s] ### VM INTERACTION END ### [ 58s] [ 58s] lamb07 failed "build osmo-mgw.spec" at Fri Aug 14 06:05:15 UTC 2020. [ 58s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:06:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:06:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f3629e556586_74bf2aebd44c46008392d8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 99s] [COMPILING libboard/qmod/source/i2c.c] [ 99s] [COMPILING libboard/qmod/source/board_qmod.c] [ 99s] [COMPILING apps/dfu/main.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 100s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 100s] Memory region Used Size Region Size %age Used [ 100s] rom: 16584 B 16 KB 101.22% [ 100s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 100s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 100s] collect2: error: ld returned 1 exit status [ 100s] % [ 100s] Makefile:234: recipe for target 'flash' failed [ 100s] make[2]: *** [flash] Error 1 [ 100s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 100s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 100s] make[1]: *** [fw-qmod-dfu] Error 2 [ 100s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 100s] dh_auto_build: make -j1 returned exit code 2 [ 100s] debian/rules:16: recipe for target 'build' failed [ 100s] make: *** [build] Error 2 [ 100s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 100s] ### VM INTERACTION START ### [ 103s] [ 97.311346] sysrq: Power Off [ 103s] [ 97.315906] reboot: Power down [ 103s] ### VM INTERACTION END ### [ 103s] [ 103s] sheep85 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:05:54 UTC 2020. [ 103s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:06:38 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:06:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f362a2f87974_74bf2aebd44c4600839618@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 138s] [COMPILING libboard/qmod/source/i2c.c] [ 138s] [COMPILING libboard/qmod/source/board_qmod.c] [ 138s] [COMPILING apps/dfu/main.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 139s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 139s] Memory region Used Size Region Size %age Used [ 139s] rom: 16576 B 16 KB 101.17% [ 139s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 139s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 139s] collect2: error: ld returned 1 exit status [ 139s] % [ 139s] Makefile:234: recipe for target 'flash' failed [ 139s] make[2]: *** [flash] Error 1 [ 139s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 139s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 139s] make[1]: *** [fw-qmod-dfu] Error 2 [ 139s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 139s] dh_auto_build: make -j1 returned exit code 2 [ 139s] debian/rules:16: recipe for target 'build' failed [ 139s] make: *** [build] Error 2 [ 139s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 139s] ### VM INTERACTION START ### [ 142s] [ 134.851169] sysrq: Power Off [ 142s] [ 134.869372] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] lamb60 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:06:26 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:06:57 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:06:57 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f362a327d22_74bf2aebd44c46008397eb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 140s] [COMPILING libboard/qmod/source/i2c.c] [ 140s] [COMPILING libboard/qmod/source/board_qmod.c] [ 140s] [COMPILING apps/dfu/main.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 141s] Memory region Used Size Region Size %age Used [ 141s] rom: 16584 B 16 KB 101.22% [ 141s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 141s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 141s] collect2: error: ld returned 1 exit status [ 141s] % [ 141s] Makefile:234: recipe for target 'flash' failed [ 141s] make[2]: *** [flash] Error 1 [ 141s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 141s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 141s] make[1]: *** [fw-qmod-dfu] Error 2 [ 141s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 141s] dh_auto_build: make -j1 returned exit code 2 [ 141s] debian/rules:16: recipe for target 'build' failed [ 141s] make: *** [build] Error 2 [ 141s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 141s] ### VM INTERACTION START ### [ 144s] [ 132.033855] sysrq: Power Off [ 144s] [ 132.035055] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:06:49 UTC 2020. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:06:57 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:06:57 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f362a3256bc0_74bf2aebd44c46008398fb@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 libboard/common/source/uart_console.c] [ 125s] [COMPILING libboard/common/source/led.c] [ 125s] [COMPILING libboard/common/source/boardver_adc.c] [ 125s] [COMPILING libboard/common/source/manifest.c] [ 125s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 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] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 126s] Memory region Used Size Region Size %age Used [ 126s] rom: 16460 B 16 KB 100.46% [ 126s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 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:10: fw-simtrace-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] [ 120.174602] sysrq: Power Off [ 129s] [ 120.182219] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb17 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:06:54 UTC 2020. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f362a3481416_74bf2aebd44c460083993@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 139s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 139s] [COMPILING libboard/qmod/source/card_pres.c] [ 140s] [COMPILING libboard/qmod/source/wwan_led.c] [ 140s] [COMPILING libboard/qmod/source/i2c.c] [ 140s] [COMPILING libboard/qmod/source/board_qmod.c] [ 140s] [COMPILING apps/dfu/main.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 140s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 140s] Memory region Used Size Region Size %age Used [ 141s] rom: 16576 B 16 KB 101.17% [ 141s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 141s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 141s] collect2: error: ld returned 1 exit status [ 141s] % [ 141s] make[2]: *** [Makefile:234: flash] Error 1 [ 141s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 141s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 141s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 141s] dh_auto_build: make -j1 returned exit code 2 [ 141s] make: *** [debian/rules:16: build] Error 2 [ 141s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 141s] ### VM INTERACTION START ### [ 144s] [ 136.622929] sysrq: Power Off [ 144s] [ 136.628599] reboot: Power down [ 144s] ### VM INTERACTION END ### [ 144s] [ 144s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:06:57 UTC 2020. [ 144s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:13 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f362a363c72f_74bf2aebd44c46008400c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 154s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 154s] [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] [ 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: 16504 B 16 KB 100.73% [ 156s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 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: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 2 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 147.957459] sysrq: Power Off [ 159s] [ 147.960138] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:10 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f362a602f657_74bf2aebd44c460084047c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 114s] [COMPILING libboard/qmod/source/i2c.c] [ 114s] [COMPILING libboard/qmod/source/board_qmod.c] [ 114s] [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] [ 115s] Memory region Used Size Region Size %age Used [ 115s] rom: 16584 B 16 KB 101.22% [ 115s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 115s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 115s] collect2: error: ld returned 1 exit status [ 115s] % [ 115s] Makefile:234: recipe for target 'flash' failed [ 115s] make[2]: *** [flash] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 115s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 115s] make[1]: *** [fw-qmod-dfu] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 115s] dh_auto_build: make -j1 returned exit code 2 [ 115s] debian/rules:16: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] ### VM INTERACTION START ### [ 118s] [ 110.542387] sysrq: Power Off [ 118s] [ 110.549029] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] lamb11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:16 UTC 2020. [ 118s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <5f362a60be276_74bf2aebd44c46008405bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 46s] checking for libosmocore >= 1.1.0... yes [ 46s] checking for libosmogsm >= 1.1.0... yes [ 46s] checking for libosmoctrl >= 1.1.0... yes [ 46s] checking for libosmovty >= 1.1.0... yes [ 46s] checking for libosmo-netif >= 0.6.0... yes [ 46s] checking for libosmoabis >= 0.6.0... yes [ 46s] checking for libosmotrau >= 0.6.0... no [ 46s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 46s] [ 46s] No package 'libosmotrau' found [ 46s] [ 46s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 46s] installed software in a non-standard prefix. [ 46s] [ 46s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 46s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 46s] See the pkg-config man page for more details. [ 46s] error: Bad exit status from /var/tmp/rpm-tmp.KvXIwD (%build) [ 46s] [ 46s] [ 46s] RPM build errors: [ 46s] Bad exit status from /var/tmp/rpm-tmp.KvXIwD (%build) [ 46s] ### VM INTERACTION START ### [ 50s] [ 43.620554] sysrq: Power Off [ 50s] [ 43.627683] reboot: Power down [ 50s] ### VM INTERACTION END ### [ 50s] [ 50s] lamb04 failed "build osmo-mgw.spec" at Fri Aug 14 06:07:24 UTC 2020. [ 50s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f362a62572c7_74bf2aebd44c46008408b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 151s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 151s] [COMPILING libboard/qmod/source/card_pres.c] [ 151s] [COMPILING libboard/qmod/source/wwan_led.c] [ 151s] [COMPILING libboard/qmod/source/i2c.c] [ 151s] [COMPILING libboard/qmod/source/board_qmod.c] [ 151s] [COMPILING apps/dfu/main.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 152s] Memory region Used Size Region Size %age Used [ 152s] rom: 16504 B 16 KB 100.73% [ 152s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 152s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 152s] collect2: error: ld returned 1 exit status [ 152s] % [ 152s] make[2]: *** [Makefile:234: flash] Error 1 [ 152s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 152s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 152s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 152s] dh_auto_build: make -j1 returned exit code 2 [ 152s] make: *** [debian/rules:16: build] Error 2 [ 152s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 152s] ### VM INTERACTION START ### [ 155s] [ 145.751225] sysrq: Power Off [ 155s] [ 145.754712] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] old-atreju1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:36 UTC 2020. [ 155s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <5f362a61ee550_74bf2aebd44c46008407f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 46s] checking for libosmocore >= 1.1.0... yes [ 46s] checking for libosmogsm >= 1.1.0... yes [ 46s] checking for libosmoctrl >= 1.1.0... yes [ 46s] checking for libosmovty >= 1.1.0... yes [ 46s] checking for libosmo-netif >= 0.6.0... yes [ 46s] checking for libosmoabis >= 0.6.0... yes [ 46s] checking for libosmotrau >= 0.6.0... no [ 46s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 46s] [ 46s] No package 'libosmotrau' found [ 46s] [ 46s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 46s] installed software in a non-standard prefix. [ 46s] [ 46s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 46s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 46s] See the pkg-config man page for more details. [ 46s] error: Bad exit status from /var/tmp/rpm-tmp.sM6sGl (%build) [ 46s] [ 46s] [ 46s] RPM build errors: [ 46s] Bad exit status from /var/tmp/rpm-tmp.sM6sGl (%build) [ 46s] ### VM INTERACTION START ### [ 49s] [ 42.934494] sysrq: SysRq : Power Off [ 49s] [ 42.939715] reboot: Power down [ 49s] ### VM INTERACTION END ### [ 49s] [ 49s] lamb25 failed "build osmo-mgw.spec" at Fri Aug 14 06:07:34 UTC 2020. [ 49s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f362a61a12ca_74bf2aebd44c46008406c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 148s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 148s] [COMPILING libboard/qmod/source/card_pres.c] [ 148s] [COMPILING libboard/qmod/source/wwan_led.c] [ 148s] [COMPILING libboard/qmod/source/i2c.c] [ 148s] [COMPILING libboard/qmod/source/board_qmod.c] [ 148s] [COMPILING apps/dfu/main.c] [ 148s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 149s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 149s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 149s] Memory region Used Size Region Size %age Used [ 149s] rom: 16504 B 16 KB 100.73% [ 149s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 149s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 149s] collect2: error: ld returned 1 exit status [ 149s] % [ 149s] make[2]: *** [Makefile:234: flash] Error 1 [ 149s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 149s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 149s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 149s] dh_auto_build: make -j1 returned exit code 2 [ 149s] make: *** [debian/rules:16: build] Error 2 [ 149s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 149s] ### VM INTERACTION START ### [ 152s] [ 144.791744] sysrq: Power Off [ 152s] [ 144.798389] reboot: Power down [ 152s] ### VM INTERACTION END ### [ 152s] [ 152s] lamb28 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:33 UTC 2020. [ 152s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:07:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:07:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f362a62c31f4_74bf2aebd44c46008409f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 134s] [COMPILING libboard/qmod/source/i2c.c] [ 134s] [COMPILING libboard/qmod/source/board_qmod.c] [ 134s] [COMPILING apps/dfu/main.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 134s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 135s] Memory region Used Size Region Size %age Used [ 135s] rom: 16576 B 16 KB 101.17% [ 135s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 135s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 135s] collect2: error: ld returned 1 exit status [ 135s] % [ 135s] Makefile:234: recipe for target 'flash' failed [ 135s] make[2]: *** [flash] Error 1 [ 135s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 135s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 135s] make[1]: *** [fw-qmod-dfu] Error 2 [ 135s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 135s] dh_auto_build: make -j1 returned exit code 2 [ 135s] debian/rules:16: recipe for target 'build' failed [ 135s] make: *** [build] Error 2 [ 135s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 135s] ### VM INTERACTION START ### [ 138s] [ 130.022595] sysrq: Power Off [ 138s] [ 130.037500] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] lamb58 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:42 UTC 2020. [ 138s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:08:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:08:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f362a632ac76_74bf2aebd44c4600841071@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 105s] checking for LIBOSMOCORE... yes [ 105s] checking for LIBOSMOGSM... yes [ 105s] checking for LIBOSMOCTRL... yes [ 105s] checking for LIBOSMOVTY... yes [ 105s] checking for LIBOSMONETIF... yes [ 105s] checking for LIBOSMOABIS... yes [ 105s] checking for LIBOSMOTRAU... no [ 105s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 105s] [ 105s] Package 'libosmotrau', required by 'virtual:world', not found [ 105s] [ 105s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 105s] installed software in a non-standard prefix. [ 105s] [ 105s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 105s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 105s] See the pkg-config man page for more details. [ 105s] error: Bad exit status from /var/tmp/rpm-tmp.nZjob2 (%build) [ 105s] [ 105s] [ 105s] RPM build errors: [ 105s] Bad exit status from /var/tmp/rpm-tmp.nZjob2 (%build) [ 105s] ### VM INTERACTION START ### [ 107s] Powering off. [ 107s] [ 98.850189] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] sheep85 failed "build osmo-mgw.spec" at Fri Aug 14 06:07:58 UTC 2020. [ 107s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:08:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:08:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f362a6384ea2_74bf2aebd44c4600841130@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 150s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 151s] [COMPILING libboard/qmod/source/card_pres.c] [ 151s] [COMPILING libboard/qmod/source/wwan_led.c] [ 151s] [COMPILING libboard/qmod/source/i2c.c] [ 151s] [COMPILING libboard/qmod/source/board_qmod.c] [ 151s] [COMPILING apps/dfu/main.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 152s] Memory region Used Size Region Size %age Used [ 152s] rom: 16504 B 16 KB 100.73% [ 152s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 152s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 152s] collect2: error: ld returned 1 exit status [ 152s] % [ 152s] make[2]: *** [Makefile:234: flash] Error 1 [ 152s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 152s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 152s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 152s] dh_auto_build: make -j1 returned exit code 2 [ 152s] make: *** [debian/rules:16: build] Error 255 [ 152s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 152s] ### VM INTERACTION START ### [ 155s] [ 146.848454] sysrq: Power Off [ 155s] [ 146.854110] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:07:59 UTC 2020. [ 155s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:08:04 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:08:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5f362a64a4f7_74bf2aebd44c46008412f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 56s] checking for LIBOSMOCORE... yes [ 56s] checking for LIBOSMOGSM... yes [ 56s] checking for LIBOSMOCTRL... yes [ 56s] checking for LIBOSMOVTY... yes [ 56s] checking for LIBOSMONETIF... yes [ 56s] checking for LIBOSMOABIS... yes [ 56s] checking for LIBOSMOTRAU... no [ 56s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 56s] [ 56s] Package 'libosmotrau', required by 'virtual:world', not found [ 56s] [ 56s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 56s] installed software in a non-standard prefix. [ 56s] [ 56s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 56s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 56s] See the pkg-config man page for more details. [ 56s] error: Bad exit status from /var/tmp/rpm-tmp.Wb9w7Y (%build) [ 56s] [ 56s] [ 56s] RPM build errors: [ 56s] Bad exit status from /var/tmp/rpm-tmp.Wb9w7Y (%build) [ 56s] ### VM INTERACTION START ### [ 59s] [ 49.863362] sysrq: Power Off [ 59s] [ 49.864776] reboot: Power down [ 59s] ### VM INTERACTION END ### [ 59s] [ 59s] obs-arm-9 failed "build osmo-mgw.spec" at Fri Aug 14 06:08:03 UTC 2020. [ 59s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:08:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:08:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f362a6459b97_74bf2aebd44c460084137@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 173s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 173s] [COMPILING libboard/qmod/source/card_pres.c] [ 173s] [COMPILING libboard/qmod/source/wwan_led.c] [ 173s] [COMPILING libboard/qmod/source/i2c.c] [ 173s] [COMPILING libboard/qmod/source/board_qmod.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] [ 174s] Memory region Used Size Region Size %age Used [ 174s] rom: 16504 B 16 KB 100.73% [ 174s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 174s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 174s] collect2: error: ld returned 1 exit status [ 174s] % [ 174s] make[2]: *** [Makefile:234: flash] Error 1 [ 174s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 174s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 174s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 174s] dh_auto_build: make -j1 returned exit code 2 [ 174s] make: *** [debian/rules:16: build] Error 2 [ 174s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 174s] ### VM INTERACTION START ### [ 177s] [ 168.543786] sysrq: Power Off [ 177s] [ 168.550893] reboot: Power down [ 177s] ### VM INTERACTION END ### [ 177s] [ 177s] lamb13 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:08:04 UTC 2020. [ 177s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:08:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:08:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5f362a651a2b5_74bf2aebd44c46008414f9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 50s] checking for LIBOSMOCORE... yes [ 50s] checking for LIBOSMOGSM... yes [ 50s] checking for LIBOSMOCTRL... yes [ 50s] checking for LIBOSMOVTY... yes [ 51s] checking for LIBOSMONETIF... yes [ 51s] checking for LIBOSMOABIS... yes [ 51s] checking for LIBOSMOTRAU... no [ 51s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 51s] [ 51s] Package 'libosmotrau', required by 'virtual:world', not found [ 51s] [ 51s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 51s] installed software in a non-standard prefix. [ 51s] [ 51s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 51s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 51s] See the pkg-config man page for more details. [ 51s] error: Bad exit status from /var/tmp/rpm-tmp.Xgml5f (%build) [ 51s] [ 51s] [ 51s] RPM build errors: [ 51s] Bad exit status from /var/tmp/rpm-tmp.Xgml5f (%build) [ 51s] ### VM INTERACTION START ### [ 54s] [ 47.839330] sysrq: Power Off [ 54s] [ 47.852605] reboot: Power down [ 54s] ### VM INTERACTION END ### [ 54s] [ 54s] lamb07 failed "build osmo-mgw.spec" at Fri Aug 14 06:08:15 UTC 2020. [ 54s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:09:31 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:09:31 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5f362ab5c12df_74bf2aebd44c4600841876@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 137s] checking for LIBOSMOCORE... yes [ 137s] checking for LIBOSMOGSM... yes [ 137s] checking for LIBOSMOCTRL... yes [ 137s] checking for LIBOSMOVTY... yes [ 137s] checking for LIBOSMONETIF... yes [ 137s] checking for LIBOSMOABIS... yes [ 137s] checking for LIBOSMOTRAU... no [ 137s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 137s] [ 137s] Package 'libosmotrau', required by 'virtual:world', not found [ 137s] [ 137s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 137s] installed software in a non-standard prefix. [ 137s] [ 137s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 137s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 137s] See the pkg-config man page for more details. [ 137s] error: Bad exit status from /var/tmp/rpm-tmp.Op5Exi (%build) [ 137s] [ 137s] [ 137s] RPM build errors: [ 137s] Bad exit status from /var/tmp/rpm-tmp.Op5Exi (%build) [ 137s] ### VM INTERACTION START ### [ 138s] Powering off. [ 138s] [ 125.307062] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] obs-arm-8 failed "build osmo-mgw.spec" at Fri Aug 14 06:09:24 UTC 2020. [ 139s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:09:31 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:09:31 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f362ab6b88c_74bf2aebd44c4600841994@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/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] [ 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: 16464 B 16 KB 100.49% [ 156s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 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] [ 149.342066] sysrq: Power Off [ 159s] [ 149.350132] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:09:24 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 06:10:05 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 06:10:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f362ad6e2a4a_74bf2aebd44c4600842020@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/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] [ 170s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 170s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 170s] Memory region Used Size Region Size %age Used [ 170s] rom: 16464 B 16 KB 100.49% [ 170s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 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] [ 162.168249] sysrq: Power Off [ 173s] [ 162.174122] reboot: Power down [ 173s] ### VM INTERACTION END ### [ 173s] [ 173s] lamb58 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 06:10:04 UTC 2020. [ 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 Fri Aug 14 06:21:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 06:21:28 +0000 Subject: Change in docker-playground[master]: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19656 ) Change subject: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9c5f9b96d5523eae09f3f2e6c813e9e0d047f9ab Gerrit-Change-Number: 19656 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 06: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 Fri Aug 14 06:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 06:21:30 +0000 Subject: Change in docker-playground[master]: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19656 ) Change subject: migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 ...................................................................... migrate ttcn3-msc-test from 172.18.1.0/24 to 172.18.20.0/24 When introducing IPv6 support, we map the third digit of the IPv4 address (X) to the 6th byte of an IPv6 prefix "fd02:db8:X::/64" However, the docker daemon seems to use "fd02:db8:1::/64" internally for its default network, so creating a docker network with the same IP address is failing. Let's move the MSC test suite to another sub-net (1->20) to avoid related problems. Change-Id: I9c5f9b96d5523eae09f3f2e6c813e9e0d047f9ab --- M ttcn3-msc-test/MSC_Tests.cfg M ttcn3-msc-test/Makefile M ttcn3-msc-test/jenkins.sh M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 5 files changed, 23 insertions(+), 23 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-msc-test/MSC_Tests.cfg b/ttcn3-msc-test/MSC_Tests.cfg index 55e739c..092e4cf 100644 --- a/ttcn3-msc-test/MSC_Tests.cfg +++ b/ttcn3-msc-test/MSC_Tests.cfg @@ -5,7 +5,7 @@ [LOGGING] [TESTPORT_PARAMETERS] -*.MSCVTY.CTRL_HOSTNAME := "172.18.1.10" +*.MSCVTY.CTRL_HOSTNAME := "172.18.20.10" [MODULE_PARAMETERS] # connection to STP @@ -13,7 +13,7 @@ { transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", - sctp_addr := { 23906, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23906, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 193, /* 0.24.1 BSC emulation [0] */ own_ssn := 254, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -24,7 +24,7 @@ { transport := BSSAP_TRANSPORT_AoIP, sccp_service_type := "mtp3_itu", - sctp_addr := { 23907, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23907, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 194, /* 0.24.2 BSC emulation [1] */ own_ssn := 254, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -35,7 +35,7 @@ { transport := RANAP_TRANSPORT_IuCS, sccp_service_type := "mtp3_itu", - sctp_addr := { 23908, "172.18.1.103", 2905, "172.18.1.200" }, + sctp_addr := { 23908, "172.18.20.103", 2905, "172.18.20.200" }, own_pc := 195, /* 0.24.3 BSC emulation [2] */ own_ssn := 142, peer_pc := 185, /* 0.23.1 osmo-msc */ @@ -47,10 +47,10 @@ # remote (IUT) side MSC_Tests.mp_msc_mncc := "/data/unix/mncc"; -MSC_Tests.mp_msc_ip := "172.18.1.10"; +MSC_Tests.mp_msc_ip := "172.18.20.10"; # local (emulation) side) -MSC_Tests.mp_hlr_ip := "172.18.1.103"; -MSC_Tests.mp_mgw_ip := "172.18.1.103"; +MSC_Tests.mp_hlr_ip := "172.18.20.103"; +MSC_Tests.mp_mgw_ip := "172.18.20.103"; MSC_Tests.mp_enable_osmux_test := true; MSC_Tests.mp_enable_cell_id_test := true; diff --git a/ttcn3-msc-test/Makefile b/ttcn3-msc-test/Makefile index fe1be7c..7f46da4 100644 --- a/ttcn3-msc-test/Makefile +++ b/ttcn3-msc-test/Makefile @@ -1,3 +1,3 @@ -RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.1.202 -v ggsn-test-vol:/data +RUN_ARGS?=--sysctl net.ipv6.conf.all.disable_ipv6=0 --rm --network sigtran --ip 172.18.20.202 -v ggsn-test-vol:/data include ../make/Makefile diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 9f5e0bf..bbdc739 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,7 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 1 +network_create 20 mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix @@ -30,7 +30,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.1.200 \ + --network $NET_NAME --ip 172.18.20.200 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -38,7 +38,7 @@ echo Starting container with MSC docker run --rm \ - --network $NET_NAME --ip 172.18.1.10 \ + --network $NET_NAME --ip 172.18.20.10 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -49,7 +49,7 @@ echo Starting container with MSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.1.103 \ + --network $NET_NAME --ip 172.18.20.103 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/msc-tester:/data \ diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index a713786..6007e25 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -2,7 +2,7 @@ ! OsmoMSC (1.1.2.66-629c4-dirty) configuration saved from vty !! ! -log gsmtap 172.18.1.103 +log gsmtap 172.18.20.103 logging level set-all debug logging filter all 1 ! @@ -58,7 +58,7 @@ cs7 instance 0 point-code 0.23.1 asp asp-clnt-OsmoMSC-A 2905 0 m3ua - remote-ip 172.18.1.200 + remote-ip 172.18.20.200 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A routing-key 3 0.23.1 @@ -76,7 +76,7 @@ assign-tmsi cs7-instance-a 0 cs7-instance-iu 0 - mgw remote-ip 172.18.1.103 + mgw remote-ip 172.18.20.103 emergency-call route-to-msisdn 112 mncc external /data/unix/mncc mncc-int @@ -89,5 +89,5 @@ esme msc_tester password osmocom1 hlr - remote-ip 172.18.1.103 + remote-ip 172.18.20.103 remote-port 4222 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index 6d081fd..d13e4a7 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -2,7 +2,7 @@ ! OsmoSTP (0.8.1) configuration saved from vty !! ! -log gsmtap 172.18.1.103 +log gsmtap 172.18.20.103 logging level set-all debug logging filter all 1 ! @@ -37,20 +37,20 @@ cs7 instance 0 xua rkm routing-key-allocation dynamic-permitted asp virt-bsc0-0 23906 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-bsc0 m3ua asp virt-bsc0-0 routing-key 0 0.24.1 asp virt-bsc1-0 23907 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 asp virt-rnc0-0 23908 2905 m3ua - local-ip 172.18.1.200 - remote-ip 172.18.1.103 + local-ip 172.18.20.200 + remote-ip 172.18.20.103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9c5f9b96d5523eae09f3f2e6c813e9e0d047f9ab Gerrit-Change-Number: 19656 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 07:01:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 07:01:05 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: increase test suite execution timeout References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 ) Change subject: ttcn3/lib/testlib.py: increase test suite execution timeout ...................................................................... ttcn3/lib/testlib.py: increase test suite execution timeout Since I8eb28584e90ad012cbf7f3175ee3a8e775c8d523, the test suite is supposed to run both BTS_Tests_{SMSCB,LAPDm}, and apparently this requires more time than 3600 seconds. Let's add more 50%. Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/19657/1 diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index c3b3f35..55b6b41 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -36,7 +36,7 @@ try: proc.launch() print('TTCN3 test suite launched, waiting until it finishes') - proc.wait(timeout=3600) + proc.wait(timeout=5400) # 1.5h except Exception as e: proc.terminate() raise e -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f Gerrit-Change-Number: 19657 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 Aug 14 07:06:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 07:06:02 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: increase test suite execution timeout In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 ) Change subject: ttcn3/lib/testlib.py: increase test suite execution timeout ...................................................................... ttcn3/lib/testlib.py: increase test suite execution timeout Since I8eb28584e90ad012cbf7f3175ee3a8e775c8d523, the test suite is supposed to run both BTS_Tests_{SMSCB,LAPDm}.control among with BTS_Tests.control. Apparently this requires more time than 3600 seconds, so everything is broken since build #2652 in Jenkins. Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/19657/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f Gerrit-Change-Number: 19657 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 07:09:15 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 07:09:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5f3638af9b825_74bf2aebd44c46008476b5@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: [ 98s] checking for LIBOSMOCORE... yes [ 98s] checking for LIBOSMOGSM... yes [ 98s] checking for LIBOSMOCTRL... yes [ 98s] checking for LIBOSMOVTY... yes [ 98s] checking for LIBOSMONETIF... yes [ 98s] checking for LIBOSMOABIS... yes [ 98s] checking for LIBOSMOTRAU... no [ 98s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 98s] [ 98s] Package 'libosmotrau', required by 'virtual:world', not found [ 98s] [ 98s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 98s] installed software in a non-standard prefix. [ 98s] [ 98s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 98s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 98s] See the pkg-config man page for more details. [ 98s] error: Bad exit status from /var/tmp/rpm-tmp.WdFeOI (%build) [ 98s] [ 98s] [ 98s] RPM build errors: [ 98s] Bad exit status from /var/tmp/rpm-tmp.WdFeOI (%build) [ 98s] ### VM INTERACTION START ### [ 102s] [ 89.869059] sysrq: Power Off [ 102s] [ 90.045928] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] armbuild22 failed "build osmo-mgw.spec" at Fri Aug 14 07:09:01 UTC 2020. [ 102s] -- 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 Aug 14 07:48:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 07:48:44 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Add missing dependency to libosmotrau References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19658 ) Change subject: osmo-mgw.spec.in: Add missing dependency to libosmotrau ...................................................................... osmo-mgw.spec.in: Add missing dependency to libosmotrau Change-Id: I2d5f8b1d852079b8f82adb681d7e6b72a8358cf1 --- M contrib/osmo-mgw.spec.in 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/58/19658/1 diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index 0f96ed0..fc618da 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,7 +35,8 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 -BuildRequires: pkgconfig(libosmoabis) +BuildRequires: pkgconfig(libosmoabis) >= 1.0.0 +BuildRequires: pkgconfig(libosmotrau) >= 1.0.0 %{?systemd_requires} %description -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2d5f8b1d852079b8f82adb681d7e6b72a8358cf1 Gerrit-Change-Number: 19658 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 Aug 14 07:49:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 07:49:29 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Add missing dependency to libosmotrau In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19658 ) Change subject: osmo-mgw.spec.in: Add missing dependency to libosmotrau ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2d5f8b1d852079b8f82adb681d7e6b72a8358cf1 Gerrit-Change-Number: 19658 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 14 Aug 2020 07:49:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 07:53:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 07:53:03 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw.spec.in: Add missing dependency to libosmotrau In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19658 ) Change subject: osmo-mgw.spec.in: Add missing dependency to libosmotrau ...................................................................... osmo-mgw.spec.in: Add missing dependency to libosmotrau Change-Id: I2d5f8b1d852079b8f82adb681d7e6b72a8358cf1 --- M contrib/osmo-mgw.spec.in 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index 0f96ed0..fc618da 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -35,7 +35,8 @@ BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 -BuildRequires: pkgconfig(libosmoabis) +BuildRequires: pkgconfig(libosmoabis) >= 1.0.0 +BuildRequires: pkgconfig(libosmotrau) >= 1.0.0 %{?systemd_requires} %description -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2d5f8b1d852079b8f82adb681d7e6b72a8358cf1 Gerrit-Change-Number: 19658 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 Fri Aug 14 07:57:17 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 07:57:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5f3643edcb681_74bf2aebd44c460087503e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 109s] checking for LIBOSMOCORE... yes [ 109s] checking for LIBOSMOGSM... yes [ 109s] checking for LIBOSMOCTRL... yes [ 109s] checking for LIBOSMOVTY... yes [ 109s] checking for LIBOSMONETIF... yes [ 109s] checking for LIBOSMOABIS... yes [ 109s] checking for LIBOSMOTRAU... no [ 109s] configure: error: Package requirements (libosmotrau >= 0.6.0) were not met: [ 109s] [ 109s] Package 'libosmotrau', required by 'virtual:world', not found [ 109s] [ 109s] Consider adjusting the PKG_CONFIG_PATH environment variable if you [ 109s] installed software in a non-standard prefix. [ 109s] [ 109s] Alternatively, you may set the environment variables LIBOSMOTRAU_CFLAGS [ 109s] and LIBOSMOTRAU_LIBS to avoid the need to call pkg-config. [ 109s] See the pkg-config man page for more details. [ 109s] error: Bad exit status from /var/tmp/rpm-tmp.c7r6w8 (%build) [ 109s] [ 109s] [ 109s] RPM build errors: [ 109s] Bad exit status from /var/tmp/rpm-tmp.c7r6w8 (%build) [ 109s] ### VM INTERACTION START ### [ 111s] Powering off. [ 111s] [ 102.896020] reboot: Power down [ 111s] ### VM INTERACTION END ### [ 111s] [ 111s] build70 failed "build osmo-mgw.spec" at Fri Aug 14 07:57:01 UTC 2020. [ 111s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:09:28 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:09:28 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f3646c58bab8_74bf2aebd44c46008844b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 135s] [COMPILING libboard/qmod/source/i2c.c] [ 136s] [COMPILING libboard/qmod/source/board_qmod.c] [ 136s] [COMPILING apps/dfu/main.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 136s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 136s] Memory region Used Size Region Size %age Used [ 136s] rom: 16584 B 16 KB 101.22% [ 136s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 136s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 136s] collect2: error: ld returned 1 exit status [ 136s] % [ 136s] Makefile:234: recipe for target 'flash' failed [ 136s] make[2]: *** [flash] Error 1 [ 136s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 136s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 136s] make[1]: *** [fw-qmod-dfu] Error 2 [ 136s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 136s] dh_auto_build: make -j1 returned exit code 2 [ 136s] debian/rules:16: recipe for target 'build' failed [ 136s] make: *** [build] Error 2 [ 136s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 136s] ### VM INTERACTION START ### [ 140s] [ 131.199618] sysrq: Power Off [ 140s] [ 131.219992] reboot: Power down [ 140s] ### VM INTERACTION END ### [ 140s] [ 140s] lamb22 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:09:19 UTC 2020. [ 140s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:09:45 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:09:45 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f3646d6d93b9_74bf2aebd44c4600884579@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 367s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 368s] [COMPILING libboard/qmod/source/card_pres.c] [ 368s] [COMPILING libboard/qmod/source/wwan_led.c] [ 368s] [COMPILING libboard/qmod/source/i2c.c] [ 368s] [COMPILING libboard/qmod/source/board_qmod.c] [ 368s] [COMPILING apps/dfu/main.c] [ 368s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 369s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 369s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 369s] Memory region Used Size Region Size %age Used [ 369s] rom: 16576 B 16 KB 101.17% [ 369s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 369s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 369s] collect2: error: ld returned 1 exit status [ 369s] % [ 369s] make[2]: *** [Makefile:234: flash] Error 1 [ 369s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 369s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 369s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 369s] dh_auto_build: make -j1 returned exit code 2 [ 369s] make: *** [debian/rules:16: build] Error 2 [ 369s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 369s] ### VM INTERACTION START ### [ 372s] [ 362.115220] sysrq: Power Off [ 372s] [ 362.135421] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] lamb10 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:09:32 UTC 2020. [ 372s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:10:18 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:10:18 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f3646f8767da_74bf2aebd44c460088502b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 225s] [COMPILING libboard/qmod/source/i2c.c] [ 225s] [COMPILING libboard/qmod/source/board_qmod.c] [ 226s] [COMPILING apps/dfu/main.c] [ 226s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 226s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 226s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 227s] Memory region Used Size Region Size %age Used [ 227s] rom: 16576 B 16 KB 101.17% [ 227s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 227s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 227s] collect2: error: ld returned 1 exit status [ 227s] % [ 227s] Makefile:234: recipe for target 'flash' failed [ 227s] make[2]: *** [flash] Error 1 [ 227s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 227s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 227s] make[1]: *** [fw-qmod-dfu] Error 2 [ 227s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 227s] dh_auto_build: make -j1 returned exit code 2 [ 227s] debian/rules:16: recipe for target 'build' failed [ 227s] make: *** [build] Error 2 [ 227s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 227s] ### VM INTERACTION START ### [ 230s] [ 213.184764] sysrq: Power Off [ 230s] [ 213.189760] reboot: Power down [ 230s] ### VM INTERACTION END ### [ 230s] [ 230s] old-atreju1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:10:04 UTC 2020. [ 230s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:11:10 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:11:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f3647333d127_74bf2aebd44c460088545e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 182s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 182s] [COMPILING libboard/qmod/source/card_pres.c] [ 182s] [COMPILING libboard/qmod/source/wwan_led.c] [ 182s] [COMPILING libboard/qmod/source/i2c.c] [ 183s] [COMPILING libboard/qmod/source/board_qmod.c] [ 183s] [COMPILING apps/dfu/main.c] [ 183s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 183s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 183s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 183s] Memory region Used Size Region Size %age Used [ 183s] rom: 16504 B 16 KB 100.73% [ 183s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 183s] collect2: error: ld returned 1 exit status [ 183s] % [ 183s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 183s] make: *** [debian/rules:16: build] Error 2 [ 183s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 183s] ### VM INTERACTION START ### [ 187s] [ 175.804848] sysrq: Power Off [ 187s] [ 175.810320] reboot: Power down [ 187s] ### VM INTERACTION END ### [ 187s] [ 187s] lamb17 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:11:03 UTC 2020. [ 187s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:15:43 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:15:43 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f3648412bf2c_74bf2aebd44c460088702d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 124s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 124s] [COMPILING libboard/qmod/source/card_pres.c] [ 124s] [COMPILING libboard/qmod/source/wwan_led.c] [ 124s] [COMPILING libboard/qmod/source/i2c.c] [ 124s] [COMPILING libboard/qmod/source/board_qmod.c] [ 124s] [COMPILING apps/dfu/main.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 124s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 125s] Memory region Used Size Region Size %age Used [ 125s] rom: 16504 B 16 KB 100.73% [ 125s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.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/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 125s] make: *** [debian/rules:16: build] Error 2 [ 125s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 120.769036] sysrq: Power Off [ 128s] [ 120.773867] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:15:32 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:18:34 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:18:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f3648f71a9b2_74bf2aebd44c460088849c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.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/wwan_perst.c] [ 98s] [COMPILING libboard/qmod/source/card_pres.c] [ 98s] [COMPILING libboard/qmod/source/wwan_led.c] [ 98s] [COMPILING libboard/qmod/source/i2c.c] [ 99s] [COMPILING libboard/qmod/source/board_qmod.c] [ 99s] [COMPILING apps/dfu/main.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 99s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 99s] Memory region Used Size Region Size %age Used [ 99s] rom: 16576 B 16 KB 101.17% [ 99s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 99s] collect2: error: ld returned 1 exit status [ 99s] % [ 99s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 99s] make: *** [debian/rules:16: build] Error 2 [ 99s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 99s] ### VM INTERACTION START ### [ 102s] [ 95.853262] sysrq: Power Off [ 102s] [ 95.857252] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:18:26 UTC 2020. [ 102s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:18:34 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:18:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f3648f855273_74bf2aebd44c46008885ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 101s] [COMPILING libboard/qmod/source/i2c.c] [ 101s] [COMPILING libboard/qmod/source/board_qmod.c] [ 102s] [COMPILING apps/dfu/main.c] [ 102s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 102s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 102s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 102s] Memory region Used Size Region Size %age Used [ 102s] rom: 16576 B 16 KB 101.17% [ 102s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 102s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 102s] collect2: error: ld returned 1 exit status [ 102s] % [ 102s] Makefile:234: recipe for target 'flash' failed [ 102s] make[2]: *** [flash] Error 1 [ 102s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 102s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 102s] make[1]: *** [fw-qmod-dfu] Error 2 [ 102s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 102s] dh_auto_build: make -j1 returned exit code 2 [ 102s] debian/rules:16: recipe for target 'build' failed [ 102s] make: *** [build] Error 2 [ 102s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 102s] ### VM INTERACTION START ### [ 105s] [ 98.019154] sysrq: Power Off [ 105s] [ 98.022450] reboot: Power down [ 105s] ### VM INTERACTION END ### [ 105s] [ 105s] sheep86 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:18:27 UTC 2020. [ 105s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:22:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:22:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f3649c5c76da_74bf2aebd44c46008903b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 291s] [COMPILING libboard/qmod/source/i2c.c] [ 291s] [COMPILING libboard/qmod/source/board_qmod.c] [ 292s] [COMPILING apps/dfu/main.c] [ 292s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 292s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 293s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 293s] Memory region Used Size Region Size %age Used [ 293s] rom: 16584 B 16 KB 101.22% [ 293s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 293s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 293s] collect2: error: ld returned 1 exit status [ 293s] % [ 293s] Makefile:234: recipe for target 'flash' failed [ 293s] make[2]: *** [flash] Error 1 [ 293s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 293s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 293s] make[1]: *** [fw-qmod-dfu] Error 2 [ 293s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 293s] dh_auto_build: make -j1 returned exit code 2 [ 293s] debian/rules:16: recipe for target 'build' failed [ 293s] make: *** [build] Error 2 [ 293s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 293s] ### VM INTERACTION START ### [ 296s] [ 273.521760] sysrq: Power Off [ 296s] [ 273.568728] reboot: Power down [ 296s] ### VM INTERACTION END ### [ 297s] [ 297s] lamb26 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:21:47 UTC 2020. [ 297s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:24:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:24:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f364a3fdc171_74bf2aebd44c46008909f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 395s] [COMPILING apps/dfu/main.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 395s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 395s] Memory region Used Size Region Size %age Used [ 395s] rom: 16464 B 16 KB 100.49% [ 395s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 395s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 395s] collect2: error: ld returned 1 exit status [ 395s] % [ 395s] make[2]: *** [Makefile:234: flash] Error 1 [ 395s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 395s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 395s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 395s] dh_auto_build: error: make -j1 returned exit code 2 [ 395s] make: *** [debian/rules:16: build] Error 25 [ 395s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 396s] ### VM INTERACTION START ### [ 399s] [ 377.553723] sysrq: Power Off [ 399s] [ 377.613914] reboot: Power down [ 399s] ### VM INTERACTION END ### [ 399s] [ 399s] lamb51 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:23:46 UTC 2020. [ 399s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:24:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:24:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f364a404a6bc_74bf2aebd44c46008910e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 404s] [COMPILING apps/dfu/main.c] [ 404s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 405s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 405s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 405s] Memory region Used Size Region Size %age Used [ 405s] rom: 16464 B 16 KB 100.49% [ 405s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 405s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 405s] collect2: error: ld returned 1 exit status [ 405s] % [ 405s] make[2]: *** [Makefile:234: flash] Error 1 [ 405s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 405s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 405s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 405s] dh_auto_build: error: make -j1 returned exit code 2 [ 405s] make: *** [debian/rules:16: build] Error 25 [ 405s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 405s] ### VM INTERACTION START ### [ 408s] [ 381.211175] sysrq: Power Off [ 408s] [ 381.227203] reboot: Power down [ 408s] ### VM INTERACTION END ### [ 408s] [ 408s] lamb60 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:23:48 UTC 2020. [ 408s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:25:26 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:25:26 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f364a84bca35_74bf2aebd44c4600891495@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 506s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 507s] [COMPILING libboard/qmod/source/card_pres.c] [ 507s] [COMPILING libboard/qmod/source/wwan_led.c] [ 507s] [COMPILING libboard/qmod/source/i2c.c] [ 508s] [COMPILING libboard/qmod/source/board_qmod.c] [ 508s] [COMPILING apps/dfu/main.c] [ 508s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 509s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 509s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 509s] Memory region Used Size Region Size %age Used [ 509s] rom: 16504 B 16 KB 100.73% [ 509s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 509s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 509s] collect2: error: ld returned 1 exit status [ 509s] % [ 509s] make[2]: *** [Makefile:234: flash] Error 1 [ 509s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 509s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 509s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 509s] dh_auto_build: make -j1 returned exit code 2 [ 509s] make: *** [debian/rules:16: build] Error 255 [ 509s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 510s] ### VM INTERACTION START ### [ 513s] [ 488.338076] sysrq: Power Off [ 513s] [ 488.373147] reboot: Power down [ 513s] ### VM INTERACTION END ### [ 513s] [ 513s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:25:21 UTC 2020. [ 513s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:26:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:26:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f364ab61b38f_74bf2aebd44c460089182@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 520s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 520s] [COMPILING libboard/qmod/source/card_pres.c] [ 520s] [COMPILING libboard/qmod/source/wwan_led.c] [ 520s] [COMPILING libboard/qmod/source/i2c.c] [ 521s] [COMPILING libboard/qmod/source/board_qmod.c] [ 521s] [COMPILING apps/dfu/main.c] [ 521s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 522s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 522s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 522s] Memory region Used Size Region Size %age Used [ 522s] rom: 16504 B 16 KB 100.73% [ 522s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 522s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 522s] collect2: error: ld returned 1 exit status [ 522s] % [ 522s] make[2]: *** [Makefile:234: flash] Error 1 [ 522s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 522s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 522s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 522s] dh_auto_build: make -j1 returned exit code 2 [ 522s] make: *** [debian/rules:16: build] Error 2 [ 522s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 522s] ### VM INTERACTION START ### [ 526s] [ 499.692262] sysrq: Power Off [ 526s] [ 499.793941] reboot: Power down [ 526s] ### VM INTERACTION END ### [ 526s] [ 526s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:25:44 UTC 2020. [ 526s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 08:37:26 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 08:37:26 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f364d4dd84a3_74bf2aebd44c4600896324@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: [ 144s] [COMPILING libboard/common/source/uart_console.c] [ 144s] [COMPILING libboard/common/source/led.c] [ 145s] [COMPILING libboard/common/source/boardver_adc.c] [ 145s] [COMPILING libboard/common/source/manifest.c] [ 145s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 145s] [COMPILING apps/dfu/main.c] [ 145s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 145s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 146s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 146s] Memory region Used Size Region Size %age Used [ 146s] rom: 16460 B 16 KB 100.46% [ 146s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 146s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 146s] collect2: error: ld returned 1 exit status [ 146s] % [ 146s] make[2]: *** [Makefile:234: flash] Error 1 [ 146s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 146s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 146s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 146s] dh_auto_build: error: make -j1 returned exit code 2 [ 146s] make: *** [debian/rules:16: build] Error 25 [ 146s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 146s] ### VM INTERACTION START ### [ 149s] [ 139.636870] sysrq: Power Off [ 149s] [ 139.663772] reboot: Power down [ 149s] ### VM INTERACTION END ### [ 149s] [ 149s] lamb21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 08:37:15 UTC 2020. [ 149s] -- 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 Aug 14 08:46:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 08:46:25 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 2: (7 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc-driver-test.c File Transceiver52M/device/ipc/ipc-driver-test.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc-driver-test.c at 72 PS2, Line 72: [DMAIN] = { Inconsistent formatting. https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc-driver-test.c at 74 PS2, Line 74: color Why three tabs here? https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc-driver-test.c at 240 PS2, Line 240: * formatting https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc_chan.c File Transceiver52M/device/ipc/ipc_chan.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc_chan.c at 7 PS2, Line 7: Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. The formatting of this header is inconsistent compared to the other license headers introduced by this change. In some files 4 spaces are used as spacing, in others they are absent. The usual approach is ' * TEXT'. https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc_chan.c at 50 PS2, Line 50: %d chan_nr is unsigned, so %u https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc_chan.c at 54 PS2, Line 54: fprintf BTW, why not LOGP()? https://gerrit.osmocom.org/c/osmo-trx/+/19641/2/Transceiver52M/device/ipc/ipc_chan.c at 134 PS2, Line 134: LOGP(DMAIN, LOGL_INFO, : "IPC socket not created, " : "dropping message\n"); Is it how clang-format formats the code? Looks very odd, I am sure it would take less than 120 chars... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Aug 2020 08:46: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 Aug 14 09:58:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 09:58:01 +0000 Subject: Change in osmo-ci[master]: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19659 ) Change subject: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 ...................................................................... old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 both tags will not build due to osmo_sockaddr name collisions. Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/59/19659/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index e7e6bff..cd05dfb 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -76,6 +76,8 @@ echo "1.2.0" # sgsn_test.c: gtp.h: No such file or directory echo "1.3.0" # testsuite echo "1.4.0" # testsuite + echo "1.6.0" # gtphub / osmo_sockaddr + echo "1.6.1" # gtphub / osmo_sockaddr ;; esac } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b Gerrit-Change-Number: 19659 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 Aug 14 09:58:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 09:58:42 +0000 Subject: Change in osmo-ci[master]: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19659 ) Change subject: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b Gerrit-Change-Number: 19659 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 14 Aug 2020 09:58: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 Aug 14 09:58:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Aug 2020 09:58:48 +0000 Subject: Change in osmo-ci[master]: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19659 ) Change subject: old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 ...................................................................... old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1 both tags will not build due to osmo_sockaddr name collisions. Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index e7e6bff..cd05dfb 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -76,6 +76,8 @@ echo "1.2.0" # sgsn_test.c: gtp.h: No such file or directory echo "1.3.0" # testsuite echo "1.4.0" # testsuite + echo "1.6.0" # gtphub / osmo_sockaddr + echo "1.6.1" # gtphub / osmo_sockaddr ;; esac } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b Gerrit-Change-Number: 19659 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 admin at opensuse.org Fri Aug 14 11:51:51 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 11:51:51 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f367ae78d86f_74bf2aebd44c4600978983@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 183s] [COMPILING libboard/qmod/source/i2c.c] [ 183s] [COMPILING libboard/qmod/source/board_qmod.c] [ 183s] [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] [ 184s] Memory region Used Size Region Size %age Used [ 184s] rom: 16584 B 16 KB 101.22% [ 184s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 184s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 184s] collect2: error: ld returned 1 exit status [ 184s] % [ 184s] Makefile:234: recipe for target 'flash' failed [ 184s] make[2]: *** [flash] Error 1 [ 184s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 184s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 184s] make[1]: *** [fw-qmod-dfu] Error 2 [ 184s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 184s] dh_auto_build: make -j1 returned exit code 2 [ 184s] debian/rules:16: recipe for target 'build' failed [ 184s] make: *** [build] Error 2 [ 184s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 184s] ### VM INTERACTION START ### [ 187s] [ 173.882370] sysrq: Power Off [ 187s] [ 173.914451] reboot: Power down [ 188s] ### VM INTERACTION END ### [ 188s] [ 188s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 11:51:37 UTC 2020. [ 188s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 12:04:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 12:04:29 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f367ded1e75d_74bf2aebd44c460098518c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 237s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 237s] [COMPILING libboard/qmod/source/card_pres.c] [ 237s] [COMPILING libboard/qmod/source/wwan_led.c] [ 237s] [COMPILING libboard/qmod/source/i2c.c] [ 237s] [COMPILING libboard/qmod/source/board_qmod.c] [ 238s] [COMPILING apps/dfu/main.c] [ 238s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 238s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 239s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 239s] Memory region Used Size Region Size %age Used [ 239s] rom: 16504 B 16 KB 100.73% [ 239s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 239s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 239s] collect2: error: ld returned 1 exit status [ 239s] % [ 239s] make[2]: *** [Makefile:234: flash] Error 1 [ 239s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 239s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 239s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 239s] dh_auto_build: make -j1 returned exit code 2 [ 239s] make: *** [debian/rules:16: build] Error 2 [ 239s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 239s] ### VM INTERACTION START ### [ 242s] [ 225.112060] sysrq: Power Off [ 242s] [ 225.113240] reboot: Power down [ 242s] ### VM INTERACTION END ### [ 242s] [ 242s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 12:04:23 UTC 2020. [ 242s] -- 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 Aug 14 12:38:45 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 12:38:45 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Bump version: 1.5.0.1-481fa ? 1.5.1 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d --- M debian/changelog 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/16/19616/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Aug 14 12:38:46 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 12:38:46 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub_test: Fix compilation with gcc-10 References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 to review the following change. Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... gtphub_test: Fix compilation with gcc-10 /usr/bin/ld: ../../src/gtphub/gtphub.o:/home/laforge/projects/git/osmo-sgsn/src/gtphub/gtphub.c:50: multiple definition of `osmo_gtphub_ctx'; gtphub_test.o:/home/laforge/projects/git/osmo-sgsn/tests/gtphub/gtphub_test.c:57: first defined here collect2: error: ld returned 1 exit status See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000653.html Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 --- M tests/gtphub/gtphub_test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/60/19660/1 diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 2e48bb1..ed46176 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -54,7 +54,7 @@ void gtphub_init(struct gtphub *hub); void gtphub_free(struct gtphub *hub); -void *osmo_gtphub_ctx; +extern void *osmo_gtphub_ctx; static void nr_mapping_free(struct expiring_item *e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 19660 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 12:39:52 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 12:39:52 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Patch Set 2: @Laforge: I've added the gcc-10 patch into this branch. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 14 Aug 2020 12:39: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 Fri Aug 14 12:45:09 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 12:45:09 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Bump version: 1.5.0.1-481fa ? 1.5.1 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d --- M debian/changelog 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/16/19616/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Aug 14 14:32:19 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 14:32:19 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-pyth... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19661 ) Change subject: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 ...................................................................... ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 The osmo-python-tests will be used to test vty commands. The old python2 package are only required to test old images because the current master is only supporting python3. Installing both doesn't conflict because the python site-packages are different for the two version. Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 24 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/19661/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 90c86b0..e2196b6 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -169,3 +169,27 @@ - libbson-dev - libyaml-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 + +- name: download osmo-python-tests for py2 + git: + repo: "https://gerrit.osmocom.org/python/osmo-python-tests" + dest: "/home/{{ jenkins_user }}/osmo-python-tests2" + version: "fb4b813d4df62b7b2445bdced961eb1847267eed" + +- name: install osmo-python-tests for py2 + shell: + cmd: "python2 setup.py clean build install && date > installed" + chdir: "/home/{{ jenkins_user }}/osmo-python-tests2" + creates: "/home/{{ jenkins_user }}/osmo-python-tests2/installed" + +- name: download osmo-python-tests for py3 + git: + repo: "https://gerrit.osmocom.org/python/osmo-python-tests" + dest: "/home/{{ jenkins_user }}/osmo-python-tests3" + version: "be7fcf5f28a5d0f9ad35510f09b5979268d76598" + +- name: install osmo-python-tests for py3 + shell: + cmd: "python3 setup.py clean build install && date > installed" + chdir: "/home/{{ jenkins_user }}/osmo-python-tests3" + creates: "/home/{{ jenkins_user }}/osmo-python-tests3/installed" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a Gerrit-Change-Number: 19661 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 Fri Aug 14 14:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 14:35:43 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-pyth... In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19661 ) Change subject: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 ...................................................................... Patch Set 1: Verified+1 Tested on build2-deb9build-ansible by `import osmopy.obscvty` with python2 and python3. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a Gerrit-Change-Number: 19661 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 14 Aug 2020 14:35: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 Aug 14 14:37:59 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 14 Aug 2020 14:37:59 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Patch Set 3: waiting for https://gerrit.osmocom.org/c/osmo-ci/+/19661 to be reviewed to fix jenkins failure -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 14 Aug 2020 14:37:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 14 18:03:35 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 18:03:35 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f36d2111f5c9_74bf2aebd44c460010949b7@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: [ 355s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 355s] [COMPILING libboard/qmod/source/card_pres.c] [ 356s] [COMPILING libboard/qmod/source/wwan_led.c] [ 356s] [COMPILING libboard/qmod/source/i2c.c] [ 356s] [COMPILING libboard/qmod/source/board_qmod.c] [ 357s] [COMPILING apps/dfu/main.c] [ 357s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 357s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 358s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 358s] Memory region Used Size Region Size %age Used [ 358s] rom: 16504 B 16 KB 100.73% [ 358s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 358s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 358s] collect2: error: ld returned 1 exit status [ 358s] % [ 358s] make[2]: *** [Makefile:234: flash] Error 1 [ 358s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 358s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 358s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 358s] dh_auto_build: make -j1 returned exit code 2 [ 358s] make: *** [debian/rules:16: build] Error 2 [ 358s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 358s] ### VM INTERACTION START ### [ 361s] [ 342.239753] sysrq: SysRq : Power Off [ 361s] [ 342.302287] reboot: Power down [ 362s] ### VM INTERACTION END ### [ 362s] [ 362s] armbuild24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 18:03:23 UTC 2020. [ 362s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 18:10:26 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 18:10:26 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f36d3b1a65ca_74bf2aebd44c46001095890@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: [ 262s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 262s] [COMPILING libboard/qmod/source/card_pres.c] [ 262s] [COMPILING libboard/qmod/source/wwan_led.c] [ 262s] [COMPILING libboard/qmod/source/i2c.c] [ 263s] [COMPILING libboard/qmod/source/board_qmod.c] [ 263s] [COMPILING apps/dfu/main.c] [ 263s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 264s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 264s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 264s] Memory region Used Size Region Size %age Used [ 264s] rom: 16504 B 16 KB 100.73% [ 264s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 264s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 264s] collect2: error: ld returned 1 exit status [ 264s] % [ 264s] make[2]: *** [Makefile:234: flash] Error 1 [ 264s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 264s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 264s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 264s] dh_auto_build: make -j1 returned exit code 2 [ 265s] make: *** [debian/rules:16: build] Error 2 [ 265s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 265s] ### VM INTERACTION START ### [ 268s] [ 252.701319] sysrq: SysRq : Power Off [ 268s] [ 252.747368] reboot: Power down [ 268s] ### VM INTERACTION END ### [ 268s] [ 268s] armbuild21 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 18:10:14 UTC 2020. [ 268s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 18:25:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 18:25:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f36d71850880_74bf2aebd44c46001097681@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 327s] [COMPILING libboard/qmod/source/i2c.c] [ 328s] [COMPILING libboard/qmod/source/board_qmod.c] [ 328s] [COMPILING apps/dfu/main.c] [ 329s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 329s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 329s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 330s] Memory region Used Size Region Size %age Used [ 330s] rom: 16584 B 16 KB 101.22% [ 330s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 330s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 330s] collect2: error: ld returned 1 exit status [ 330s] % [ 330s] Makefile:234: recipe for target 'flash' failed [ 330s] make[2]: *** [flash] Error 1 [ 330s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 330s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 330s] make[1]: *** [fw-qmod-dfu] Error 2 [ 330s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 330s] dh_auto_build: make -j1 returned exit code 2 [ 330s] debian/rules:16: recipe for target 'build' failed [ 330s] make: *** [build] Error 2 [ 330s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 330s] ### VM INTERACTION START ### [ 333s] [ 306.041024] sysrq: SysRq : Power Off [ 333s] [ 306.091999] reboot: Power down [ 333s] ### VM INTERACTION END ### [ 333s] [ 333s] armbuild02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Fri Aug 14 18:24:56 UTC 2020. [ 333s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Aug 14 18:32:26 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Aug 2020 18:32:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f36d8beaac71_74bf2aebd44c460010987e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: [ 271s] dpkg-buildpackage: info: source package osmo-python-tests [ 271s] dpkg-buildpackage: info: source version 0.0.9.20200814 [ 271s] dpkg-buildpackage: info: source distribution UNRELEASED [ 271s] dpkg-buildpackage: info: source changed by Harald Welte [ 271s] dpkg-source --before-build . [ 271s] dpkg-buildpackage: info: host architecture amd64 [ 272s] fakeroot debian/rules clean [ 272s] dh clean --with python3 --buildsystem=pybuild [ 272s] dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 272s] dh_auto_clean -O--buildsystem=pybuild [ 273s] dh_auto_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 275s] I: pybuild base:217: python3.8 setup.py clean [ 276s] Traceback (most recent call last): [ 276s] File "setup.py", line 18, in [ 276s] from setuptools import setup, find_packages [ 276s] File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 8, in [ 276s] import _distutils_hack.override # noqa: F401 [ 276s] ModuleNotFoundError: No module named '_distutils_hack' [ 276s] E: pybuild pybuild:352: clean: plugin distutils failed with: exit code=1: python3.8 setup.py clean [ 276s] dh_auto_clean: error: pybuild --clean -i python{version} -p 3.8 returned exit code 13 [ 276s] make: *** [debian/rules:4: clean] Error 25 [ 276s] dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2 [ 276s] ### VM INTERACTION START ### [ 279s] [ 241.574725] sysrq: Power Off [ 279s] [ 241.607053] reboot: Power down [ 279s] ### VM INTERACTION END ### [ 279s] [ 279s] old-atreju5 failed "build osmo-python-tests_0.0.9.20200814.dsc" at Fri Aug 14 18:32:08 UTC 2020. [ 279s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Aug 14 22:49:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 22:49:18 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19576 ) Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 14 23:01:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Aug 2020 23:01:12 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: use return value of e1inp_line_update() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19638 ) Change subject: mgcp_e1: use return value of e1inp_line_update() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia72ea2dca210b038766151d547f66b7b7139a2c4 Gerrit-Change-Number: 19638 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 14 Aug 2020 23:01:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 01:31:58 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 01:31:58 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#3). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service 25 files changed, 3,753 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 15 01:33:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:33:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f373b7f5e1c3_74bf2aebd44c46001141041@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 69s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 69s] [COMPILING libboard/qmod/source/card_pres.c] [ 69s] [COMPILING libboard/qmod/source/wwan_led.c] [ 69s] [COMPILING libboard/qmod/source/i2c.c] [ 69s] [COMPILING libboard/qmod/source/board_qmod.c] [ 70s] [COMPILING apps/dfu/main.c] [ 70s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 70s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 70s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 70s] Memory region Used Size Region Size %age Used [ 70s] rom: 16576 B 16 KB 101.17% [ 70s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 70s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 70s] collect2: error: ld returned 1 exit status [ 70s] % [ 70s] make[2]: *** [Makefile:234: flash] Error 1 [ 70s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 70s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 70s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 70s] dh_auto_build: make -j1 returned exit code 2 [ 70s] make: *** [debian/rules:16: build] Error 2 [ 70s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 70s] ### VM INTERACTION START ### [ 73s] [ 68.761230] sysrq: Power Off [ 73s] [ 68.768042] reboot: Power down [ 73s] ### VM INTERACTION END ### [ 73s] [ 73s] goat11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:33:14 UTC 2020. [ 73s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:33:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:33:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f373b7f19cc7_74bf2aebd44c46001140997@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 81s] [COMPILING libboard/qmod/source/i2c.c] [ 81s] [COMPILING libboard/qmod/source/board_qmod.c] [ 81s] [COMPILING apps/dfu/main.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 81s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 81s] Memory region Used Size Region Size %age Used [ 81s] rom: 16576 B 16 KB 101.17% [ 81s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 81s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 81s] collect2: error: ld returned 1 exit status [ 81s] % [ 81s] Makefile:234: recipe for target 'flash' failed [ 81s] make[2]: *** [flash] Error 1 [ 81s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 81s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 81s] make[1]: *** [fw-qmod-dfu] Error 2 [ 81s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 81s] dh_auto_build: make -j1 returned exit code 2 [ 81s] debian/rules:16: recipe for target 'build' failed [ 81s] make: *** [build] Error 2 [ 82s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 82s] ### VM INTERACTION START ### [ 85s] [ 79.473202] sysrq: Power Off [ 85s] [ 79.475000] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] build76 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:33:13 UTC 2020. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:33:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:33:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f373b7fbdc5f_74bf2aebd44c4600114111e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: [ 108s] dpkg-buildpackage: info: source package osmo-python-tests [ 108s] dpkg-buildpackage: info: source version 0.0.9.20200815 [ 108s] dpkg-buildpackage: info: source distribution UNRELEASED [ 108s] dpkg-buildpackage: info: source changed by Harald Welte [ 108s] dpkg-source --before-build . [ 108s] dpkg-buildpackage: info: host architecture amd64 [ 108s] fakeroot debian/rules clean [ 108s] dh clean --with python3 --buildsystem=pybuild [ 108s] dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 108s] dh_auto_clean -O--buildsystem=pybuild [ 108s] dh_auto_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) [ 108s] I: pybuild base:217: python3.8 setup.py clean [ 108s] Traceback (most recent call last): [ 108s] File "setup.py", line 18, in [ 108s] from setuptools import setup, find_packages [ 108s] File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 8, in [ 108s] import _distutils_hack.override # noqa: F401 [ 108s] ModuleNotFoundError: No module named '_distutils_hack' [ 108s] E: pybuild pybuild:352: clean: plugin distutils failed with: exit code=1: python3.8 setup.py clean [ 108s] dh_auto_clean: error: pybuild --clean -i python{version} -p 3.8 returned exit code 13 [ 108s] make: *** [debian/rules:4: clean] Error 25 [ 108s] dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2 [ 108s] ### VM INTERACTION START ### [ 112s] [ 100.935335] sysrq: Power Off [ 112s] [ 100.942223] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] lamb55 failed "build osmo-python-tests_0.0.9.20200815.dsc" at Sat Aug 15 01:33:23 UTC 2020. [ 112s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:34:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:34:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f373ba02c647_74bf2aebd44c460011412bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 118s] [COMPILING libboard/qmod/source/i2c.c] [ 118s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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] [ 119s] Memory region Used Size Region Size %age Used [ 119s] rom: 16584 B 16 KB 101.22% [ 119s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 119s] collect2: error: ld returned 1 exit status [ 119s] % [ 119s] Makefile:234: recipe for target 'flash' failed [ 119s] make[2]: *** [flash] Error 1 [ 119s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 119s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 119s] make[1]: *** [fw-qmod-dfu] Error 2 [ 119s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 119s] dh_auto_build: make -j1 returned exit code 2 [ 119s] debian/rules:16: recipe for target 'build' failed [ 119s] make: *** [build] Error 2 [ 119s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 119s] ### VM INTERACTION START ### [ 122s] [ 114.906700] sysrq: Power Off [ 122s] [ 114.913710] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] lamb18 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:34:05 UTC 2020. [ 122s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:34:30 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:34:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f373bb9f0f09_74bf2aebd44c460011413d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 108s] [COMPILING libboard/qmod/source/i2c.c] [ 108s] [COMPILING libboard/qmod/source/board_qmod.c] [ 109s] [COMPILING apps/dfu/main.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 109s] Memory region Used Size Region Size %age Used [ 109s] rom: 16576 B 16 KB 101.17% [ 109s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 109s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 109s] collect2: error: ld returned 1 exit status [ 109s] % [ 109s] Makefile:234: recipe for target 'flash' failed [ 109s] make[2]: *** [flash] Error 1 [ 109s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 109s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 109s] make[1]: *** [fw-qmod-dfu] Error 2 [ 109s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 109s] dh_auto_build: make -j1 returned exit code 2 [ 109s] debian/rules:16: recipe for target 'build' failed [ 109s] make: *** [build] Error 2 [ 109s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 109s] ### VM INTERACTION START ### [ 112s] [ 105.414547] sysrq: Power Off [ 112s] [ 105.418250] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] old-atreju1 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:34:15 UTC 2020. [ 112s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:35:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:35:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f373bf3be4d9_74bf2aebd44c4600114145f@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: [ 124s] [COMPILING libboard/common/source/uart_console.c] [ 124s] [COMPILING libboard/common/source/led.c] [ 124s] [COMPILING libboard/common/source/boardver_adc.c] [ 124s] [COMPILING libboard/common/source/manifest.c] [ 124s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 124s] [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: 16460 B 16 KB 100.46% [ 125s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-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: region `rom' overflowed by 76 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] make[2]: *** [Makefile:234: flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] make[1]: *** [Makefile:10: fw-simtrace-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] [ 119.949695] sysrq: Power Off [ 128s] [ 119.956235] reboot: Power down [ 128s] ### VM INTERACTION END ### [ 128s] [ 128s] lamb11 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:35:06 UTC 2020. [ 128s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:35:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:35:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f373bf47ae0b_74bf2aebd44c4600114154@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 78s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 78s] [COMPILING libboard/qmod/source/card_pres.c] [ 78s] [COMPILING libboard/qmod/source/wwan_led.c] [ 78s] [COMPILING libboard/qmod/source/i2c.c] [ 78s] [COMPILING libboard/qmod/source/board_qmod.c] [ 78s] [COMPILING apps/dfu/main.c] [ 79s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 79s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 79s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 79s] Memory region Used Size Region Size %age Used [ 79s] rom: 16504 B 16 KB 100.73% [ 79s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 79s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 79s] collect2: error: ld returned 1 exit status [ 79s] % [ 79s] make[2]: *** [Makefile:234: flash] Error 1 [ 79s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 79s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 79s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 79s] dh_auto_build: make -j1 returned exit code 2 [ 79s] make: *** [debian/rules:16: build] Error 2 [ 79s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 79s] ### VM INTERACTION START ### [ 82s] [ 77.424181] sysrq: Power Off [ 82s] [ 77.425479] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 82s] [ 82s] build78 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:35:30 UTC 2020. [ 82s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:36:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:36:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f373c13c9835_74bf2aebd44c4600114165@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 165s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 165s] [COMPILING libboard/qmod/source/card_pres.c] [ 165s] [COMPILING libboard/qmod/source/wwan_led.c] [ 165s] [COMPILING libboard/qmod/source/i2c.c] [ 165s] [COMPILING libboard/qmod/source/board_qmod.c] [ 166s] [COMPILING apps/dfu/main.c] [ 166s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 166s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 166s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 166s] Memory region Used Size Region Size %age Used [ 166s] rom: 16504 B 16 KB 100.73% [ 166s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 166s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 166s] collect2: error: ld returned 1 exit status [ 166s] % [ 166s] make[2]: *** [Makefile:234: flash] Error 1 [ 166s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 166s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 166s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 166s] dh_auto_build: make -j1 returned exit code 2 [ 166s] make: *** [debian/rules:16: build] Error 2 [ 166s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 166s] ### VM INTERACTION START ### [ 170s] [ 159.410702] sysrq: Power Off [ 170s] [ 159.427298] reboot: Power down [ 170s] ### VM INTERACTION END ### [ 170s] [ 170s] cloud104 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:36:08 UTC 2020. [ 170s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:36:30 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:36:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f373c332c23e_74bf2aebd44c460011417dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 86s] [COMPILING apps/dfu/main.c] [ 86s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 86s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 86s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 86s] Memory region Used Size Region Size %age Used [ 86s] rom: 16464 B 16 KB 100.49% [ 86s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 86s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 86s] collect2: error: ld returned 1 exit status [ 86s] % [ 86s] make[2]: *** [Makefile:234: flash] Error 1 [ 86s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 86s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 86s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 86s] dh_auto_build: error: make -j1 returned exit code 2 [ 86s] make: *** [debian/rules:16: build] Error 25 [ 86s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 86s] ### VM INTERACTION START ### [ 89s] [ 82.579419] sysrq: Power Off [ 89s] [ 82.580934] reboot: Power down [ 89s] ### VM INTERACTION END ### [ 89s] [ 89s] build70 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:36:27 UTC 2020. [ 89s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:36:48 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:36:48 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f373c33c47a3_74bf2aebd44c4600114188c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 89s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 89s] [COMPILING libboard/qmod/source/card_pres.c] [ 89s] [COMPILING libboard/qmod/source/wwan_led.c] [ 89s] [COMPILING libboard/qmod/source/i2c.c] [ 89s] [COMPILING libboard/qmod/source/board_qmod.c] [ 89s] [COMPILING apps/dfu/main.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 89s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 89s] Memory region Used Size Region Size %age Used [ 89s] rom: 16504 B 16 KB 100.73% [ 89s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 89s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 89s] collect2: error: ld returned 1 exit status [ 89s] % [ 89s] make[2]: *** [Makefile:234: flash] Error 1 [ 89s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 89s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 89s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 89s] dh_auto_build: make -j1 returned exit code 2 [ 89s] make: *** [debian/rules:16: build] Error 2 [ 89s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 90s] ### VM INTERACTION START ### [ 93s] [ 86.872830] sysrq: Power Off [ 93s] [ 86.879111] reboot: Power down [ 93s] ### VM INTERACTION END ### [ 93s] [ 93s] goat15 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:36:45 UTC 2020. [ 93s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:36:48 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:36:48 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f373c34257b5_74bf2aebd44c46001141988@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 122s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 122s] [COMPILING libboard/qmod/source/card_pres.c] [ 122s] [COMPILING libboard/qmod/source/wwan_led.c] [ 122s] [COMPILING libboard/qmod/source/i2c.c] [ 122s] [COMPILING libboard/qmod/source/board_qmod.c] [ 123s] [COMPILING apps/dfu/main.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 123s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 123s] Memory region Used Size Region Size %age Used [ 123s] rom: 16504 B 16 KB 100.73% [ 123s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 123s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 123s] collect2: error: ld returned 1 exit status [ 123s] % [ 123s] make[2]: *** [Makefile:234: flash] Error 1 [ 123s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 123s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 123s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 123s] dh_auto_build: make -j1 returned exit code 2 [ 123s] make: *** [debian/rules:16: build] Error 255 [ 123s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 123s] ### VM INTERACTION START ### [ 126s] [ 118.478430] sysrq: Power Off [ 126s] [ 118.481645] reboot: Power down [ 126s] ### VM INTERACTION END ### [ 126s] [ 126s] old-atreju2 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:36:46 UTC 2020. [ 126s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:37:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:37:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f373c6e28571_74bf2aebd44c4600114204@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 141s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 142s] [COMPILING libboard/qmod/source/card_pres.c] [ 142s] [COMPILING libboard/qmod/source/wwan_led.c] [ 142s] [COMPILING libboard/qmod/source/i2c.c] [ 142s] [COMPILING libboard/qmod/source/board_qmod.c] [ 142s] [COMPILING apps/dfu/main.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 142s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 143s] Memory region Used Size Region Size %age Used [ 143s] rom: 16576 B 16 KB 101.17% [ 143s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 143s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 143s] collect2: error: ld returned 1 exit status [ 143s] % [ 143s] make[2]: *** [Makefile:234: flash] Error 1 [ 143s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 143s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 143s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 143s] dh_auto_build: make -j1 returned exit code 2 [ 143s] make: *** [debian/rules:16: build] Error 2 [ 143s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 143s] ### VM INTERACTION START ### [ 146s] [ 138.643594] sysrq: Power Off [ 146s] [ 138.648619] reboot: Power down [ 146s] ### VM INTERACTION END ### [ 146s] [ 146s] lamb25 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:37:05 UTC 2020. [ 146s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:37:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:37:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f373c6e688b7_74bf2aebd44c460011421c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 150s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 150s] [COMPILING libboard/qmod/source/card_pres.c] [ 150s] [COMPILING libboard/qmod/source/wwan_led.c] [ 150s] [COMPILING libboard/qmod/source/i2c.c] [ 150s] [COMPILING libboard/qmod/source/board_qmod.c] [ 150s] [COMPILING apps/dfu/main.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 151s] Memory region Used Size Region Size %age Used [ 151s] rom: 16504 B 16 KB 100.73% [ 151s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 151s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 151s] collect2: error: ld returned 1 exit status [ 151s] % [ 151s] make[2]: *** [Makefile:234: flash] Error 1 [ 151s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 151s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 151s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 151s] dh_auto_build: make -j1 returned exit code 2 [ 151s] make: *** [debian/rules:16: build] Error 2 [ 151s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 151s] ### VM INTERACTION START ### [ 154s] [ 141.751053] sysrq: Power Off [ 154s] [ 141.752642] reboot: Power down [ 155s] ### VM INTERACTION END ### [ 155s] [ 155s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:37:06 UTC 2020. [ 155s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:37:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:37:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f373c6fb6057_74bf2aebd44c46001142248@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 151s] [COMPILING apps/dfu/main.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 151s] Memory region Used Size Region Size %age Used [ 151s] rom: 16464 B 16 KB 100.49% [ 151s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 151s] collect2: error: ld returned 1 exit status [ 151s] % [ 151s] make[2]: *** [Makefile:234: flash] Error 1 [ 151s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 151s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 151s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 151s] dh_auto_build: error: make -j1 returned exit code 2 [ 151s] make: *** [debian/rules:16: build] Error 25 [ 151s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 151s] ### VM INTERACTION START ### [ 154s] [ 144.570965] sysrq: Power Off [ 154s] [ 144.575825] reboot: Power down [ 154s] ### VM INTERACTION END ### [ 154s] [ 154s] lamb55 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:37:26 UTC 2020. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 01:38:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:38:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f373c8fdec45_74bf2aebd44c4600114234d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 70s] [COMPILING libboard/qmod/source/i2c.c] [ 70s] [COMPILING libboard/qmod/source/board_qmod.c] [ 70s] [COMPILING apps/dfu/main.c] [ 70s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 70s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 71s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 71s] Memory region Used Size Region Size %age Used [ 71s] rom: 16584 B 16 KB 101.22% [ 71s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 71s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 71s] collect2: error: ld returned 1 exit status [ 71s] % [ 71s] Makefile:234: recipe for target 'flash' failed [ 71s] make[2]: *** [flash] Error 1 [ 71s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 71s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 71s] make[1]: *** [fw-qmod-dfu] Error 2 [ 71s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 71s] dh_auto_build: make -j1 returned exit code 2 [ 71s] debian/rules:16: recipe for target 'build' failed [ 71s] make: *** [build] Error 2 [ 71s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 71s] ### VM INTERACTION START ### [ 74s] [ 69.090933] sysrq: Power Off [ 74s] [ 69.092091] reboot: Power down [ 74s] ### VM INTERACTION END ### [ 74s] [ 74s] build79 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:38:11 UTC 2020. [ 74s] -- 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 Aug 15 01:41:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 01:41:21 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#4). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service 25 files changed, 3,753 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 15 01:43:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 01:43:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f373dd6c2f04_74bf2aebd44c46001142716@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 125s] [COMPILING libboard/qmod/source/i2c.c] [ 125s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [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: 16584 B 16 KB 101.22% [ 126s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 126s] collect2: error: ld returned 1 exit status [ 126s] % [ 126s] Makefile:234: recipe for target 'flash' failed [ 126s] make[2]: *** [flash] Error 1 [ 126s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 126s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 126s] make[1]: *** [fw-qmod-dfu] Error 2 [ 126s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 126s] dh_auto_build: make -j1 returned exit code 2 [ 126s] debian/rules:16: recipe for target 'build' failed [ 126s] make: *** [build] Error 2 [ 126s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 126s] ### VM INTERACTION START ### [ 129s] [ 120.102335] sysrq: Power Off [ 129s] [ 120.103536] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 01:43:08 UTC 2020. [ 130s] -- 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 Aug 15 01:50:41 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 01:50:41 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#5). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service 25 files changed, 3,753 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 15 02:42:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 02:42:13 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f374b8f5dd69_74bf2aebd44c4600114482@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 59s] /usr/src/packages/BUILD/src/ulfius.c: In function 'ulfius_run_mhd_daemon': [ 59s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 59s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 59s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] | | [ 59s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 59s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 59s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 59s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 59s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 59s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 59s] cc1: all warnings being treated as errors [ 59s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 59s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 59s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 59s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 59s] make[1]: *** [Makefile:166: all] Error 2 [ 59s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 59s] dh_auto_build: error: cd build && make -j3 "INSTALL=install --strip-program=true" returned exit code 2 [ 59s] make: *** [debian/rules:9: build] Error 25 [ 59s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 59s] ### VM INTERACTION START ### [ 62s] [ 56.738796] sysrq: Power Off [ 62s] [ 56.741184] reboot: Power down [ 62s] ### VM INTERACTION END ### [ 62s] [ 62s] build81 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 15 02:42:02 UTC 2020. [ 62s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 02:43:05 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 02:43:05 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f374bc81a31b_74bf2aebd44c46001145083@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 115s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 115s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 115s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 115s] | | [ 115s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 115s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 115s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 115s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 115s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 115s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 115s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 115s] cc1: all warnings being treated as errors [ 115s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 115s] make[3]: *** Waiting for unfinished jobs.... [ 116s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 116s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] make[1]: *** [Makefile:166: all] Error 2 [ 116s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 116s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 116s] make: *** [debian/rules:9: build] Error 25 [ 116s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 116s] ### VM INTERACTION START ### [ 119s] [ 109.723881] sysrq: Power Off [ 119s] [ 109.731660] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] lamb14 failed "build ulfius_2.5.2-4.1.dsc" at Sat Aug 15 02:43:04 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 02:45:56 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 02:45:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f374c7b6315e_74bf2aebd44c46001145552@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/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] [ 159s] Memory region Used Size Region Size %age Used [ 159s] rom: 16464 B 16 KB 100.49% [ 159s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/8.3.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/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 159s] collect2: error: ld returned 1 exit status [ 159s] % [ 159s] make[2]: *** [Makefile:234: 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] [ 152.664476] sysrq: Power Off [ 162s] [ 152.677278] reboot: Power down [ 162s] ### VM INTERACTION END ### [ 162s] [ 162s] lamb70 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 02:45:42 UTC 2020. [ 162s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 04:41:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 04:41:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f376790b0b55_74bf2aebd44c46001157342@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: [ 381s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 381s] [COMPILING libboard/qmod/source/card_pres.c] [ 381s] [COMPILING libboard/qmod/source/wwan_led.c] [ 382s] [COMPILING libboard/qmod/source/i2c.c] [ 382s] [COMPILING libboard/qmod/source/board_qmod.c] [ 383s] [COMPILING apps/dfu/main.c] [ 383s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 383s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 384s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 384s] Memory region Used Size Region Size %age Used [ 384s] rom: 16504 B 16 KB 100.73% [ 384s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 384s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 384s] collect2: error: ld returned 1 exit status [ 384s] % [ 384s] make[2]: *** [Makefile:234: flash] Error 1 [ 384s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 384s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 384s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 384s] dh_auto_build: make -j1 returned exit code 2 [ 384s] make: *** [debian/rules:16: build] Error 2 [ 384s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 384s] ### VM INTERACTION START ### [ 387s] [ 366.004198] sysrq: SysRq : Power Off [ 387s] [ 366.007311] reboot: Power down [ 388s] ### VM INTERACTION END ### [ 388s] [ 388s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 04:41:36 UTC 2020. [ 388s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 05:01:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 05:01:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f376c3ff40e_74bf2aebd44c460011578f3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 304s] [COMPILING libboard/qmod/source/i2c.c] [ 304s] [COMPILING libboard/qmod/source/board_qmod.c] [ 305s] [COMPILING apps/dfu/main.c] [ 305s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 305s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 305s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 306s] Memory region Used Size Region Size %age Used [ 306s] rom: 16584 B 16 KB 101.22% [ 306s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 306s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 306s] collect2: error: ld returned 1 exit status [ 306s] % [ 306s] Makefile:234: recipe for target 'flash' failed [ 306s] make[2]: *** [flash] Error 1 [ 306s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 306s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 306s] make[1]: *** [fw-qmod-dfu] Error 2 [ 306s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 306s] dh_auto_build: make -j1 returned exit code 2 [ 306s] debian/rules:16: recipe for target 'build' failed [ 306s] make: *** [build] Error 2 [ 306s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 306s] ### VM INTERACTION START ### [ 309s] [ 289.688930] sysrq: SysRq : Power Off [ 309s] [ 289.703895] reboot: Power down [ 310s] ### VM INTERACTION END ### [ 310s] [ 310s] obs-arm-5 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 05:01:32 UTC 2020. [ 310s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 15 05:16:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Aug 2020 05:16:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f376fa334aa_74bf2aebd44c46001158444@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: [ 391s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 391s] [COMPILING libboard/qmod/source/card_pres.c] [ 391s] [COMPILING libboard/qmod/source/wwan_led.c] [ 392s] [COMPILING libboard/qmod/source/i2c.c] [ 392s] [COMPILING libboard/qmod/source/board_qmod.c] [ 393s] [COMPILING apps/dfu/main.c] [ 393s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 393s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 394s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 394s] Memory region Used Size Region Size %age Used [ 394s] rom: 16504 B 16 KB 100.73% [ 394s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 394s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 394s] collect2: error: ld returned 1 exit status [ 394s] % [ 394s] make[2]: *** [Makefile:234: flash] Error 1 [ 394s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 394s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 394s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 394s] dh_auto_build: make -j1 returned exit code 2 [ 394s] make: *** [debian/rules:16: build] Error 2 [ 394s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 394s] ### VM INTERACTION START ### [ 397s] [ 359.015692] sysrq: SysRq : Power Off [ 397s] [ 359.024485] reboot: Power down [ 397s] ### VM INTERACTION END ### [ 397s] [ 397s] armbuild01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sat Aug 15 05:16:09 UTC 2020. [ 397s] -- 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 Aug 15 07:42:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:42:23 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 5: thanks for squashing. In case it was forgotten/missed: The debian packaging for osmo-trx-ipc appears to still be missing. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 07:42: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 Sat Aug 15 07:43:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:43:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: use return value of e1inp_line_update() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19638 ) Change subject: mgcp_e1: use return value of e1inp_line_update() ...................................................................... mgcp_e1: use return value of e1inp_line_update() The function e1inp_line_update() is called without assigning its return code to the rc variable. Change-Id: Ia72ea2dca210b038766151d547f66b7b7139a2c4 Fixes: CID#212160 --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 8444b11..b3db0b7 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -402,7 +402,7 @@ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); if (rc < 0) return -EINVAL; - e1inp_line_update(e1_line); + rc = e1inp_line_update(e1_line); if (rc < 0) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia72ea2dca210b038766151d547f66b7b7139a2c4 Gerrit-Change-Number: 19638 Gerrit-PatchSet: 2 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 Aug 15 07:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:44:02 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: increase test suite execution timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 ) Change subject: ttcn3/lib/testlib.py: increase test suite execution timeout ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f Gerrit-Change-Number: 19657 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 15 Aug 2020 07:44:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 07:44:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:44:05 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: increase test suite execution timeout In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 ) Change subject: ttcn3/lib/testlib.py: increase test suite execution timeout ...................................................................... ttcn3/lib/testlib.py: increase test suite execution timeout Since I8eb28584e90ad012cbf7f3175ee3a8e775c8d523, the test suite is supposed to run both BTS_Tests_{SMSCB,LAPDm}.control among with BTS_Tests.control. Apparently this requires more time than 3600 seconds, so everything is broken since build #2652 in Jenkins. Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f --- M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index c3b3f35..55b6b41 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -36,7 +36,7 @@ try: proc.launch() print('TTCN3 test suite launched, waiting until it finishes') - proc.wait(timeout=3600) + proc.wait(timeout=5400) # 1.5h except Exception as e: proc.terminate() raise e -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f Gerrit-Change-Number: 19657 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 Sat Aug 15 07:44:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:44:55 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-pyth... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19661 ) Change subject: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 ...................................................................... Patch Set 1: Code-Review+2 there might have been a more elegant version with variable substitution than a copy+paste, but well, it works ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a Gerrit-Change-Number: 19661 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sat, 15 Aug 2020 07: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 Sat Aug 15 07:45:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:45:05 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-pyth... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19661 ) Change subject: ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 ...................................................................... ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3 The osmo-python-tests will be used to test vty commands. The old python2 package are only required to test old images because the current master is only supporting python3. Installing both doesn't conflict because the python site-packages are different for the two version. Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 24 insertions(+), 0 deletions(-) Approvals: lynxis lazus: Verified laforge: Looks good to me, approved 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 90c86b0..e2196b6 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -169,3 +169,27 @@ - libbson-dev - libyaml-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 + +- name: download osmo-python-tests for py2 + git: + repo: "https://gerrit.osmocom.org/python/osmo-python-tests" + dest: "/home/{{ jenkins_user }}/osmo-python-tests2" + version: "fb4b813d4df62b7b2445bdced961eb1847267eed" + +- name: install osmo-python-tests for py2 + shell: + cmd: "python2 setup.py clean build install && date > installed" + chdir: "/home/{{ jenkins_user }}/osmo-python-tests2" + creates: "/home/{{ jenkins_user }}/osmo-python-tests2/installed" + +- name: download osmo-python-tests for py3 + git: + repo: "https://gerrit.osmocom.org/python/osmo-python-tests" + dest: "/home/{{ jenkins_user }}/osmo-python-tests3" + version: "be7fcf5f28a5d0f9ad35510f09b5979268d76598" + +- name: install osmo-python-tests for py3 + shell: + cmd: "python3 setup.py clean build install && date > installed" + chdir: "/home/{{ jenkins_user }}/osmo-python-tests3" + creates: "/home/{{ jenkins_user }}/osmo-python-tests3/installed" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a Gerrit-Change-Number: 19661 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 07:46:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:46:45 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: simplify conditions in in config_list_cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19573 ) Change subject: vty/command: cosmetic: simplify conditions in in config_list_cmd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 Gerrit-Change-Number: 19573 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 07:46: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 Sat Aug 15 07:46:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:46:48 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: fix formatting of config_help_cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19574 ) Change subject: vty/command: cosmetic: fix formatting of config_help_cmd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 Gerrit-Change-Number: 19574 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 07:46:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 07:46:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:46:53 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: simplify conditions in in config_list_cmd In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19573 ) Change subject: vty/command: cosmetic: simplify conditions in in config_list_cmd ...................................................................... vty/command: cosmetic: simplify conditions in in config_list_cmd Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 --- M src/vty/command.c 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 278ceb5..75bc00d 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2858,10 +2858,14 @@ struct cmd_node *cnode = vector_slot(cmdvec, vty->node); struct cmd_element *cmd; - for (i = 0; i < vector_active(cnode->cmd_vector); i++) - if ((cmd = vector_slot(cnode->cmd_vector, i)) != NULL - && !(cmd->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_out(vty, " %s%s", cmd->string, VTY_NEWLINE); + for (i = 0; i < vector_active(cnode->cmd_vector); i++) { + if ((cmd = vector_slot(cnode->cmd_vector, i)) == NULL) + continue; + if (cmd->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN)) + continue; + vty_out(vty, " %s%s", cmd->string, VTY_NEWLINE); + } + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1c082d102b7156dafb9c5d9197dcdc4d26bff63 Gerrit-Change-Number: 19573 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 Sat Aug 15 07:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:46:54 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: fix formatting of config_help_cmd In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19574 ) Change subject: vty/command: cosmetic: fix formatting of config_help_cmd ...................................................................... vty/command: cosmetic: fix formatting of config_help_cmd Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 --- M src/vty/command.c 1 file changed, 15 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 75bc00d..d8fe463 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2834,20 +2834,21 @@ gDEFUN(config_help, config_help_cmd, "help", "Description of the interactive help system\n") { - vty_out(vty, - "This VTY provides advanced help features. When you need help,%s\ -anytime at the command line please press '?'.%s\ -%s\ -If nothing matches, the help list will be empty and you must backup%s\ - until entering a '?' shows the available options.%s\ -Two styles of help are provided:%s\ -1. Full help is available when you are ready to enter a%s\ -command argument (e.g. 'show ?') and describes each possible%s\ -argument.%s\ -2. Partial help is provided when an abbreviated argument is entered%s\ - and you want to know what arguments match the input%s\ - (e.g. 'show me?'.)%s%s", VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, - VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "This VTY provides advanced help features. When you need help,%s" + "anytime at the command line please press '?'.%s%s" + "If nothing matches, the help list will be empty and you must backup%s" + " until entering a '?' shows the available options.%s" + "Two styles of help are provided:%s" + "1. Full help is available when you are ready to enter a%s" + "command argument (e.g. 'show ?') and describes each possible%s" + "argument.%s" + "2. Partial help is provided when an abbreviated argument is entered%s" + " and you want to know what arguments match the input%s" + " (e.g. 'show me?'.)%s%s", + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE, + VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f784d0cf65fa7813088e3ff76d7213b99b975d0 Gerrit-Change-Number: 19574 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 Sat Aug 15 07:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Aug 2020 07:46:54 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: drop redundant line break In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19575 ) Change subject: vty/command: cosmetic: drop redundant line break ...................................................................... vty/command: cosmetic: drop redundant line break Change-Id: Ia7c85b7862fbb191b5746fc333cf0c34bc79a533 --- M include/osmocom/vty/command.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index e3692dc..da8d202 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -238,7 +238,7 @@ DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) #define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \ - DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) \ + DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) /* DEFUN_NOSH for commands that vtysh should ignore */ #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia7c85b7862fbb191b5746fc333cf0c34bc79a533 Gerrit-Change-Number: 19575 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 Sat Aug 15 12:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 15 Aug 2020 12:22:44 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19662 ) Change subject: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 ...................................................................... ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 Before debian 9 those packages aren't available. e.g. libczmq-dev or libsoapysdr-dev Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b --- 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/62/19662/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 e2196b6..54dcdc7 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -154,6 +154,7 @@ - libuhd-dev - libczmq-dev - libsoapysdr-dev + when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install open5gs build dependencies apt: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b Gerrit-Change-Number: 19662 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 Sat Aug 15 13:46:41 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 15 Aug 2020 13:46:41 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-python-tests for python2 References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19663 ) Change subject: debian-stretch-jenkins: install osmo-python-tests for python2 ...................................................................... debian-stretch-jenkins: install osmo-python-tests for python2 osmo-python-tests for python2 is being used when building old releases. Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 17 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/19663/1 diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 158f7d7..e73b7ae 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -100,6 +100,10 @@ python3-setuptools \ python3-usb \ python3-yaml \ + python2.7 \ + python-pip \ + python-setuptools \ + python-yaml \ rsync \ sdcc \ sqlite3 \ @@ -127,9 +131,19 @@ RUN mkdir /build RUN chown build:build /build -# Install osmo-python-tests -ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit -RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh +# 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 # 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 && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 Gerrit-Change-Number: 19663 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 Sat Aug 15 15:21:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Aug 2020 15:21:13 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 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 Sat Aug 15 15:24:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Aug 2020 15:24:18 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... Patch Set 5: Code-Review+1 Should the same be done for lms and usrp1? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 15:24: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 Sat Aug 15 16:30:30 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 16:30:30 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#6). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,815 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 21:14:18 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 21:14:18 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19664 ) Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 xxyy Change-Id: Iefae70cc079a0174f48309f9ef25157c530e5c32 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,823 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/64/19664/1 diff --git a/.gitignore b/.gitignore index 128f803..5b864e7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ Transceiver52M/osmo-trx-uhd Transceiver52M/osmo-trx-usrp1 Transceiver52M/osmo-trx-lms +Transceiver52M/osmo-trx-ipc # tests tests/CommonLibs/BitVectorTest @@ -19,6 +20,7 @@ tests/CommonLibs/PRBSTest tests/Transceiver52M/convolve_test tests/Transceiver52M/LMSDeviceTest +Transceiver52M/device/ipc/ipc-driver-test # automake/autoconf *.in @@ -66,3 +68,5 @@ contrib/osmo-trx.spec !contrib/osmo-trx.spec.in + +utils/osmo-prbs-tool diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index ade4e30..7dad159 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -104,3 +104,13 @@ $(LMS_LIBS) osmo_trx_lms_CPPFLAGS = $(AM_CPPFLAGS) $(LMS_CFLAGS) endif + +if DEVICE_IPC +bin_PROGRAMS += osmo-trx-ipc +osmo_trx_ipc_SOURCES = osmo-trx.cpp +osmo_trx_ipc_LDADD = \ + $(builddir)/device/ipc/libdevice.la \ + $(COMMON_LDADD) +osmo_trx_ipc_CPPFLAGS = $(AM_CPPFLAGS) +endif + diff --git a/Transceiver52M/device/Makefile.am b/Transceiver52M/device/Makefile.am index 369e877..93ba7e3 100644 --- a/Transceiver52M/device/Makefile.am +++ b/Transceiver52M/device/Makefile.am @@ -2,6 +2,10 @@ SUBDIRS = common +if DEVICE_IPC +SUBDIRS += ipc +endif + if DEVICE_USRP1 SUBDIRS += usrp1 endif diff --git a/Transceiver52M/device/ipc/IPCDevice.cpp b/Transceiver52M/device/ipc/IPCDevice.cpp new file mode 100644 index 0000000..1781751 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.cpp @@ -0,0 +1,1272 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* 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 . +* See the COPYING file in the main directory for details. +*/ + +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "Logger.h" +#include "Threads.h" +#include "IPCDevice.h" +#include "smpl_buf.h" + +extern "C" { +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include "osmo_signal.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ipc_shm.h" +} + +#define SAMPLE_BUF_SZ (1 << 20) + +using namespace std; + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags); + +IPCDevice::IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) + : RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths), tx_attenuation(), + tmp_state(IPC_IF_MSG_GREETING_REQ), shm(NULL), shm_dec(0), started(false) +{ + LOGC(DDEV, INFO) << "creating IPC device..."; + + //m_IPC_stream_rx.resize(chans); + //m_IPC_stream_tx.resize(chans); + rx_gains.resize(chans); + tx_gains.resize(chans); + + rx_buffers.resize(chans); + + sk_chan_state.resize(chans, ipc_per_trx_sock_state()); + + /* Set up per-channel Rx timestamp based Ring buffers */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i] = new smpl_buf(SAMPLE_BUF_SZ / sizeof(uint32_t)); +} + +IPCDevice::~IPCDevice() +{ + //unsigned int i; + LOGC(DDEV, INFO) << "Closing IPC device"; + /* disable all channels */ + + for (size_t i = 0; i < rx_buffers.size(); i++) + delete rx_buffers[i]; + + ipc_sock_close(&master_sk_state); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + ipc_sock_close(&sk_chan_state[i]); + + for (auto i : shm_io_rx_streams) + ipc_shm_close(i); + for (auto i : shm_io_tx_streams) + ipc_shm_close(i); + + if (shm_dec) + talloc_free(shm_dec); +} + +int IPCDevice::ipc_shm_connect(const char *shm_name) +{ + int fd; + size_t shm_len; + int rc; + + LOGP(DDEV, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DDEV, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + // Get size of the allocated memory + struct stat shm_stat; + if (fstat(fd, &shm_stat) < 0) { + LOGP(DDEV, LOGL_ERROR, "fstat %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + shm_len = shm_stat.st_size; + + LOGP(DDEV, LOGL_NOTICE, "mmaping shared memory fd %d (size=%zu)\n", fd, shm_len); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DDEV, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + LOGP(DDEV, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + // LOGP(DDEV, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg); + +static struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_req(struct ipc_per_trx_sock_state *state, uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx Greeting Req (" << IPC_IF_MSG_GREETING_REQ << ")\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_REQ); + if (!msg) { + LOGC(DDEV, INFO) << "ipc_msgb_alloc() returns NULL!"; + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_req.req_version = req_version; + + return ipc_sock_send(state, msg); +} + +static int ipc_tx_info_req(struct ipc_per_trx_sock_state *state) +{ + struct msgb *msg; + //struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx INFO Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_REQ); + if (!msg) + return -ENOMEM; + + //ipc_prim = (struct ipc_sk_if *) msg->data; + + return ipc_sock_send(state, msg); +} + +int IPCDevice::ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_req_chan *chan_info; + + LOGC(DDEV, NOTICE) << "Tx Open Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_REQ); + if (!msg) { + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_req.num_chans = num_chans; + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + ipc_prim->u.open_req.rx_sample_freq_num = rx_sps; + ipc_prim->u.open_req.rx_sample_freq_den = 1; + ipc_prim->u.open_req.tx_sample_freq_num = tx_sps; + ipc_prim->u.open_req.tx_sample_freq_den = 1; + + switch (ref) { + case ReferenceType::REF_EXTERNAL: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + break; + case ReferenceType::REF_INTERNAL: + case ReferenceType::REF_GPS: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_INTERNAL; + break; + } + + /* FIXME: clock ref part of config, not open */ + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + + for (unsigned int i = 0; i < num_chans; i++) { + chan_info = &ipc_prim->u.open_req.chan_info[i]; + OSMO_STRLCPY_ARRAY(chan_info->rx_path, rx_paths[i].c_str()); + OSMO_STRLCPY_ARRAY(chan_info->tx_path, tx_paths[i].c_str()); + } + + return ipc_sock_send(state, msg); +} + +static void ipc_sock_timeout(void *_priv) +{ + LOGC(DDEV, INFO) << "UNIX SOCKET TIMEOUT!"; + exit(1); +} + +int IPCDevice::ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf) +{ + if (greeting_cnf->req_version == IPC_SOCK_API_VERSION) { + LOGC(DDEV, NOTICE) << "Rx Greeting CNF: correct sock API version" << greeting_cnf->req_version; + tmp_state = IPC_IF_MSG_GREETING_CNF; + } else { + LOGC(DDEV, ERROR) << "Wrong IPC SOCK API VERSION RECEIVED!" << greeting_cnf->req_version; + exit(1); + } + return 0; +} + +int IPCDevice::ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf) +{ + current_info_cnf = *info_cnf; + unsigned int i; + + if (info_cnf->max_num_chans < chans) { + LOGC(DDEV, ERROR) << "chan num mismatch:" << info_cnf->max_num_chans << " vs " << chans; + return -1; + } + + /* Here: + * verify info_cnf->max_num_chans >= requested chans + * verify supports setting reflock as asked by user looking in info_cnf->feature_mask + * cache locally min/max tx/rxGain values from info_cnf + * do whatever validations or print info_cnf->dev_desc + * cache rx/tx paths per channel, and make sure it matches the one the user wants to set + */ + + LOGC(DDEV, NOTICE) + << "Rx Info CNF:" + << " name=" << info_cnf->dev_desc << std::endl + << " max_num_chans=" << info_cnf->max_num_chans << " feature_mask=" << info_cnf->feature_mask; + for (i = 0; i < info_cnf->max_num_chans; i++) { + int j = 0; + bool rx_found = false, tx_found = false; + while (strcmp(info_cnf->chan_info[i].rx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": RxPath[" << j << "]: " << info_cnf->chan_info[i].rx_path[j] + << " min_rx_gain=" << info_cnf->chan_info[i].min_rx_gain + << " max_rx_gain=" << info_cnf->chan_info[i].max_rx_gain + << " min_tx_gain=" << info_cnf->chan_info[i].min_tx_gain + << " max_tx_gain=" << info_cnf->chan_info[i].max_tx_gain; + + if (rx_paths.size() < (i + 1) || + strcmp(rx_paths[i].c_str(), info_cnf->chan_info[i].rx_path[j]) == 0) { + rx_found = true; + break; + } + j++; + } + j = 0; + while (strcmp(info_cnf->chan_info[i].tx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": TxPath[" << j << "]: " << info_cnf->chan_info[i].tx_path[j]; + if (tx_paths.size() < (i + 1) || + strcmp(tx_paths[i].c_str(), info_cnf->chan_info[i].tx_path[j]) == 0) { + tx_found = true; + break; + } + j++; + } + + if (!rx_found) { + LOGC(DDEV, ERROR) << "rx antenna not found: " << rx_paths[i]; + exit(0); + } + if (!tx_found) { + LOGC(DDEV, ERROR) << "tx antenna not found: " << rx_paths[i]; + exit(0); + } + } + tmp_state = IPC_IF_MSG_INFO_CNF; + return 0; +} + +int IPCDevice::ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf) +{ + unsigned int i; + current_open_cnf = *open_cnf; + + LOGC(DDEV, NOTICE) + << "Rx Open CNF:" + << " return_code=" << (unsigned int)open_cnf->return_code << " shm_name=" << open_cnf->shm_name; + LOGC(DDEV, NOTICE) << "Rx Open CNF:" + << " ipc device path delay: " << (unsigned int)open_cnf->path_delay; + for (i = 0; i < chans; i++) { + int rc; + LOGC(DDEV, NOTICE) << "chan " << i << ": sk_path=" << open_cnf->chan_info[i].chan_ipc_sk_path; + + /* FIXME: current limit IPC_MAX_NUM_TRX chans, make dynamic */ + if (i < IPC_MAX_NUM_TRX) { + struct ipc_per_trx_sock_state *state = &sk_chan_state[i]; + + INIT_LLIST_HEAD(&state->upqueue); + rc = osmo_sock_unix_init_ofd(&state->conn_bfd, SOCK_SEQPACKET, 0, + open_cnf->chan_info[i].chan_ipc_sk_path, OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" + << open_cnf->chan_info[i].chan_ipc_sk_path << "). " + << "Retrying...\n"; + osmo_timer_setup(&state->timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&state->timer, 5, 0); + return -1; + } + state->conn_bfd.cb = ipc_chan_sock_cb; + state->conn_bfd.data = this; + state->conn_bfd.priv_nr = i; + } + } + + OSMO_STRLCPY_ARRAY(shm_name, open_cnf->shm_name); + if (ipc_shm_connect(shm_name) < 0) + return -1; + shm_dec = ipc_shm_decode_region(NULL, (ipc_shm_raw_region *)shm); + LOGC(DDEV, NOTICE) << "shm: num_chans=" << shm_dec->num_chans; + + /* server inits both producers */ + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: num_buffers=" << shm_dec->channels[i]->dl_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: buffer_size=" << shm_dec->channels[i]->dl_stream->buffer_size; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: num_buffers=" << shm_dec->channels[i]->ul_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: buffer_size=" << shm_dec->channels[i]->ul_stream->buffer_size; + shm_io_rx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->ul_stream)); + shm_io_tx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->dl_stream)); + // shm_io_tx_streams.push_back(ipc_shm_init_producer(shm_dec->channels[i]->dl_stream)); + } + + tmp_state = IPC_IF_MSG_OPEN_CNF; + return 0; +} + +int IPCDevice::ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_CNF: + rc = ipc_rx_greeting_cnf(&ipc_prim->u.greeting_cnf); + break; + case IPC_IF_MSG_INFO_CNF: + rc = ipc_rx_info_cnf(&ipc_prim->u.info_cnf); + break; + case IPC_IF_MSG_OPEN_CNF: + rc = ipc_rx_open_cnf(&ipc_prim->u.open_cnf); + break; + default: + LOGP(DDEV, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int IPCDevice::ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal start response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal stop response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setgain response for chan #" << chan_nr << " ?!?"; + return 0; + } + + ret->is_tx ? tx_gains[chan_nr] = ret->gain : rx_gains[chan_nr] = ret->gain; + return 0; +} +int IPCDevice::ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal tx attn response for chan #" << chan_nr << " ?!?"; + return 0; + } + + tx_attenuation[chan_nr] = ret->attenuation; + return 0; +} +int IPCDevice::ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setfreq response for chan #" << chan_nr << " ?!?"; + return 0; + } + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal underfloww notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].tx_underruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal overflow notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].rx_overruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + return 0; +} + +int IPCDevice::ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_CNF: + rc = ipc_rx_chan_start_cnf(&ipc_prim->u.start_cnf, chan_nr); + break; + case IPC_IF_MSG_STOP_CNF: + rc = ipc_rx_chan_stop_cnf(&ipc_prim->u.stop_cnf, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_CNF: + rc = ipc_rx_chan_setgain_cnf(&ipc_prim->u.set_gain_cnf, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_CNF: + rc = ipc_rx_chan_setfreq_cnf(&ipc_prim->u.set_freq_cnf, chan_nr); + break; + case IPC_IF_NOTIFY_UNDERFLOW: + rc = ipc_rx_chan_notify_underflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_NOTIFY_OVERFLOW: + rc = ipc_rx_chan_notify_overflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_CNF: + rc = ipc_rx_chan_settxattn_cnf(&ipc_prim->u.txatten_cnf, chan_nr); + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg) +{ + struct osmo_fd *conn_bfd; + //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void IPCDevice::ipc_sock_close(struct ipc_per_trx_sock_state *state) +{ + if (state == 0) + return; + + struct osmo_fd *bfd = &state->conn_bfd; + + if (bfd->fd <= 0) + return; + + LOGP(DDEV, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int IPCDevice::ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + /* store mask of last received messages so we can check later */ + sk_chan_state[bfd->priv_nr].messages_processed_mask |= (1 << (ipc_prim->msg_type - IPC_IF_CHAN_MSG_OFFSET)); + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +int IPCDevice::ipc_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&master_sk_state.upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(master_sk_state.upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&master_sk_state.upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&sk_chan_state[bfd->priv_nr].upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(sk_chan_state[bfd->priv_nr].upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + bfd->when &= ~BSC_FD_WRITE; + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&sk_chan_state[bfd->priv_nr].upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_sock_write(bfd); + + return rc; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_chan_sock_write(bfd); + + return rc; +} + +int IPCDevice::open(const std::string &args, int ref, bool swap_channels) +{ + std::string k, v; + std::string::size_type keyend; + int rc; + + if ((keyend = args.find('=')) != std::string::npos) { + k = args.substr(0, keyend++); + v = args.substr(keyend); + } + if (k != "ipc_msock" || !v.length()) { + LOGC(DDEV, ERROR) << "Invalid device args provided, expected \"dev-args ipc_msock=/path/to/socket\"\n"; + return -1; + } + + LOGC(DDEV, INFO) << "Opening IPC device" << v << ".."; + + INIT_LLIST_HEAD(&master_sk_state.upqueue); + rc = osmo_sock_unix_init_ofd(&master_sk_state.conn_bfd, SOCK_SEQPACKET, 0, v.c_str(), OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" << v << "). " + << "Retrying...\n"; + osmo_timer_setup(&master_sk_state.timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&master_sk_state.timer, 5, 0); + return -1; + } + master_sk_state.conn_bfd.cb = ipc_sock_cb; + master_sk_state.conn_bfd.data = this; + + ipc_tx_greeting_req(&master_sk_state, IPC_SOCK_API_VERSION); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_GREETING_CNF) + osmo_select_main(0); + + ipc_tx_info_req(&master_sk_state); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_INFO_CNF) + osmo_select_main(0); + + ipc_tx_open_req(&master_sk_state, chans, ref); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_OPEN_CNF) + osmo_select_main(0); + LOGC(DDEV, NOTICE) << "Device driver opened successfuly!"; + + /* configure antennas */ + if (!set_antennas()) { + LOGC(DDEV, FATAL) << "IPC antenna setting failed"; + goto out_close; + } + + return iface == MULTI_ARFCN ? MULTI_ARFCN : NORMAL; + +out_close: + LOGC(DDEV, FATAL) << "Error in IPC open, closing"; + return -1; +} + +void IPCDevice::manually_poll_sock_fds() +{ + struct timeval wait = { 0, 100000 }; + fd_set crfds, cwfds; + int max_fd = 0; + + FD_ZERO(&crfds); + FD_ZERO(&cwfds); + for (unsigned int i = 0; i < chans; i++) { + struct osmo_fd *curr_fd = &sk_chan_state[i].conn_bfd; + max_fd = curr_fd->fd > max_fd ? curr_fd->fd : max_fd; + + if (curr_fd->when & OSMO_FD_READ) + FD_SET(curr_fd->fd, &crfds); + if (curr_fd->when & OSMO_FD_WRITE) + FD_SET(curr_fd->fd, &cwfds); + } + + select(max_fd + 1, &crfds, &cwfds, 0, &wait); + + for (unsigned int i = 0; i < chans; i++) { + int flags = 0; + struct osmo_fd *ofd = &sk_chan_state[i].conn_bfd; + + if (FD_ISSET(ofd->fd, &crfds)) { + flags |= OSMO_FD_READ; + FD_CLR(ofd->fd, &crfds); + } + + if (FD_ISSET(ofd->fd, &cwfds)) { + flags |= OSMO_FD_WRITE; + FD_CLR(ofd->fd, &cwfds); + } + if (flags) + ipc_chan_sock_cb(ofd, flags); + } +} + +bool IPCDevice::send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id) +{ + struct timeval timer_now, timeout; + + sk_chan_state[chan].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[chan], msg_to_send); + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + while (!(sk_chan_state[chan].messages_processed_mask & (1 << (expected_rsp_msg_id - IPC_IF_CHAN_MSG_OFFSET)))) { + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + return true; +} + +bool IPCDevice::send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + struct timeval timer_now, timeout; + + for (unsigned int i = 0; i < chans; i++) { + msg = ipc_msgb_alloc(msgid_to_send); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_req.dummy = 0; + + sk_chan_state[i].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[i], msg); + } + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + unsigned int msg_received_count = 0; + while (msg_received_count != chans) { + msg_received_count = 0; + + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + if (sk_chan_state[i].messages_processed_mask & + (1 << (msgid_to_expect - IPC_IF_CHAN_MSG_OFFSET))) + msg_received_count++; + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + + return true; +} + +/* the call stack is rather difficult here, we're already in select: +>~"#0 IPCDevice::start (this=) at IPCDevice.cpp:789\n" +>~"#1 in RadioInterface::start (this=0x614000001640) at radioInterface.cpp:187\n" +>~"#2 in Transceiver::start (this=) at Transceiver.cpp:293\n" +>~"#3 in Transceiver::ctrl_sock_handle_rx (this=0x61600000b180, chan=0) at Transceiver.cpp:838\n" +>~"#4 in Transceiver::ctrl_sock_cb (bfd=, flags=1) at Transceiver.cpp:168\n" +>~"#5 in osmo_fd_disp_fds (_rset=, _wset=, _eset=) at select.c:227\n" +>~"#6 _osmo_select_main (polling=) at select.c:265\n" +>~"#7 in osmo_select_main (polling=128) at select.c:274\n" +>~"#8 in main (argc=, argv=) at osmo-trx.cpp:649\n" + * */ +bool IPCDevice::start() +{ + LOGC(DDEV, INFO) << "starting IPC..."; + + if (started) { + LOGC(DDEV, ERR) << "Device already started"; + return true; + } + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_START_REQ, IPC_IF_MSG_START_CNF))) { + LOGC(DDEV, ERR) << "start timeout!"; + return false; + } + + int max_bufs_to_flush = 0; + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + int buf_per_chan = shm_dec->channels[i]->ul_stream->num_buffers; + max_bufs_to_flush = max_bufs_to_flush < buf_per_chan ? buf_per_chan : max_bufs_to_flush; + } + flush_recv(max_bufs_to_flush); + + started = true; + return true; +} + +bool IPCDevice::stop() +{ + if (!started) + return true; + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_STOP_REQ, IPC_IF_MSG_STOP_CNF))) { + LOGC(DDEV, ERR) << "stop timeout!"; + return false; + } + + LOGC(DDEV, NOTICE) << "All channels stopped, terminating..."; + + started = false; + return true; +} + +double IPCDevice::maxRxGain() +{ + return current_info_cnf.chan_info[0].max_rx_gain; +} + +double IPCDevice::minRxGain() +{ + return current_info_cnf.chan_info[0].min_rx_gain; +} + +int IPCDevice::getNominalTxPower(size_t chan) +{ + return current_info_cnf.chan_info[chan].nominal_tx_power; +} + +double IPCDevice::setPowerAttenuation(int atten, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (chan >= chans) + return 0; + + LOGCHAN(chan, DDEV, NOTICE) << "Setting TX attenuation to " << atten << " dB" + << " chan " << chan; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_req.attenuation = atten; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETTXATTN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting TX attenuation timeout! "; + + return atten; +} + +double IPCDevice::getPowerAttenuation(size_t chan) +{ + if (chan >= chans) + return 0; + + return tx_attenuation[chan]; +} + +double IPCDevice::setRxGain(double dB, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (dB > maxRxGain()) + dB = maxRxGain(); + if (dB < minRxGain()) + dB = minRxGain(); + + LOGCHAN(chan, DDEV, NOTICE) << "Setting RX gain to " << dB << " dB"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_req.is_tx = 0; + ipc_prim->u.set_gain_req.gain = dB; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETGAIN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting RX gain timeout! "; + + return rx_gains[chan]; +} + +bool IPCDevice::flush_recv(size_t num_pkts) +{ + std::vector tmp(4096); + uint64_t tmps; + uint32_t read = 0; + + for (uint32_t j = 0; j < num_pkts; j++) { + for (unsigned int i = 0; i < chans; i++) + read = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)&tmp.front(), 4096 / 2, &tmps, 3); + } + ts_initial = tmps + read; + + LOGC(DDEV, INFO) << "Initial timestamp " << ts_initial << std::endl; + return true; +} + +bool IPCDevice::setRxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getRxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::setTxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getTxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::requiresRadioAlign() +{ + return false; +} + +GSM::Time IPCDevice::minLatency() +{ + /* UNUSED */ + return GSM::Time(0, 0); +} + +/** Returns the starting write Timestamp*/ +TIMESTAMP IPCDevice::initialWriteTimestamp(void) +{ + return ts_initial; +} + +/** Returns the starting read Timestamp*/ +TIMESTAMP IPCDevice::initialReadTimestamp(void) +{ + return ts_initial; +} + +// NOTE: Assumes sequential reads +int IPCDevice::readSamples(std::vector &bufs, int len, bool *overrun, TIMESTAMP timestamp, bool *underrun) +{ + int rc, num_smpls; //, expect_smpls; + ssize_t avail_smpls; + TIMESTAMP expect_timestamp; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *overrun = false; + *underrun = false; + + timestamp += current_open_cnf.path_delay; + + /* Check that timestamp is valid */ + rc = rx_buffers[0]->avail_smpls(timestamp); + if (rc < 0) { + LOGC(DDEV, ERROR) << rx_buffers[0]->str_code(rc); + LOGC(DDEV, ERROR) << rx_buffers[0]->str_status(timestamp); + return 0; + } + + for (i = 0; i < chans; i++) { + /* Receive samples from HW until we have enough */ + while ((avail_smpls = rx_buffers[i]->avail_smpls(timestamp)) < len) { + uint64_t recv_timestamp = 0; + + thread_enable_cancel(false); + num_smpls = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)bufs[i], len - avail_smpls, + &recv_timestamp, 1); + expect_timestamp = timestamp + avail_smpls; + thread_enable_cancel(true); + + if (num_smpls == -ETIMEDOUT) + continue; + + LOGCHAN(i, DDEV, DEBUG) + "Received timestamp = " << (TIMESTAMP)recv_timestamp << " (" << num_smpls << ")"; + + //expect_smpls = len - avail_smpls; + + if (expect_timestamp != (TIMESTAMP)recv_timestamp) + LOGCHAN(i, DDEV, ERROR) << "Unexpected recv buffer timestamp: expect " + << expect_timestamp << " got " << recv_timestamp << ", diff=" + << ((uint64_t)recv_timestamp > expect_timestamp ? + (uint64_t)recv_timestamp - expect_timestamp : + expect_timestamp - recv_timestamp); + + rc = rx_buffers[i]->write(bufs[i], num_smpls, (TIMESTAMP)recv_timestamp); + if (rc < 0) { + LOGCHAN(i, DDEV, ERROR) + << rx_buffers[i]->str_code(rc) << " num smpls: " << num_smpls << " chan: " << i; + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_status(timestamp); + if (rc != smpl_buf::ERROR_OVERFLOW) + return 0; + } + } + } + + /* We have enough samples */ + for (size_t i = 0; i < rx_buffers.size(); i++) { + rc = rx_buffers[i]->read(bufs[i], len, timestamp); + if ((rc < 0) || (rc != len)) { + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_code(rc) << ". " + << rx_buffers[i]->str_status(timestamp) << ", (len=" << len << ")"; + return 0; + } + } + + return len; +} + +int IPCDevice::writeSamples(std::vector &bufs, int len, bool *underrun, unsigned long long timestamp) +{ + int rc = 0; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *underrun = false; + + for (i = 0; i < chans; i++) { + LOGCHAN(i, DDEV, DEBUG) << "send buffer of len " << len << " timestamp " << std::hex << timestamp; + thread_enable_cancel(false); + rc = ipc_shm_enqueue(shm_io_tx_streams[i], timestamp, len, (uint16_t *)bufs[i]); + thread_enable_cancel(true); + + if (rc != len) { + LOGCHAN(i, DDEV, ERROR) << "LMS: Device Tx timed out (" << rc << " vs exp " << len << ")."; + return -1; + } + } + + return rc; +} + +bool IPCDevice::updateAlignment(TIMESTAMP timestamp) +{ + return true; +} + +bool IPCDevice::setTxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Tx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 1; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +bool IPCDevice::setRxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Rx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 0; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) +{ + if (tx_sps != rx_sps) { + LOGC(DDEV, ERROR) << "IPC Requires tx_sps == rx_sps"; + return NULL; + } + if (lo_offset != 0.0) { + LOGC(DDEV, ERROR) << "IPC doesn't support lo_offset"; + return NULL; + } + return new IPCDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); +} diff --git a/Transceiver52M/device/ipc/IPCDevice.h b/Transceiver52M/device/ipc/IPCDevice.h new file mode 100644 index 0000000..a7618f9 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.h @@ -0,0 +1,239 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* 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 . +* See the COPYING file in the main directory for details. +*/ + +#ifndef _IPC_DEVICE_H_ +#define _IPC_DEVICE_H_ + +#include +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +extern "C" { +#include +#include +#include "shm.h" +} + +#include "radioDevice.h" + +class smpl_buf; + +#define IPC_MAX_NUM_TRX 8 + +struct ipc_per_trx_sock_state { + struct osmo_fd conn_bfd; /* fd for connection to the BTS */ + struct osmo_timer_list timer; /* socket connect retry timer */ + struct llist_head upqueue; /* queue for sending messages */ + uint32_t messages_processed_mask; // (=| IPC_IF_MSG_xxx-IPC_IF_CHAN_MSG_OFFSET) bitmask + ipc_per_trx_sock_state() : conn_bfd(), timer(), upqueue(), messages_processed_mask() + { + conn_bfd.fd = -1; + } +}; + +class IPCDevice : public RadioDevice { + protected: + struct ipc_per_trx_sock_state master_sk_state; + + std::vector sk_chan_state; + + uint32_t tx_attenuation[IPC_MAX_NUM_TRX]; + uint8_t tmp_state; + char shm_name[SHM_NAME_MAX]; + int ipc_shm_connect(const char *shm_name); + void *shm; + struct ipc_shm_region *shm_dec; + + std::vector rx_buffers; + double actualSampleRate; + + bool started; + + TIMESTAMP ts_initial, ts_offset; + + std::vector tx_gains, rx_gains; + + struct ipc_sk_if_info_req current_info_req; + struct ipc_sk_if_info_cnf current_info_cnf; + struct ipc_sk_if_open_cnf current_open_cnf; + + std::vector shm_io_rx_streams; + std::vector shm_io_tx_streams; + + bool flush_recv(size_t num_pkts); + void update_stream_stats_rx(size_t chan, bool *overrun); + void update_stream_stats_tx(size_t chan, bool *underrun); + void manually_poll_sock_fds(); + + void ipc_sock_close(ipc_per_trx_sock_state *state); + + int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim); + int ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf); + int ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf); + int ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf); + int ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref); + + int ipc_chan_rx(uint8_t msg_type, ipc_sk_chan_if *ipc_prim, uint8_t chan_nr); + int ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr); + int ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr); + + bool send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id); + bool send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect); + + public: + int ipc_sock_read(struct osmo_fd *bfd); + int ipc_sock_write(struct osmo_fd *bfd); + int ipc_chan_sock_read(osmo_fd *bfd); + int ipc_chan_sock_write(osmo_fd *bfd); + + /** Object constructor */ + IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths); + virtual ~IPCDevice() override; + + /** Instantiate the IPC */ + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + /** Start the IPC */ + virtual bool start() override; + + /** Stop the IPC */ + virtual bool stop() override; + + /* FIXME: any != USRP1 will do for now... */ + enum TxWindowType getWindowType() override + { + return TX_WINDOW_LMS1; + } + + /** + Read samples from the IPC. + @param buf preallocated buf to contain read result + @param len number of samples desired + @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough + @param timestamp The timestamp of the first samples to be read + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @return The number of samples actually read + */ + virtual int readSamples(std::vector &buf, int len, bool *overrun, TIMESTAMP timestamp = 0xffffffff, + bool *underrun = NULL) override; + /** + Write samples to the IPC. + @param buf Contains the data to be written. + @param len number of samples to write. + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @param timestamp The timestamp of the first sample of the data buffer. + @return The number of samples actually written + */ + virtual int writeSamples(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff) override; + + /** Update the alignment between the read and write timestamps */ + virtual bool updateAlignment(TIMESTAMP timestamp) override; + + /** Set the transmitter frequency */ + virtual bool setTxFreq(double wFreq, size_t chan = 0) override; + + /** Set the receiver frequency */ + virtual bool setRxFreq(double wFreq, size_t chan = 0) override; + + /** Returns the starting write Timestamp*/ + virtual TIMESTAMP initialWriteTimestamp(void) override; + + /** Returns the starting read Timestamp*/ + virtual TIMESTAMP initialReadTimestamp(void) override; + + /** returns the full-scale transmit amplitude **/ + virtual double fullScaleInputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_rx; + } + + /** returns the full-scale receive amplitude **/ + virtual double fullScaleOutputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_tx; + } + + /** sets the receive chan gain, returns the gain setting **/ + virtual double setRxGain(double dB, size_t chan = 0) override; + + /** get the current receive gain */ + virtual double getRxGain(size_t chan = 0) override + { + return rx_gains[chan]; + } + + /** return maximum Rx Gain **/ + virtual double maxRxGain(void) override; + + /** return minimum Rx Gain **/ + virtual double minRxGain(void) override; + + double setPowerAttenuation(int atten, size_t chan) override; + double getPowerAttenuation(size_t chan = 0) override; + + virtual int getNominalTxPower(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setRxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getRxAntenna(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setTxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getTxAntenna(size_t chan = 0) override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual bool requiresRadioAlign() override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual GSM::Time minLatency() override; + + /** Return internal status values */ + virtual inline double getTxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getRxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getSampleRate() override + { + return actualSampleRate; + } +}; + +#endif // _IPC_DEVICE_H_ diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am new file mode 100644 index 0000000..b753f28 --- /dev/null +++ b/Transceiver52M/device/ipc/Makefile.am @@ -0,0 +1,42 @@ +include $(top_srcdir)/Makefile.common + +AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../common +AM_CFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_LDFLAGS = -lpthread -lrt + +noinst_HEADERS = IPCDevice.h shm.h ipc_shm.h ipc_chan.h ipc_sock.h + +if DEVICE_UHD +noinst_HEADERS += ../uhd/UHDDevice.h uhdwrap.h ipc-driver-test.h +endif + +noinst_LTLIBRARIES = libdevice.la + +libdevice_la_SOURCES = IPCDevice.cpp shm.c ipc_shm.c ipc_chan.c ipc_sock.c +libdevice_la_LIBADD = $(top_builddir)/Transceiver52M/device/common/libdevice_common.la +libdevice_la_CXXFLAGS = $(AM_CXXFLAGS) -DIPCMAGIC + +if DEVICE_UHD + +#work around distclean issue on older autotools vers: +#a direct build of ../uhd/UHDDevice.cpp tries to clean +#../uhd/.dep/UHDDevice.Plo zwice and fails +uhddev_ipc.cpp: + echo "#include \"../uhd/UHDDevice.cpp\"" >$@ +CLEANFILES= uhddev_ipc.cpp + +bin_PROGRAMS = ipc-driver-test +#ipc_driver_test_SHORTNAME = drvt +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 \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOVTY_LIBS) +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 diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c new file mode 100644 index 0000000..0640aaf --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -0,0 +1,498 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +#define _GNU_SOURCE +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +#define DEFAULT_SHM_NAME "/osmo-trx-ipc-driver-shm2" + +static void *tall_ctx; +struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +struct ipc_sock_state *global_ctrl_socks[8]; +struct ipc_shm_io *ios_tx_to_device[8]; +struct ipc_shm_io *ios_rx_from_device[8]; + +void *shm; +void *global_dev; + +static struct ipc_shm_region *decoded_region; + +/* Debug Areas of the code */ +//enum { DMAIN, +//}; +static const struct log_info_cat default_categories[] = { + [DMAIN] = { + .name = "DMAIN", + .color = NULL, + .description = "Main generic category", + .loglevel = LOGL_DEBUG,.enabled = 1, + }, + [DDEV] = { + .name = "DDEV", + .description = "Device/Driver specific code", + .color = NULL, + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; + +const struct log_info log_infox = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; +#ifdef __cplusplus +} +#endif + +#include "uhdwrap.h" + +volatile int ipc_exit_requested = 0; + +static int ipc_shm_setup(const char *shm_name, size_t shm_len) +{ + int fd; + int rc; + + LOGP(DMAIN, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR | O_TRUNC, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DMAIN, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + LOGP(DMAIN, LOGL_NOTICE, "Truncating %d to size %zu\n", fd, shm_len); + if (ftruncate(fd, shm_len) < 0) { + LOGP(DMAIN, LOGL_ERROR, "ftruncate %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmaping shared memory fd %d\n", fd); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DMAIN, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_cnf(uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_cnf.req_version = req_version; + + return ipc_sock_send(msg); +} + +static int ipc_tx_info_cnf() +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + + uhdwrap_fill_info_cnf(ipc_prim); + + return ipc_sock_send(msg); +} + +static int ipc_tx_open_cnf(int rc, uint32_t num_chans, int32_t timingoffset) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_cnf_chan *chan_info; + unsigned int i; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_cnf.return_code = rc; + ipc_prim->u.open_cnf.path_delay = timingoffset; // 6.18462e-5 * 1625e3 / 6; + OSMO_STRLCPY_ARRAY(ipc_prim->u.open_cnf.shm_name, DEFAULT_SHM_NAME); + + chan_info = ipc_prim->u.open_cnf.chan_info; + for (i = 0; i < num_chans; i++) { + snprintf(chan_info->chan_ipc_sk_path, sizeof(chan_info->chan_ipc_sk_path), "%s_%d", + IPC_SOCK_PATH_PREFIX, i); + /* FIXME: dynamc chan limit, currently 8 */ + if (i < 8) + ipc_sock_init(chan_info->chan_ipc_sk_path, &global_ctrl_socks[i], ipc_chan_sock_accept, i); + chan_info++; + } + + return ipc_sock_send(msg); +} + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req) +{ + if (greeting_req->req_version == IPC_SOCK_API_VERSION) + ipc_tx_greeting_cnf(IPC_SOCK_API_VERSION); + else + ipc_tx_greeting_cnf(0); + return 0; +} + +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req) +{ + ipc_tx_info_cnf(); + return 0; +} + +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req) +{ + /* calculate size needed */ + unsigned int len; + + global_dev = uhdwrap_open(open_req); + + /* b210 packet size is 2040, but our tx size is 2500, so just do *2 */ + int shmbuflen = uhdwrap_get_bufsizerx(global_dev) * 2; + + len = ipc_shm_encode_region(NULL, open_req->num_chans, 4, shmbuflen); + /* Here we verify num_chans, rx_path, tx_path, clockref, etc. */ + int rc = ipc_shm_setup(DEFAULT_SHM_NAME, len); + len = ipc_shm_encode_region((struct ipc_shm_raw_region *)shm, open_req->num_chans, 4, shmbuflen); + // LOGP(DMAIN, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + + /* set up our own copy of the decoded area, we have to do it here, + * since the uhd wrapper does not allow starting single channels + * additionally go for the producer init for both, so only we are responsible for the init, instead + * of splitting it with the client and causing potential races if one side uses it too early */ + decoded_region = ipc_shm_decode_region(0, (struct ipc_shm_raw_region *)shm); + for (unsigned int i = 0; i < open_req->num_chans; i++) { + // ios_tx_to_device[i] = ipc_shm_init_consumer(decoded_region->channels[i]->dl_stream); + ios_tx_to_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->dl_stream); + ios_rx_from_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->ul_stream); + } + + ipc_tx_open_cnf(-rc, open_req->num_chans, uhdwrap_get_timingoffset(global_dev)); + return 0; +} + +volatile int ul_running = 0; +volatile int dl_running = 0; + +void *uplink_thread(void *x_void_ptr) +{ + uint32_t chann = decoded_region->num_chans; + ul_running = 1; + pthread_setname_np(pthread_self(), "uplink rx"); + + while (!ipc_exit_requested) { + int32_t read = uhdwrap_read(global_dev, chann); + if (read < 0) + return 0; + } + return 0; +} + +void *downlink_thread(void *x_void_ptr) +{ + int chann = decoded_region->num_chans; + dl_running = 1; + pthread_setname_np(pthread_self(), "downlink tx"); + + while (!ipc_exit_requested) { + bool underrun; + uhdwrap_write(global_dev, chann, &underrun); + } + return 0; +} + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc = 0; + + rc = uhdwrap_start(global_dev, chan_nr); + + /* no per-chan start/stop */ + if (!dl_running || !ul_running) { + /* chan != first chan start will "fail", which is fine, usrp can't start/stop chans independently */ + if (rc) { + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads.. req for chan:%d\n", chan_nr); + pthread_t rx, tx; + pthread_create(&rx, NULL, uplink_thread, 0); + pthread_create(&tx, NULL, downlink_thread, 0); + } + } else + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads request ignored.. req for chan:%d\n", chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_START_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc; + + /* no per-chan start/stop */ + rc = uhdwrap_stop(global_dev, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_STOP_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.stop_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_gain(global_dev, req->gain, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_cnf.is_tx = req->is_tx; + ipc_prim->u.set_gain_cnf.gain = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + bool rv; + + rv = uhdwrap_set_freq(global_dev, req->freq, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_cnf.return_code = rv ? 0 : 1; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_txatt(global_dev, req->attenuation, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_cnf.attenuation = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n) +{ + struct ipc_sock_state *state; + struct osmo_fd *bfd; + int rc; + + state = talloc_zero(NULL, struct ipc_sock_state); + if (!state) + return -ENOMEM; + *global_state_var = state; + + INIT_LLIST_HEAD(&state->upqueue); + state->conn_bfd.fd = -1; + + bfd = &state->listen_bfd; + + bfd->fd = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, OSMO_SOCK_F_BIND); + if (bfd->fd < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not create %s unix socket: %s\n", path, strerror(errno)); + talloc_free(state); + return -1; + } + + bfd->when = BSC_FD_READ; + bfd->cb = sock_callback_fn; + bfd->data = state; + bfd->priv_nr = n; + + rc = osmo_fd_register(bfd); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not register listen fd: %d\n", rc); + close(bfd->fd); + talloc_free(state); + return rc; + } + + //osmo_signal_register_handler(SS_GLOBAL, IPC_if_signal_cb, NULL); + + LOGP(DMAIN, LOGL_INFO, "Started listening on IPC socket: %s\n", path); + + return 0; +} + +static void print_help(void) +{ + printf("ipc-driver-test Usage:\n" + " -h --help This message\n" + " -n --sock-num NR Master socket suffix number NR\n"); +} + +static int msocknum = 0; + +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + const struct option long_options[] = { { "help", 0, 0, 'h' }, + { "sock-num", 1, 0, 'n' }, + { 0, 0, 0, 0 } }; + + c = getopt_long(argc, argv, "hn:", long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'n': + msocknum = atoi(optarg); + break; + default: + exit(2); + break; + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments on command line\n"); + exit(2); + } +} + +#if defined(IPCMAGIC) && defined(__cplusplus) +extern "C" int osmo_ctx_init(const char *id); + +extern "C" int magicmain(int argc, char **argv) +{ + osmo_ctx_init("main"); + osmo_select_init(); + +#else +int main(int argc, char **argv) +{ +#endif + char ipc_msock_path[sizeof(IPC_SOCK_PATH_PREFIX) + 3]; + tall_ctx = talloc_named_const(NULL, 0, "OsmoTRX"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_infox); + log_enable_multithread(); + + handle_options(argc, argv); + snprintf(ipc_msock_path, sizeof(ipc_msock_path), "%s%d", IPC_SOCK_PATH_PREFIX, msocknum); + + LOGP(DMAIN, LOGL_INFO, "Starting %s\n", argv[0]); + ipc_sock_init(ipc_msock_path, &global_ipc_sock_state, ipc_sock_accept, 0); + while (!ipc_exit_requested) + osmo_select_main(0); + + if (global_dev) + for (unsigned int i = 0; i < decoded_region->num_chans; i++) + uhdwrap_stop(global_dev, i); + + //ipc_sock_close() + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc-driver-test.h b/Transceiver52M/device/ipc/ipc-driver-test.h new file mode 100644 index 0000000..55c17b1 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.h @@ -0,0 +1,45 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include "shm.h" + +extern struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +extern struct ipc_sock_state *global_ctrl_socks[8]; +extern struct ipc_shm_io *ios_tx_to_device[8]; +extern struct ipc_shm_io *ios_rx_from_device[8]; + +struct ipc_sock_state { + struct osmo_fd listen_bfd; /* fd for listen socket */ + struct osmo_fd conn_bfd; /* fd for connection to lcr */ + struct llist_head upqueue; /* queue for sending messages */ +}; + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n); + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req); +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req); +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req); + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr); +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr); +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr); diff --git a/Transceiver52M/device/ipc/ipc_chan.c b/Transceiver52M/device/ipc/ipc_chan.c new file mode 100644 index 0000000..c13bb3a --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.c @@ -0,0 +1,268 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +static int ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_REQ: + rc = ipc_rx_chan_start_req(&ipc_prim->u.start_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_START_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_STOP_REQ: + rc = ipc_rx_chan_stop_req(&ipc_prim->u.stop_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_STOP_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_REQ: + rc = ipc_rx_chan_setgain_req(&ipc_prim->u.set_gain_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETGAIN_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_REQ: + rc = ipc_rx_chan_setfreq_req(&ipc_prim->u.set_freq_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETFREQ_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_REQ: + rc = ipc_rx_chan_settxatten_req(&ipc_prim->u.txatten_req, chan_nr); + fprintf(stderr, "%s:%d: IPC_IF_MSG_SETTXATTN_REQ chan priv no %d\n", __FILE__, __LINE__, chan_nr); + break; + default: + fprintf(stderr, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + fflush(stderr); + + return rc; +} + +static int ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DMAIN, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr) +{ + struct ipc_sock_state *state = global_ctrl_socks[chan_nr]; + struct osmo_fd *conn_bfd; + + if (!state) + return -EINVAL; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +static int ipc_chan_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DMAIN, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_chan_sock_write(bfd); + + return rc; +} + +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "osmo-trx connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_chan_sock_cb; + conn_bfd->data = state; + + /* copy chan nr, required for proper bfd<->chan # mapping */ + conn_bfd->priv_nr = bfd->priv_nr; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DMAIN, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DMAIN, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + /* send current info */ + //IPC_tx_info_ind(); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_chan.h b/Transceiver52M/device/ipc/ipc_chan.h new file mode 100644 index 0000000..d606cce --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.h @@ -0,0 +1,25 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_CHAN_H +#define IPC_CHAN_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr); +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags); + +#endif // IPC_CHAN_H diff --git a/Transceiver52M/device/ipc/ipc_shm.c b/Transceiver52M/device/ipc/ipc_shm.c new file mode 100644 index 0000000..ce863ba --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.c @@ -0,0 +1,206 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "ipc_shm.h" +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +} +#endif + +#define SAMPLE_SIZE_BYTE sizeof(uint16_t) * 2 + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s) +{ + unsigned int i; + + struct ipc_shm_io *r = (struct ipc_shm_io *)malloc(sizeof(struct ipc_shm_io)); + r->this_stream = s->raw; + r->buf_ptrs = + (volatile struct ipc_shm_raw_smpl_buf **)malloc(sizeof(struct ipc_shm_raw_smpl_buf *) * s->num_buffers); + + /* save actual ptrs */ + for (i = 0; i < s->num_buffers; i++) + r->buf_ptrs[i] = s->buffers[i]; + + r->partial_read_begin_ptr = 0; + return r; +} + +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s) +{ + int rv; + pthread_mutexattr_t att; + pthread_condattr_t t1, t2; + struct ipc_shm_io *r = ipc_shm_init_consumer(s); + rv = pthread_mutexattr_init(&att); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutexattr_setrobust(&att, PTHREAD_MUTEX_ROBUST); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutexattr_setpshared(&att, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_mutex_init((pthread_mutex_t *)&r->this_stream->lock, &att); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + pthread_mutexattr_destroy(&att); + + rv = pthread_condattr_setpshared(&t1, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_condattr_setpshared(&t2, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->cf, &t1); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->ce, &t2); + if (rv != 0) { + fprintf(stderr, "%s:%d rv:%d", __FILE__, __LINE__, rv); + exit(EXIT_FAILURE); + } + + pthread_condattr_destroy(&t1); + pthread_condattr_destroy(&t2); + + r->this_stream->read_next = 0; + r->this_stream->write_next = 0; + return r; +} + +void ipc_shm_close(struct ipc_shm_io *r) +{ + if (r) { + if (r->buf_ptrs) + free(r->buf_ptrs); + free(r); + } +} + +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += 1; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (((r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1)) == r->this_stream->read_next && + rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->ce, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->write_next]; + buf->timestamp = timestamp; + + rv = len_in_sps <= r->this_stream->buffer_size ? len_in_sps : r->this_stream->buffer_size; + + memcpy((void *)buf->samples, data, SAMPLE_SIZE_BYTE * rv); + buf->data_len = rv; + + r->this_stream->write_next = (r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1); + + pthread_cond_signal((pthread_cond_t *)&r->this_stream->cf); + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} + +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + uint8_t freeflag = 0; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += timeout_seconds; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (r->this_stream->write_next == r->this_stream->read_next && rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->cf, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->read_next]; + if (buf->data_len <= num_samples) { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * buf->data_len); + r->partial_read_begin_ptr = 0; + rv = buf->data_len; + buf->data_len = 0; + r->this_stream->read_next = (r->this_stream->read_next + 1) & (r->this_stream->num_buffers - 1); + freeflag = 1; + + } else /*if (buf->data_len > num_samples)*/ { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * num_samples); + r->partial_read_begin_ptr += num_samples; + buf->data_len -= num_samples; + rv = num_samples; + } + + *timestamp = buf->timestamp; + buf->timestamp += rv; + + if (freeflag) + pthread_cond_signal((pthread_cond_t *)&r->this_stream->ce); + + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} diff --git a/Transceiver52M/device/ipc/ipc_shm.h b/Transceiver52M/device/ipc/ipc_shm.h new file mode 100644 index 0000000..228169b --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.h @@ -0,0 +1,45 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SHM_H +#define IPC_SHM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifdef __cplusplus +} +#endif + +struct ipc_shm_io { + volatile struct ipc_shm_raw_stream *this_stream; // plus num_buffers at end + volatile struct ipc_shm_raw_smpl_buf **volatile buf_ptrs; + uint32_t partial_read_begin_ptr; +}; + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s); +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s); +void ipc_shm_close(struct ipc_shm_io *r); +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +int32_t ipc_shm_tryenqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +volatile struct ipc_shm_raw_smpl_buf *ipc_shm_dequeue(struct ipc_shm_io *r); +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds); + +#endif // IPC_SHM_H diff --git a/Transceiver52M/device/ipc/ipc_sock.c b/Transceiver52M/device/ipc/ipc_sock.c new file mode 100644 index 0000000..6847448 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.c @@ -0,0 +1,273 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" + +extern volatile int ipc_exit_requested; +static int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_REQ: + rc = ipc_rx_greeting_req(&ipc_prim->u.greeting_req); + break; + case IPC_IF_MSG_INFO_REQ: + rc = ipc_rx_info_req(&ipc_prim->u.info_req); + break; + case IPC_IF_MSG_OPEN_REQ: + rc = ipc_rx_open_req(&ipc_prim->u.open_req); + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int ipc_sock_send(struct msgb *msg) +{ + struct ipc_sock_state *state = global_ipc_sock_state; + struct osmo_fd *conn_bfd; + //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void ipc_sock_close(struct ipc_sock_state *state) +{ + struct osmo_fd *bfd = &state->conn_bfd; + + LOGP(DMAIN, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + ipc_exit_requested = 1; + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* re-enable the generation of ACCEPT for new connections */ + state->listen_bfd.when |= BSC_FD_READ; + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DMAIN, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DMAIN, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_sock_write(bfd); + + return rc; +} + +/* accept connection coming from IPC */ +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "ip clent connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_sock_cb; + conn_bfd->data = state; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DMAIN, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DMAIN, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + /* send current info */ + //IPC_tx_info_ind(); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_sock.h b/Transceiver52M/device/ipc/ipc_sock.h new file mode 100644 index 0000000..918e70a --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.h @@ -0,0 +1,26 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SOCK_H +#define IPC_SOCK_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_sock_send(struct msgb *msg); +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags); +void ipc_sock_close(struct ipc_sock_state *state); + +#endif // IPC_SOCK_H diff --git a/Transceiver52M/device/ipc/shm.c b/Transceiver52M/device/ipc/shm.c new file mode 100644 index 0000000..743b990 --- /dev/null +++ b/Transceiver52M/device/ipc/shm.c @@ -0,0 +1,163 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include +#include +#include + +#include "shm.h" + +//#define ENCDECDEBUG + +/* Convert offsets to pointers */ +struct ipc_shm_stream *ipc_shm_decode_stream(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_stream *stream_raw) +{ + unsigned int i; + struct ipc_shm_stream *stream; + stream = talloc_zero(tall_ctx, struct ipc_shm_stream); + stream = talloc_zero_size(tall_ctx, sizeof(struct ipc_shm_stream) + + sizeof(struct ipc_shm_raw_smpl_buf *) * stream_raw->num_buffers); + if (!stream) + return NULL; + stream->num_buffers = stream_raw->num_buffers; + stream->buffer_size = stream_raw->buffer_size; + stream->raw = stream_raw; + for (i = 0; i < stream->num_buffers; i++) { +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: smpl_buf %d at offset %u\n", i, stream_raw->buffer_offset[i]); +#endif + stream->buffers[i] = + (struct ipc_shm_raw_smpl_buf *)(((uint8_t *)root_raw) + stream_raw->buffer_offset[i]); + } + return stream; +} + +struct ipc_shm_channel *ipc_shm_decode_channel(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_channel *chan_raw) +{ + struct ipc_shm_channel *chan; + chan = talloc_zero(tall_ctx, struct ipc_shm_channel); + if (!chan) + return NULL; +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: streams at offset %u and %u\n", chan_raw->dl_buf_offset, chan_raw->ul_buf_offset); +#endif + chan->dl_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->dl_buf_offset)); + chan->ul_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->ul_buf_offset)); + return chan; +} +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw) +{ + unsigned int i; + struct ipc_shm_region *root; + root = talloc_zero_size(tall_ctx, + sizeof(struct ipc_shm_region) + sizeof(struct ipc_shm_channel *) * root_raw->num_chans); + if (!root) + return NULL; + + root->num_chans = root_raw->num_chans; + for (i = 0; i < root->num_chans; i++) { +#ifdef ENCDECDEBUG + fprintf(stderr, "decode: channel %d at offset %u\n", i, root_raw->chan_offset[i]); +#endif + root->channels[i] = ipc_shm_decode_channel( + root, root_raw, + (struct ipc_shm_raw_channel *)(((uint8_t *)root_raw) + root_raw->chan_offset[i])); + } + return root; +} + +unsigned int ipc_shm_encode_smpl_buf(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_smpl_buf *smpl_buf_raw, + uint32_t buffer_size) +{ + unsigned int offset = sizeof(struct ipc_shm_raw_smpl_buf); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: smpl_buf at offset %lu\n", (start - (uint8_t *)root_raw)); +#endif + offset += buffer_size * sizeof(uint16_t) * 2; /* samples */ + return offset; +} + +unsigned int ipc_shm_encode_stream(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_stream *stream_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + unsigned int i; + ptrdiff_t start = (ptrdiff_t)stream_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_stream) + sizeof(uint32_t) * num_buffers; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: stream at offset %lu\n", (start - (ptrdiff_t)root_raw)); +#endif + if (root_raw) { + stream_raw->num_buffers = num_buffers; + stream_raw->buffer_size = buffer_size; + stream_raw->read_next = 0; + stream_raw->write_next = 0; + } + for (i = 0; i < num_buffers; i++) { + if (root_raw) + stream_raw->buffer_offset[i] = (start + offset - (ptrdiff_t)root_raw); + offset += + ipc_shm_encode_smpl_buf(root_raw, (struct ipc_shm_raw_smpl_buf *)(start + offset), buffer_size); + } + return offset; +} +unsigned int ipc_shm_encode_channel(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_channel *chan_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + uint8_t *start = (uint8_t *)chan_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_channel); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: channel at offset %lu\n", (start - (uint8_t *)root_raw)); +#endif + if (root_raw) + chan_raw->dl_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + if (root_raw) + chan_raw->ul_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + return offset; +} +/* if root_raw is NULL, then do a dry run, aka only calculate final offset */ +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size) +{ + unsigned i; + uintptr_t start = (uintptr_t)root_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_region) + sizeof(uint32_t) * num_chans; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + + if (root_raw) + root_raw->num_chans = num_chans; + for (i = 0; i < num_chans; i++) { + if (root_raw) + root_raw->chan_offset[i] = (start + offset - (uintptr_t)root_raw); +#ifdef ENCDECDEBUG + fprintf(stderr, "encode: channel %d chan_offset[i]=%u\n", i, ofs); +#endif + offset += ipc_shm_encode_channel(root_raw, (struct ipc_shm_raw_channel *)(start + offset), num_buffers, + buffer_size); + } + //TODO: pass maximum size and verify we didn't go through + return offset; +} diff --git a/Transceiver52M/device/ipc/shm.h b/Transceiver52M/device/ipc/shm.h new file mode 100644 index 0000000..e85df3a --- /dev/null +++ b/Transceiver52M/device/ipc/shm.h @@ -0,0 +1,236 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include +#include +#include +#include + +/* RAW structures */ +struct ipc_shm_raw_smpl_buf { + uint64_t timestamp; + uint32_t data_len; /* In samples */ + uint16_t samples[0]; +}; + +struct ipc_shm_raw_stream { + pthread_mutex_t lock; + pthread_cond_t cf; + pthread_cond_t ce; + uint32_t num_buffers; + uint32_t buffer_size; /* In samples */ + uint32_t read_next; + uint32_t write_next; + uint32_t buffer_offset[0]; + //struct ipc_shm_smpl_buf buffers[0]; +}; + +struct ipc_shm_raw_channel { + uint32_t dl_buf_offset; + uint32_t ul_buf_offset; +}; + +struct ipc_shm_raw_region { + uint32_t num_chans; + uint32_t chan_offset[0]; +}; + +/* non-raw, Pointer converted structures */ +struct ipc_shm_stream { + uint32_t num_buffers; + uint32_t buffer_size; + volatile struct ipc_shm_raw_stream *raw; + volatile struct ipc_shm_raw_smpl_buf *buffers[0]; +}; + +struct ipc_shm_channel { + struct ipc_shm_stream *dl_stream; + struct ipc_shm_stream *ul_stream; +}; + +/* Pointer converted structures */ +struct ipc_shm_region { + uint32_t num_chans; + struct ipc_shm_channel *channels[0]; +}; + +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size); +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw); +/****************************************/ +/* UNIX SOCKET API */ +/****************************************/ + +////////////////// +// Master socket +////////////////// + +#define IPC_SOCK_PATH_PREFIX "/tmp/ipc_sock" +#define IPC_SOCK_API_VERSION 1 + +/* msg_type */ +#define IPC_IF_MSG_GREETING_REQ 0x00 +#define IPC_IF_MSG_GREETING_CNF 0x01 +#define IPC_IF_MSG_INFO_REQ 0x02 +#define IPC_IF_MSG_INFO_CNF 0x03 +#define IPC_IF_MSG_OPEN_REQ 0x04 +#define IPC_IF_MSG_OPEN_CNF 0x05 + +#define MAX_NUM_CHANS 30 +#define RF_PATH_NAME_SIZE 25 +#define MAX_NUM_RF_PATHS 10 +#define SHM_NAME_MAX NAME_MAX /* 255 */ + +#define FEATURE_MASK_CLOCKREF_INTERNAL (0x1 << 0) +#define FEATURE_MASK_CLOCKREF_EXTERNAL (0x1 << 1) +struct ipc_sk_if_info_chan { + char tx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + char rx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + double min_rx_gain; + double max_rx_gain; + double min_tx_gain; + double max_tx_gain; + double nominal_tx_power; /* dBm */ +} __attribute__((packed)); + +struct ipc_sk_if_open_req_chan { + char tx_path[RF_PATH_NAME_SIZE]; + char rx_path[RF_PATH_NAME_SIZE]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf_chan { + char chan_ipc_sk_path[108]; +} __attribute__((packed)); + +struct ipc_sk_if_greeting { + uint8_t req_version; +} __attribute__((packed)); + +struct ipc_sk_if_info_req { + uint8_t spare; +} __attribute__((packed)); + +struct ipc_sk_if_info_cnf { + uint32_t feature_mask; + double iq_scaling_val_rx; /* for scaling, sample format is 16 bit, but adc/dac might be less */ + double iq_scaling_val_tx; + uint32_t max_num_chans; + char dev_desc[200]; + struct ipc_sk_if_info_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_req { + uint32_t num_chans; + uint32_t clockref; /* One of FEATUER_MASK_CLOCKREF_* */ + uint32_t rx_sample_freq_num; + uint32_t rx_sample_freq_den; + uint32_t tx_sample_freq_num; + uint32_t tx_sample_freq_den; + uint32_t bandwidth; + struct ipc_sk_if_open_req_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf { + uint8_t return_code; + uint32_t path_delay; + char shm_name[SHM_NAME_MAX]; + struct ipc_sk_if_open_cnf_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_if_greeting greeting_req; + struct ipc_sk_if_greeting greeting_cnf; + struct ipc_sk_if_info_req info_req; + struct ipc_sk_if_info_cnf info_cnf; + struct ipc_sk_if_open_req open_req; + struct ipc_sk_if_open_cnf open_cnf; + } u; +} __attribute__((packed)); + +////////////////// +// Channel socket +////////////////// +#define IPC_IF_CHAN_MSG_OFFSET 50 +#define IPC_IF_MSG_START_REQ IPC_IF_CHAN_MSG_OFFSET + 0 +#define IPC_IF_MSG_START_CNF IPC_IF_CHAN_MSG_OFFSET + 1 +#define IPC_IF_MSG_STOP_REQ IPC_IF_CHAN_MSG_OFFSET + 2 +#define IPC_IF_MSG_STOP_CNF IPC_IF_CHAN_MSG_OFFSET + 3 +#define IPC_IF_MSG_SETGAIN_REQ IPC_IF_CHAN_MSG_OFFSET + 4 +#define IPC_IF_MSG_SETGAIN_CNF IPC_IF_CHAN_MSG_OFFSET + 5 +#define IPC_IF_MSG_SETFREQ_REQ IPC_IF_CHAN_MSG_OFFSET + 6 +#define IPC_IF_MSG_SETFREQ_CNF IPC_IF_CHAN_MSG_OFFSET + 7 + +#define IPC_IF_NOTIFY_UNDERFLOW IPC_IF_CHAN_MSG_OFFSET + 8 +#define IPC_IF_NOTIFY_OVERFLOW IPC_IF_CHAN_MSG_OFFSET + 9 + +#define IPC_IF_MSG_SETTXATTN_REQ IPC_IF_CHAN_MSG_OFFSET + 10 +#define IPC_IF_MSG_SETTXATTN_CNF IPC_IF_CHAN_MSG_OFFSET + 11 + +struct ipc_sk_chan_if_op_void { + // at least one dummy byte, to allow c/c++ compatibility + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_op_rc { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_gain { + double gain; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_req { + double freq; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_cnf { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_notfiy { + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_tx_attenuation { + double attenuation; +} __attribute__((packed)); + +struct ipc_sk_chan_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_chan_if_op_void start_req; + struct ipc_sk_chan_if_op_rc start_cnf; + struct ipc_sk_chan_if_op_void stop_req; + struct ipc_sk_chan_if_op_rc stop_cnf; + struct ipc_sk_chan_if_gain set_gain_req; + struct ipc_sk_chan_if_gain set_gain_cnf; + struct ipc_sk_chan_if_freq_req set_freq_req; + struct ipc_sk_chan_if_freq_cnf set_freq_cnf; + struct ipc_sk_chan_if_notfiy notify; + struct ipc_sk_chan_if_tx_attenuation txatten_req; + struct ipc_sk_chan_if_tx_attenuation txatten_cnf; + } u; +} __attribute__((packed)); diff --git a/Transceiver52M/device/ipc/uhdwrap.cpp b/Transceiver52M/device/ipc/uhdwrap.cpp new file mode 100644 index 0000000..130f80a --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.cpp @@ -0,0 +1,256 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +extern "C" { +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc-driver-test.h" +} +#include "../uhd/UHDDevice.h" +#include "uhdwrap.h" + +#include "trx_vty.h" +#include "Logger.h" +#include "Threads.h" +#include "Utils.h" + +int uhd_wrap::open(const std::string &args, int ref, bool swap_channels) +{ + int rv = uhd_device::open(args, ref, swap_channels); + samps_per_buff_rx = rx_stream->get_max_num_samps(); + samps_per_buff_tx = tx_stream->get_max_num_samps(); + channel_count = usrp_dev->get_rx_num_channels(); + + wrap_rx_buffs = std::vector >(channel_count, std::vector(2 * samps_per_buff_rx)); + for (size_t i = 0; i < wrap_rx_buffs.size(); i++) + wrap_rx_buf_ptrs.push_back(&wrap_rx_buffs[i].front()); + + wrap_tx_buffs = std::vector >(channel_count, std::vector(2 * 5000)); + for (size_t i = 0; i < wrap_tx_buffs.size(); i++) + wrap_tx_buf_ptrs.push_back(&wrap_tx_buffs[i].front()); + + return rv; +} + +uhd_wrap::~uhd_wrap() +{ + // drvtest::gshutdown = 1; + //t->join(); +} + +size_t uhd_wrap::bufsizerx() +{ + return samps_per_buff_rx; +} + +size_t uhd_wrap::bufsizetx() +{ + return samps_per_buff_tx; +} + +int uhd_wrap::chancount() +{ + return channel_count; +} + +int uhd_wrap::wrap_read(TIMESTAMP *timestamp) +{ + uhd::rx_metadata_t md; + size_t num_rx_samps = rx_stream->recv(wrap_rx_buf_ptrs, samps_per_buff_rx, md, 0.1, true); + *timestamp = md.time_spec.to_ticks(rx_rate); + return num_rx_samps; //uhd_device::readSamples(bufs, len, overrun, timestamp, underrun); +} + +extern "C" void *uhdwrap_open(struct ipc_sk_if_open_req *open_req) +{ + unsigned int rx_sps, tx_sps; + + /* FIXME: dev arg string* */ + /* FIXME: rx frontend bw? */ + /* FIXME: tx frontend bw? */ + ReferenceType cref; + switch (open_req->clockref) { + case FEATURE_MASK_CLOCKREF_EXTERNAL: + cref = ReferenceType::REF_EXTERNAL; + break; + case FEATURE_MASK_CLOCKREF_INTERNAL: + default: + cref = ReferenceType::REF_INTERNAL; + break; + } + + std::vector tx_paths; + std::vector rx_paths; + for (unsigned int i = 0; i < open_req->num_chans; i++) { + tx_paths.push_back(open_req->chan_info[i].tx_path); + rx_paths.push_back(open_req->chan_info[i].rx_path); + } + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + rx_sps = open_req->rx_sample_freq_num / open_req->rx_sample_freq_den; + tx_sps = open_req->tx_sample_freq_num / open_req->tx_sample_freq_den; + uhd_wrap *uhd_wrap_dev = + new uhd_wrap(tx_sps, rx_sps, RadioDevice::NORMAL, open_req->num_chans, 0.0, tx_paths, rx_paths); + uhd_wrap_dev->open("", cref, false); + + return uhd_wrap_dev; +} +extern "C" int32_t uhdwrap_get_bufsizerx(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->bufsizerx(); +} + +extern "C" int32_t uhdwrap_get_timingoffset(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->getTimingOffset(); +} + +extern "C" int32_t uhdwrap_read(void *dev, uint32_t num_chans) +{ + TIMESTAMP t; + uhd_wrap *d = (uhd_wrap *)dev; + + if (num_chans != d->wrap_rx_buf_ptrs.size()) { + perror("omg chans?!"); + } + + int32_t read = d->wrap_read(&t); + + /* multi channel rx on b210 will return 0 due to alignment adventures, do not put 0 samples into a ipc buffer... */ + if (read <= 0) + return read; + + for (uint32_t i = 0; i < num_chans; i++) { + ipc_shm_enqueue(ios_rx_from_device[i], t, read, (uint16_t *)&d->wrap_rx_buffs[i].front()); + } + return read; +} + +extern "C" int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun) +{ + uhd_wrap *d = (uhd_wrap *)dev; + + uint64_t timestamp; + int32_t len = -1; + for (uint32_t i = 0; i < num_chans; i++) { + len = ipc_shm_read(ios_tx_to_device[i], (uint16_t *)&d->wrap_tx_buffs[i].front(), 5000, ×tamp, 1); + if (len < 0) + return 0; + } + + return d->writeSamples(d->wrap_tx_buf_ptrs, len, underrun, timestamp); +} + +extern "C" double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; + if (for_tx) + return d->setTxFreq(f, chan); + else + return d->setRxFreq(f, chan); +} + +extern "C" double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; + // if (for_tx) + // return d->setTxGain(f, chan); + // else + return d->setRxGain(f, chan); +} + +extern "C" double uhdwrap_set_txatt(void *dev, double a, size_t chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->setPowerAttenuation(a, chan); +} + +extern "C" int32_t uhdwrap_start(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->start(); +} + +extern "C" int32_t uhdwrap_stop(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->stop(); +} + +extern "C" void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim) +{ + struct ipc_sk_if_info_chan *chan_info; + + uhd::device_addr_t args(""); + uhd::device_addrs_t devs_found = uhd::device::find(args); + if (devs_found.size() < 1) { + std::cout << "\n No device found!"; + exit(0); + } + + uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(devs_found[0]); + auto rxchans = usrp->get_rx_num_channels(); + auto txchans = usrp->get_tx_num_channels(); + auto rx_range = usrp->get_rx_gain_range(); + auto tx_range = usrp->get_tx_gain_range(); + + //auto nboards = usrp->get_num_mboards(); + auto refs = usrp->get_clock_sources(0); + auto devname = usrp->get_mboard_name(0); + + ipc_prim->u.info_cnf.feature_mask = 0; + if (std::find(refs.begin(), refs.end(), "internal") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_INTERNAL; + if (std::find(refs.begin(), refs.end(), "external") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_EXTERNAL; + + // at least one duplex channel + auto num_chans = rxchans == txchans ? txchans : 1; + + ipc_prim->u.info_cnf.iq_scaling_val_rx = 0.3; + ipc_prim->u.info_cnf.iq_scaling_val_tx = 1; + ipc_prim->u.info_cnf.max_num_chans = num_chans; + OSMO_STRLCPY_ARRAY(ipc_prim->u.info_cnf.dev_desc, devname.c_str()); + chan_info = ipc_prim->u.info_cnf.chan_info; + for (unsigned int i = 0; i < ipc_prim->u.info_cnf.max_num_chans; i++) { + auto rxant = usrp->get_rx_antennas(i); + auto txant = usrp->get_tx_antennas(i); + for (unsigned int j = 0; j < txant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->tx_path[j], txant[j].c_str()); + } + for (unsigned int j = 0; j < rxant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->rx_path[j], rxant[j].c_str()); + } + chan_info->min_rx_gain = rx_range.start(); + chan_info->max_rx_gain = rx_range.stop(); + chan_info->min_tx_gain = tx_range.start(); + chan_info->max_tx_gain = tx_range.stop(); + chan_info->nominal_tx_power = 7.5; // FIXME: would require uhd dev + freq info + chan_info++; + } +} diff --git a/Transceiver52M/device/ipc/uhdwrap.h b/Transceiver52M/device/ipc/uhdwrap.h new file mode 100644 index 0000000..e235fe7 --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.h @@ -0,0 +1,83 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_UHDWRAP_H +#define IPC_UHDWRAP_H + +#ifdef __cplusplus +#include "../uhd/UHDDevice.h" + +class uhd_wrap : public uhd_device { + public: + // std::thread *t; + size_t samps_per_buff_rx; + size_t samps_per_buff_tx; + int channel_count; + + std::vector > wrap_rx_buffs; + std::vector > wrap_tx_buffs; + std::vector wrap_rx_buf_ptrs; + std::vector wrap_tx_buf_ptrs; + + template uhd_wrap(Args... args) : uhd_device(args...) + { + // t = new std::thread(magicthread); + // give the thread some time to start and set up + // std::this_thread::sleep_for(std::chrono::seconds(1)); + } + virtual ~uhd_wrap(); + + // void ipc_sock_close() override {}; + int wrap_read(TIMESTAMP *timestamp); + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + // bool start() override; + // bool stop() override; + // virtual TIMESTAMP initialWriteTimestamp() override; + // virtual TIMESTAMP initialReadTimestamp() override; + + int getTimingOffset() + { + return ts_offset; + } + size_t bufsizerx(); + size_t bufsizetx(); + int chancount(); +}; +#else +void *uhdwrap_open(struct ipc_sk_if_open_req *open_req); + +int32_t uhdwrap_get_bufsizerx(void *dev); + +int32_t uhdwrap_get_timingoffset(void *dev); + +int32_t uhdwrap_read(void *dev, uint32_t num_chans); + +int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun); + +double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx); + +double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx); + +int32_t uhdwrap_start(void *dev, int chan); + +int32_t uhdwrap_stop(void *dev, int chan); + +void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim); + +double uhdwrap_set_txatt(void *dev, double a, size_t chan); +#endif + +#endif // IPC_B210_H diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index b5dda28..43b9f9c 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -152,7 +152,7 @@ void *async_event_loop(uhd_device *dev) { set_selfthread_name("UHDAsyncEvent"); - OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); + osmo_cpu_sched_vty_apply_localthread(); while (1) { dev->recv_async_msg(); @@ -1316,6 +1316,7 @@ return ost.str(); } +#ifndef IPCMAGIC RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, const std::vector& tx_paths, @@ -1323,3 +1324,4 @@ { return new uhd_device(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); } +#endif diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 22a0948..c159e63 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -133,7 +133,7 @@ ERROR_UNHANDLED = -4, }; -private: +protected: uhd::usrp::multi_usrp::sptr usrp_dev; uhd::tx_streamer::sptr tx_stream; uhd::rx_streamer::sptr rx_stream; diff --git a/configure.ac b/configure.ac index 07d4bf4..e651176 100644 --- a/configure.ac +++ b/configure.ac @@ -140,6 +140,11 @@ [enable LimeSuite based transceiver]) ]) +AC_ARG_WITH(ipc, [ + AS_HELP_STRING([--with-ipc], + [enable IPC]) +]) + AC_ARG_WITH(singledb, [ AS_HELP_STRING([--with-singledb], [enable single daughterboard use on USRP1]) @@ -179,7 +184,7 @@ PKG_CHECK_MODULES(LMS, LimeSuite) ]) -AS_IF([test "x$with_uhd" != "xno"],[ +AS_IF([test "x$with_uhd" == "xyes"],[ PKG_CHECK_MODULES(UHD, uhd >= 003.011, [AC_DEFINE(USE_UHD_3_11, 1, UHD version 3.11.0 or higher)], [PKG_CHECK_MODULES(UHD, uhd >= 003.009, @@ -238,9 +243,10 @@ AC_DEFINE(HAVE_ATOMIC_OPS, 1, [Support all required atomic operations], [AC_MSG_WARN("At least one aotmic operation missing, will use mutex")]) ]) -AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) +AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" == "xyes"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) +AM_CONDITIONAL(DEVICE_IPC, [test "x$with_ipc" = "xyes"]) AM_CONDITIONAL(ARCH_ARM, [test "x$with_neon" = "xyes" || test "x$with_neon_vfpv4" = "xyes"]) AM_CONDITIONAL(ARCH_ARM_A15, [test "x$with_neon_vfpv4" = "xyes"]) @@ -325,6 +331,7 @@ Transceiver52M/device/uhd/Makefile \ Transceiver52M/device/usrp1/Makefile \ Transceiver52M/device/lms/Makefile \ + Transceiver52M/device/ipc/Makefile \ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index df444ca..95ea128 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -85,7 +85,7 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" -CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms $INSTR" +CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms --with-ipc $INSTR" # Additional configure options and depends if [ "$WITH_MANUALS" = "1" ]; then diff --git a/contrib/osmo-trx.spec.in b/contrib/osmo-trx.spec.in index aebd355..86b96d3 100644 --- a/contrib/osmo-trx.spec.in +++ b/contrib/osmo-trx.spec.in @@ -129,6 +129,26 @@ generations of mobile phone networks. (post-2G/GSM) %endif +%package ipc +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC) +Group: Productivity/Telephony/Servers + +%description ipc +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + %prep %setup -q @@ -142,14 +162,16 @@ --with-systemdsystemunitdir=%{_unitdir} \ --without-lms \ --with-uhd \ - --without-usrp1 + --without-usrp1 \ + --with-ipc %else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ - --with-usrp1 + --with-usrp1 \ + --with-ipc %endif make %{?_smp_mflags} V=1 @@ -174,6 +196,10 @@ %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service +%pre ipc %service_add_pre osmo-trx-ipc.service +%post ipc %service_add_post osmo-trx-ipc.service +%preun ipc %service_del_preun osmo-trx-ipc.service +%postun ipc %service_del_postun osmo-trx-ipc.service %endif %files @@ -206,4 +232,11 @@ %{_unitdir}/osmo-trx-usrp1.service %endif +%files ipc +%{_bindir}/osmo-trx-ipc +%{_bindir}/ipc-driver-test +%dir %{_sysconfdir}/osmocom +# FIXME: missing: osmo-trx-ipc.cfg +%{_unitdir}/osmo-trx-ipc.service + %changelog diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 800b1e1..6566b97 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -1,7 +1,8 @@ EXTRA_DIST = \ osmo-trx-lms.service \ osmo-trx-uhd.service \ - osmo-trx-usrp1.service + osmo-trx-usrp1.service \ + osmo-trx-ipc.service if HAVE_SYSTEMD SYSTEMD_SERVICES = @@ -18,5 +19,9 @@ SYSTEMD_SERVICES += osmo-trx-lms.service endif +if DEVICE_IPC +SYSTEMD_SERVICES += osmo-trx-ipc.service +endif + systemdsystemunit_DATA = $(SYSTEMD_SERVICES) endif # HAVE_SYSTEMD diff --git a/contrib/systemd/osmo-trx-ipc.service b/contrib/systemd/osmo-trx-ipc.service new file mode 100644 index 0000000..c886ed7 --- /dev/null +++ b/contrib/systemd/osmo-trx-ipc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom SDR BTS L1 Transceiver (IPC Backend) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-trx-ipc -C /etc/osmocom/osmo-trx-ipc.cfg +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/debian/control b/debian/control index 31c738e..12d9af5 100644 --- a/debian/control +++ b/debian/control @@ -30,7 +30,7 @@ Architecture: any Section: debug Priority: extra -Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), ${misc:Depends} +Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for the osmo-trx-* Make debugging possible @@ -91,6 +91,25 @@ between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +Package: osmo-trx-ipc +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: SDR transceiver that implements Layer 1 of a GSM BTS (generic IPC) + OsmoTRX is a software-defined radio transceiver that implements the Layer 1 + physical layer of a BTS comprising the following 3GPP specifications: + . + TS 05.01 "Physical layer on the radio path" + TS 05.02 "Multiplexing and Multiple Access on the Radio Path" + TS 05.04 "Modulation" + TS 05.10 "Radio subsystem synchronization" + . + In this context, BTS is "Base transceiver station". It's the stations that + connect mobile phones to the mobile network. + . + 3GPP is the "3rd Generation Partnership Project" which is the collaboration + between different telecommunication associations for developing new + generations of mobile phone networks. (post-2G/GSM) + Package: osmo-trx-doc Architecture: all Section: doc diff --git a/debian/osmo-trx-ipc.install b/debian/osmo-trx-ipc.install new file mode 100644 index 0000000..db64623 --- /dev/null +++ b/debian/osmo-trx-ipc.install @@ -0,0 +1,4 @@ +etc/osmocom/osmo-trx-ipc.cfg +lib/systemd/system/osmo-trx-ipc.service +/usr/bin/osmo-trx-ipc +/usr/share/doc/osmo-trx/examples/osmo-trx-ipc/osmo-trx-ipc.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/ diff --git a/debian/rules b/debian/rules index 627c0c8..5795643 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info override_dh_auto_configure: - dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals + dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals override_dh_strip: dh_strip --dbg-package=osmo-trx-dbg diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 88d9142..0b06130 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -14,6 +14,10 @@ OSMOCONF_FILES += osmo-trx-lms/osmo-trx-lms.cfg endif +if DEVICE_IPC +OSMOCONF_FILES += osmo-trx-ipc/osmo-trx-ipc.cfg +endif + osmoconf_DATA = $(OSMOCONF_FILES) EXTRA_DIST = $(OSMOCONF_FILES) diff --git a/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg b/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg new file mode 100644 index 0000000..2e0b67e --- /dev/null +++ b/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg @@ -0,0 +1,33 @@ +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print file basename + logging level set-all notice +! +line vty + no login +! +cpu-sched + policy rr 18 +trx + bind-ip 127.0.0.1 + remote-ip 127.0.0.1 + egprs disable + ! 28 dB offset below is valid only for the B2xx in 1800 MHz band, see + ! https://osmocom.org/issues/4468 for more details + rssi-offset 28.000000 + tx-sps 4 + rx-sps 4 + clock-ref external + egprs disable + ext-rach disable + dev-args ipc_msock=/tmp/ipc_sock0 + multi-arfcn disable + chan 0 + tx-path TX/RX + rx-path RX2 + chan 1 + tx-path TX/RX + rx-path RX2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iefae70cc079a0174f48309f9ef25157c530e5c32 Gerrit-Change-Number: 19664 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 15 22:47:38 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 15 Aug 2020 22:47:38 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19664 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 1: yay. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iefae70cc079a0174f48309f9ef25157c530e5c32 Gerrit-Change-Number: 19664 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Aug 2020 22:47: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 Sun Aug 16 00:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:16:21 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#7). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,823 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:16:21 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 to look at the new patch set (#8). Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... devices: reset internal smart sample buffers upon stop They are too smart, they keep the timestamps. Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 --- M Transceiver52M/device/common/smpl_buf.cpp M Transceiver52M/device/common/smpl_buf.h M Transceiver52M/device/ipc/IPCDevice.cpp M Transceiver52M/device/uhd/UHDDevice.cpp 4 files changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/46/19646/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:16:21 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 to look at the new patch set (#8). Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... transceiver: optimize code if optimizations are enabled There is no point in checking basic stuff ten thousand times per second since the sizes never change, so it's enough to enable the checks/assertions for unoptimized (debug) builds. This significantly decreases branch mispredictions. Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 --- M CommonLibs/Vector.h M Transceiver52M/Resampler.cpp M Transceiver52M/arch/x86/convolve.c 3 files changed, 25 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/50/19650/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:17:32 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:17:32 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19664 ) Change subject: osmo-trx-ipc ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iefae70cc079a0174f48309f9ef25157c530e5c32 Gerrit-Change-Number: 19664 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:18:02 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:02 +0000 Subject: Change in osmo-trx[master]: configure: only enable uhd if we enable uhd... In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19647 ) Change subject: configure: only enable uhd if we enable uhd... ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I418a07f5e166f136313f3aec4df71dbfa25ec874 Gerrit-Change-Number: 19647 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Sun Aug 16 00:18:19 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:19 +0000 Subject: Change in osmo-trx[master]: uhddevice: unbreak ipc test In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19649 ) Change subject: uhddevice: unbreak ipc test ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7359e35adaac211a4ff5b693ccbab2fd7b63d67e Gerrit-Change-Number: 19649 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Sun Aug 16 00:18:30 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:30 +0000 Subject: Change in osmo-trx[master]: contrib/osmo-trx.spec.in: add osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19645 ) Change subject: contrib/osmo-trx.spec.in: add osmo-trx-ipc ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib57980e8e102d6f77d0bffa47faafd929c82a288 Gerrit-Change-Number: 19645 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:18:35 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:35 +0000 Subject: Change in osmo-trx[master]: contrib/systemd/osmo-trx-ipc.service: new file In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19644 ) Change subject: contrib/systemd/osmo-trx-ipc.service: new file ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic2ba7616c6909bd0a7e642554ecffa4939935b01 Gerrit-Change-Number: 19644 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:18:40 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:40 +0000 Subject: Change in osmo-trx[master]: configure.ac: add --with-ipc In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19643 ) Change subject: configure.ac: add --with-ipc ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie7b1b07479b81366cebaa081d80917ae868992b4 Gerrit-Change-Number: 19643 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:18:45 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:18:45 +0000 Subject: Change in osmo-trx[master]: gitignore: add new binaries In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19642 ) Change subject: gitignore: add new binaries ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9fd0b6cdb0b9d66b37e813cc8d35a28b9c9dc539 Gerrit-Change-Number: 19642 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 00:19:00 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 00:19:00 +0000 Subject: Change in osmo-trx[master]: ipc: build the uhd test backend only if we actually have and want uhd In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19648 ) Change subject: ipc: build the uhd test backend only if we actually have and want uhd ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6bf9ee3e73327d8073994da7368a7be0dcb83592 Gerrit-Change-Number: 19648 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 16 01:35:05 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:35:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f388d576267b_74bf2aebd44c4600139088b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 130s] [COMPILING libboard/qmod/source/i2c.c] [ 130s] [COMPILING libboard/qmod/source/board_qmod.c] [ 130s] [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] [ 131s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 131s] Memory region Used Size Region Size %age Used [ 131s] rom: 16576 B 16 KB 101.17% [ 131s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 131s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 131s] collect2: error: ld returned 1 exit status [ 131s] % [ 131s] Makefile:234: recipe for target 'flash' failed [ 131s] make[2]: *** [flash] Error 1 [ 131s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 131s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 131s] make[1]: *** [fw-qmod-dfu] Error 2 [ 131s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 131s] dh_auto_build: make -j1 returned exit code 2 [ 131s] debian/rules:16: recipe for target 'build' failed [ 131s] make: *** [build] Error 2 [ 131s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 131s] ### VM INTERACTION START ### [ 134s] [ 126.637052] sysrq: Power Off [ 134s] [ 126.654902] reboot: Power down [ 134s] ### VM INTERACTION END ### [ 134s] [ 134s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:34:55 UTC 2020. [ 134s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:35:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:35:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/i586 In-Reply-To: References: Message-ID: <5f388d783db31_74bf2aebd44c46001390959@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 93s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 93s] [COMPILING libboard/qmod/source/card_pres.c] [ 93s] [COMPILING libboard/qmod/source/wwan_led.c] [ 93s] [COMPILING libboard/qmod/source/i2c.c] [ 93s] [COMPILING libboard/qmod/source/board_qmod.c] [ 93s] [COMPILING apps/dfu/main.c] [ 93s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 93s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 93s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 94s] Memory region Used Size Region Size %age Used [ 94s] rom: 16504 B 16 KB 100.73% [ 94s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 94s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 94s] collect2: error: ld returned 1 exit status [ 94s] % [ 94s] make[2]: *** [Makefile:234: flash] Error 1 [ 94s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 94s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 94s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 94s] dh_auto_build: make -j1 returned exit code 2 [ 94s] make: *** [debian/rules:16: build] Error 2 [ 94s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 94s] ### VM INTERACTION START ### [ 97s] [ 91.206150] sysrq: Power Off [ 97s] [ 91.207476] reboot: Power down [ 97s] ### VM INTERACTION END ### [ 97s] [ 97s] build83 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:35:33 UTC 2020. [ 97s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:35:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:35:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f388d78c3efc_74bf2aebd44c460013910e4@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: [ 65s] [COMPILING libboard/common/source/uart_console.c] [ 65s] [COMPILING libboard/common/source/led.c] [ 65s] [COMPILING libboard/common/source/boardver_adc.c] [ 65s] [COMPILING libboard/common/source/manifest.c] [ 65s] [COMPILING libboard/simtrace/source/board_simtrace.c] [ 65s] [COMPILING apps/dfu/main.c] [ 65s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 65s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 65s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 65s] Memory region Used Size Region Size %age Used [ 65s] rom: 16460 B 16 KB 100.46% [ 65s] ram: 11664 B 48 KB 23.73/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/simtrace-dfu-flash.elf section `.text' will not fit in region `rom' [ 65s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 76 bytes [ 65s] collect2: error: ld returned 1 exit status [ 65s] % [ 65s] make[2]: *** [Makefile:234: flash] Error 1 [ 65s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 65s] make[1]: *** [Makefile:10: fw-simtrace-dfu] Error 2 [ 65s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 65s] dh_auto_build: error: make -j1 returned exit code 2 [ 65s] make: *** [debian/rules:16: build] Error 25 [ 65s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 65s] ### VM INTERACTION START ### [ 68s] [ 62.784290] sysrq: Power Off [ 68s] [ 62.791295] reboot: Power down [ 68s] ### VM INTERACTION END ### [ 68s] [ 68s] goat07 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:35:38 UTC 2020. [ 68s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:37:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:37:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f388deda22c1_74bf2aebd44c460013915d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/i586 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 120s] [COMPILING libboard/qmod/source/i2c.c] [ 120s] [COMPILING libboard/qmod/source/board_qmod.c] [ 121s] [COMPILING apps/dfu/main.c] [ 121s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 121s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 121s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 121s] Memory region Used Size Region Size %age Used [ 121s] rom: 16584 B 16 KB 101.22% [ 121s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 121s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 121s] collect2: error: ld returned 1 exit status [ 121s] % [ 121s] Makefile:234: recipe for target 'flash' failed [ 121s] make[2]: *** [flash] Error 1 [ 121s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 121s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 121s] make[1]: *** [fw-qmod-dfu] Error 2 [ 121s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 121s] dh_auto_build: make -j1 returned exit code 2 [ 121s] debian/rules:16: recipe for target 'build' failed [ 121s] make: *** [build] Error 2 [ 121s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 121s] ### VM INTERACTION START ### [ 124s] [ 117.079516] sysrq: Power Off [ 124s] [ 117.086505] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] lamb25 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:14 UTC 2020. [ 124s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:37:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:37:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f388ded3e90d_74bf2aebd44c460013914b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 158s] [COMPILING libboard/qmod/source/i2c.c] [ 159s] [COMPILING libboard/qmod/source/board_qmod.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: 16576 B 16 KB 101.17% [ 160s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 160s] collect2: error: ld returned 1 exit status [ 160s] % [ 160s] Makefile:234: recipe for target 'flash' failed [ 160s] make[2]: *** [flash] Error 1 [ 160s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 160s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 160s] make[1]: *** [fw-qmod-dfu] Error 2 [ 160s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 160s] dh_auto_build: make -j1 returned exit code 2 [ 160s] debian/rules:16: recipe for target 'build' failed [ 160s] make: *** [build] Error 2 [ 160s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 160s] ### VM INTERACTION START ### [ 163s] [ 154.957419] sysrq: Power Off [ 163s] [ 154.971417] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] lamb54 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:08 UTC 2020. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:37:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:37:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f388dee4230c_74bf2aebd44c46001391625@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 97s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 97s] [COMPILING libboard/qmod/source/card_pres.c] [ 97s] [COMPILING libboard/qmod/source/wwan_led.c] [ 97s] [COMPILING libboard/qmod/source/i2c.c] [ 98s] [COMPILING libboard/qmod/source/board_qmod.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] [ 98s] Memory region Used Size Region Size %age Used [ 98s] rom: 16504 B 16 KB 100.73% [ 98s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 98s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 98s] collect2: error: ld returned 1 exit status [ 98s] % [ 98s] make[2]: *** [Makefile:234: flash] Error 1 [ 98s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 98s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 98s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 98s] dh_auto_build: make -j1 returned exit code 2 [ 98s] make: *** [debian/rules:16: build] Error 2 [ 98s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 98s] ### VM INTERACTION START ### [ 101s] [ 95.575535] sysrq: Power Off [ 101s] [ 95.580568] reboot: Power down [ 101s] ### VM INTERACTION END ### [ 101s] [ 101s] sheep88 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:19 UTC 2020. [ 101s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:37:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:37:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f388def68e0f_74bf2aebd44c46001391776@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 151s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 151s] [COMPILING libboard/qmod/source/card_pres.c] [ 151s] [COMPILING libboard/qmod/source/wwan_led.c] [ 151s] [COMPILING libboard/qmod/source/i2c.c] [ 152s] [COMPILING libboard/qmod/source/board_qmod.c] [ 152s] [COMPILING apps/dfu/main.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 152s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 152s] Memory region Used Size Region Size %age Used [ 152s] rom: 16504 B 16 KB 100.73% [ 152s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 152s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 152s] collect2: error: ld returned 1 exit status [ 152s] % [ 152s] make[2]: *** [Makefile:234: flash] Error 1 [ 152s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 152s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 152s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 152s] dh_auto_build: make -j1 returned exit code 2 [ 152s] make: *** [debian/rules:16: build] Error 255 [ 152s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 152s] ### VM INTERACTION START ### [ 156s] [ 147.201812] sysrq: Power Off [ 156s] [ 147.206029] reboot: Power down [ 156s] ### VM INTERACTION END ### [ 156s] [ 156s] lamb02 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:36 UTC 2020. [ 156s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:38:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:38:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f388e0f8e162_74bf2aebd44c4600139189e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/i586 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 220s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 220s] [COMPILING libboard/qmod/source/card_pres.c] [ 220s] [COMPILING libboard/qmod/source/wwan_led.c] [ 220s] [COMPILING libboard/qmod/source/i2c.c] [ 221s] [COMPILING libboard/qmod/source/board_qmod.c] [ 221s] [COMPILING apps/dfu/main.c] [ 221s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 221s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 221s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 221s] Memory region Used Size Region Size %age Used [ 221s] rom: 16576 B 16 KB 101.17% [ 221s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 221s] /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 221s] collect2: error: ld returned 1 exit status [ 221s] % [ 221s] make[2]: *** [Makefile:234: flash] Error 1 [ 221s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 221s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 221s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 221s] dh_auto_build: make -j1 returned exit code 2 [ 221s] make: *** [debian/rules:16: build] Error 2 [ 221s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 221s] ### VM INTERACTION START ### [ 224s] [ 212.094322] sysrq: Power Off [ 224s] [ 212.101467] reboot: Power down [ 224s] ### VM INTERACTION END ### [ 224s] [ 224s] lamb03 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:58 UTC 2020. [ 224s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:38:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:38:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f388e0fe62ea_74bf2aebd44c4600139190@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.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/wwan_perst.c] [ 181s] [COMPILING libboard/qmod/source/card_pres.c] [ 181s] [COMPILING libboard/qmod/source/wwan_led.c] [ 181s] [COMPILING libboard/qmod/source/i2c.c] [ 181s] [COMPILING libboard/qmod/source/board_qmod.c] [ 181s] [COMPILING apps/dfu/main.c] [ 181s] [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: 16576 B 16 KB 101.17% [ 182s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/6.3.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/6.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 192 bytes [ 182s] collect2: error: ld returned 1 exit status [ 182s] % [ 182s] make[2]: *** [Makefile:234: 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: make -j1 returned exit code 2 [ 182s] make: *** [debian/rules:16: build] Error 2 [ 182s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 182s] ### VM INTERACTION START ### [ 185s] [ 175.927834] sysrq: Power Off [ 185s] [ 175.936819] reboot: Power down [ 185s] ### VM INTERACTION END ### [ 185s] [ 185s] lamb24 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:37:59 UTC 2020. [ 185s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:39:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:39:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f388e6443c39_74bf2aebd44c46001392344@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Unstable/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 109s] [COMPILING apps/dfu/main.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 109s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 109s] Memory region Used Size Region Size %age Used [ 109s] rom: 16464 B 16 KB 100.49% [ 109s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 109s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 109s] collect2: error: ld returned 1 exit status [ 109s] % [ 109s] make[2]: *** [Makefile:234: flash] Error 1 [ 109s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 109s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 109s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 109s] dh_auto_build: error: make -j1 returned exit code 2 [ 109s] make: *** [debian/rules:16: build] Error 25 [ 109s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 109s] ### VM INTERACTION START ### [ 113s] [ 103.198018] sysrq: Power Off [ 113s] [ 103.202738] reboot: Power down [ 113s] ### VM INTERACTION END ### [ 113s] [ 113s] sheep87 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:39:18 UTC 2020. [ 113s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:40:30 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:40:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f388ea210e7c_74bf2aebd44c460013928b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 113s] [COMPILING libboard/qmod/source/i2c.c] [ 113s] [COMPILING libboard/qmod/source/board_qmod.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: 16584 B 16 KB 101.22% [ 113s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.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/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 113s] collect2: error: ld returned 1 exit status [ 113s] % [ 113s] Makefile:234: recipe for target 'flash' failed [ 113s] make[2]: *** [flash] Error 1 [ 113s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 113s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 113s] make[1]: *** [fw-qmod-dfu] Error 2 [ 113s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 113s] dh_auto_build: make -j1 returned exit code 2 [ 113s] debian/rules:16: recipe for target 'build' failed [ 113s] make: *** [build] Error 2 [ 113s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 113s] ### VM INTERACTION START ### [ 117s] [ 109.892361] sysrq: Power Off [ 117s] [ 109.899326] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] lamb16 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:40:17 UTC 2020. [ 117s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:40:48 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:40:48 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f388ed2824f0_74bf2aebd44c4600139325d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 168s] [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] [ 169s] Memory region Used Size Region Size %age Used [ 169s] rom: 16464 B 16 KB 100.49% [ 169s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 169s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 169s] collect2: error: ld returned 1 exit status [ 169s] % [ 169s] make[2]: *** [Makefile:234: flash] Error 1 [ 169s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 169s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 169s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 169s] dh_auto_build: error: make -j1 returned exit code 2 [ 169s] make: *** [debian/rules:16: build] Error 25 [ 169s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 169s] ### VM INTERACTION START ### [ 172s] [ 161.599517] sysrq: Power Off [ 172s] [ 161.647691] reboot: Power down [ 172s] ### VM INTERACTION END ### [ 172s] [ 172s] lamb27 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:40:34 UTC 2020. [ 172s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:41:39 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:41:39 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f388ee033487_74bf2aebd44c46001393653@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_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/wwan_perst.c] [ 161s] [COMPILING libboard/qmod/source/card_pres.c] [ 161s] [COMPILING libboard/qmod/source/wwan_led.c] [ 162s] [COMPILING libboard/qmod/source/i2c.c] [ 162s] [COMPILING libboard/qmod/source/board_qmod.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] [ 162s] Memory region Used Size Region Size %age Used [ 162s] rom: 16504 B 16 KB 100.73% [ 162s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 162s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 162s] collect2: error: ld returned 1 exit status [ 162s] % [ 162s] make[2]: *** [Makefile:234: flash] Error 1 [ 162s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 162s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] dh_auto_build: make -j1 returned exit code 2 [ 162s] make: *** [debian/rules:16: build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] ### VM INTERACTION START ### [ 166s] [ 156.630501] sysrq: Power Off [ 166s] [ 156.637023] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb04 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:41:26 UTC 2020. [ 166s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:42:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:42:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f388efb9de39_74bf2aebd44c46001394028@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 213s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 214s] [COMPILING libboard/qmod/source/card_pres.c] [ 214s] [COMPILING libboard/qmod/source/wwan_led.c] [ 214s] [COMPILING libboard/qmod/source/i2c.c] [ 214s] [COMPILING libboard/qmod/source/board_qmod.c] [ 214s] [COMPILING apps/dfu/main.c] [ 215s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 215s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 215s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 215s] Memory region Used Size Region Size %age Used [ 215s] rom: 16504 B 16 KB 100.73% [ 215s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 215s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 215s] collect2: error: ld returned 1 exit status [ 215s] % [ 215s] make[2]: *** [Makefile:234: flash] Error 1 [ 215s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 215s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 215s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 215s] dh_auto_build: make -j1 returned exit code 2 [ 215s] make: *** [debian/rules:16: build] Error 2 [ 215s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 216s] ### VM INTERACTION START ### [ 219s] [ 202.513957] sysrq: Power Off [ 219s] [ 202.515444] reboot: Power down [ 219s] ### VM INTERACTION END ### [ 219s] [ 219s] obs-arm-9 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:41:58 UTC 2020. [ 219s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 01:49:56 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 01:49:56 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f3890dbcc0b8_74bf2aebd44c460013949cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 179s] [COMPILING libboard/qmod/source/i2c.c] [ 180s] [COMPILING libboard/qmod/source/board_qmod.c] [ 180s] [COMPILING apps/dfu/main.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 181s] Memory region Used Size Region Size %age Used [ 181s] rom: 16584 B 16 KB 101.22% [ 181s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 181s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 181s] collect2: error: ld returned 1 exit status [ 181s] % [ 181s] Makefile:234: recipe for target 'flash' failed [ 181s] make[2]: *** [flash] Error 1 [ 181s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 181s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 181s] make[1]: *** [fw-qmod-dfu] Error 2 [ 181s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 181s] dh_auto_build: make -j1 returned exit code 2 [ 181s] debian/rules:16: recipe for target 'build' failed [ 181s] make: *** [build] Error 2 [ 181s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 181s] ### VM INTERACTION START ### [ 184s] [ 148.597485] sysrq: Power Off [ 184s] [ 148.598905] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] obs-arm-8 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 01:49:52 UTC 2020. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 02:48:48 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 02:48:48 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f389eb27df85_74bf2aebd44c460014269c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 119s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 119s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 119s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 119s] | | [ 119s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 119s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 119s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 119s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 119s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 119s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 119s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 120s] cc1: all warnings being treated as errors [ 120s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 120s] make[3]: *** Waiting for unfinished jobs.... [ 120s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 120s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] make[1]: *** [Makefile:166: all] Error 2 [ 120s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 120s] dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" returned exit code 2 [ 120s] make: *** [debian/rules:9: build] Error 25 [ 120s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 120s] ### VM INTERACTION START ### [ 123s] [ 113.745739] sysrq: Power Off [ 123s] [ 113.753345] reboot: Power down [ 123s] ### VM INTERACTION END ### [ 123s] [ 123s] lamb71 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 16 02:48:47 UTC 2020. [ 123s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 02:50:13 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 02:50:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f389ef156f38_74bf2aebd44c4600142734d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 150s] [COMPILING apps/dfu/main.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 151s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 151s] Memory region Used Size Region Size %age Used [ 151s] rom: 16464 B 16 KB 100.49% [ 151s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 151s] /usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 80 bytes [ 151s] collect2: error: ld returned 1 exit status [ 151s] % [ 151s] make[2]: *** [Makefile:234: flash] Error 1 [ 151s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 151s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 151s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 151s] dh_auto_build: error: make -j1 returned exit code 2 [ 151s] make: *** [debian/rules:16: build] Error 25 [ 151s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 151s] ### VM INTERACTION START ### [ 154s] [ 142.200750] sysrq: Power Off [ 154s] [ 142.204929] reboot: Power down [ 154s] ### VM INTERACTION END ### [ 154s] [ 154s] cloud127 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 02:50:12 UTC 2020. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 03:18:31 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 03:18:31 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f38a59d9faa6_74bf2aebd44c46001436471@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 61s] /usr/src/packages/BUILD/src/ulfius.c:839:48: error: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [-Werror=incompatible-pointer-types] [ 61s] 839 | mhd_flags, u_instance->port, NULL, NULL, &ulfius_webservice_dispatcher, (void *)u_instance, [ 61s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 61s] | | [ 61s] | int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **) {aka int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)} [ 61s] In file included from /usr/src/packages/BUILD/include/ulfius.h:46, [ 61s] from /usr/src/packages/BUILD/include/u_private.h:29, [ 61s] from /usr/src/packages/BUILD/src/ulfius.c:29: [ 61s] /usr/include/microhttpd.h:2428:45: note: expected 'MHD_AccessHandlerCallback' {aka 'enum MHD_Result (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} but argument is of type 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, size_t *, void **)' {aka 'int (*)(void *, struct MHD_Connection *, const char *, const char *, const char *, const char *, long unsigned int *, void **)'} [ 61s] 2428 | MHD_AccessHandlerCallback dh, void *dh_cls, [ 61s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ [ 62s] cc1: all warnings being treated as errors [ 62s] make[3]: *** [CMakeFiles/ulfius.dir/build.make:144: CMakeFiles/ulfius.dir/src/ulfius.c.o] Error 1 [ 62s] make[3]: *** Waiting for unfinished jobs.... [ 62s] make[3]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] make[2]: *** [CMakeFiles/Makefile2:87: CMakeFiles/ulfius.dir/all] Error 2 [ 62s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] make[1]: *** [Makefile:166: all] Error 2 [ 62s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 62s] dh_auto_build: error: cd build && make -j16 "INSTALL=install --strip-program=true" returned exit code 2 [ 62s] make: *** [debian/rules:9: build] Error 25 [ 62s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 62s] ### VM INTERACTION START ### [ 65s] [ 58.521133] sysrq: Power Off [ 65s] [ 58.528005] reboot: Power down [ 65s] ### VM INTERACTION END ### [ 65s] [ 65s] goat01 failed "build ulfius_2.5.2-4.1.dsc" at Sun Aug 16 03:18:27 UTC 2020. [ 65s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 04:53:59 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 04:53:59 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f38bc0882632_74bf2aebd44c46001456258@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_9.0/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 369s] [COMPILING libboard/qmod/source/i2c.c] [ 369s] [COMPILING libboard/qmod/source/board_qmod.c] [ 370s] [COMPILING apps/dfu/main.c] [ 370s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 370s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 371s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 371s] Memory region Used Size Region Size %age Used [ 371s] rom: 16584 B 16 KB 101.22% [ 371s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 371s] /usr/lib/gcc/arm-none-eabi/5.4.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 200 bytes [ 371s] collect2: error: ld returned 1 exit status [ 371s] % [ 371s] Makefile:234: recipe for target 'flash' failed [ 371s] make[2]: *** [flash] Error 1 [ 371s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 371s] Makefile:13: recipe for target 'fw-qmod-dfu' failed [ 371s] make[1]: *** [fw-qmod-dfu] Error 2 [ 371s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 371s] dh_auto_build: make -j1 returned exit code 2 [ 371s] debian/rules:16: recipe for target 'build' failed [ 371s] make: *** [build] Error 2 [ 371s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 371s] ### VM INTERACTION START ### [ 374s] [ 352.785592] sysrq: SysRq : Power Off [ 374s] [ 352.809667] reboot: Power down [ 375s] ### VM INTERACTION END ### [ 375s] [ 375s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 04:53:51 UTC 2020. [ 375s] -- 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 Aug 16 04:58:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 04:58:36 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19639 ) Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19639/1/src/vty/cpu_sched_vty.c File src/vty/cpu_sched_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/19639/1/src/vty/cpu_sched_vty.c at 635 PS1, Line 635: LOGL_FATAL > FATAL is normally only used when the program exists. ACK, ERROR would be a better fit here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Aug 2020 04:58:36 +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 admin at opensuse.org Sun Aug 16 05:29:40 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 05:29:40 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f38c4554388_74bf2aebd44c460014602e1@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: [ 334s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 334s] [COMPILING libboard/qmod/source/card_pres.c] [ 334s] [COMPILING libboard/qmod/source/wwan_led.c] [ 335s] [COMPILING libboard/qmod/source/i2c.c] [ 335s] [COMPILING libboard/qmod/source/board_qmod.c] [ 336s] [COMPILING apps/dfu/main.c] [ 336s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 336s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 337s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 337s] Memory region Used Size Region Size %age Used [ 337s] rom: 16504 B 16 KB 100.73% [ 337s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 337s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 337s] collect2: error: ld returned 1 exit status [ 337s] % [ 337s] make[2]: *** [Makefile:234: flash] Error 1 [ 337s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 337s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 337s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 337s] dh_auto_build: make -j1 returned exit code 2 [ 337s] make: *** [debian/rules:16: build] Error 2 [ 337s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 337s] ### VM INTERACTION START ### [ 340s] [ 318.400239] sysrq: SysRq : Power Off [ 340s] [ 318.414806] reboot: Power down [ 341s] ### VM INTERACTION END ### [ 341s] [ 341s] armbuild01 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 05:29:23 UTC 2020. [ 341s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 05:57:57 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 05:57:57 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f38cae7979f4_74bf2aebd44c460014630d1@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: [ 596s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 597s] [COMPILING libboard/qmod/source/card_pres.c] [ 597s] [COMPILING libboard/qmod/source/wwan_led.c] [ 598s] [COMPILING libboard/qmod/source/i2c.c] [ 598s] [COMPILING libboard/qmod/source/board_qmod.c] [ 599s] [COMPILING apps/dfu/main.c] [ 600s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 600s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 600s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 601s] Memory region Used Size Region Size %age Used [ 601s] rom: 16504 B 16 KB 100.73% [ 601s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 601s] /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 120 bytes [ 601s] collect2: error: ld returned 1 exit status [ 601s] % [ 601s] make[2]: *** [Makefile:234: flash] Error 1 [ 601s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 601s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 601s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 601s] dh_auto_build: make -j1 returned exit code 2 [ 601s] make: *** [debian/rules:16: build] Error 2 [ 601s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 602s] ### VM INTERACTION START ### [ 605s] [ 577.781516] sysrq: SysRq : Power Off [ 605s] [ 577.794266] reboot: Power down [ 605s] ### VM INTERACTION END ### [ 605s] [ 605s] obs-arm-6 failed "build simtrace2_0.7.0.61.1afb7.dsc" at Sun Aug 16 05:57:41 UTC 2020. [ 605s] -- 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 Aug 16 06:18:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 06:18:29 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... vty/command: cosmetic: move variable definition upwards Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e --- M src/vty/command.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/19665/1 diff --git a/src/vty/command.c b/src/vty/command.c index d8fe463..fba8ef5 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -628,14 +628,13 @@ static int vty_dump_element(struct cmd_element *cmd, print_func_t print_func, void *data, const char *newline) { char *xml_string = xml_escape(cmd->string); + unsigned int i, j; print_func(data, " %s", xml_string, newline); print_func(data, " %s", newline); - int j; for (j = 0; j < vector_count(cmd->strvec); ++j) { vector descvec = vector_slot(cmd->strvec, j); - int i; for (i = 0; i < vector_active(descvec); ++i) { char *xml_param, *xml_doc; struct desc *desc = vector_slot(descvec, i); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 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 Aug 16 06:18:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 06:18:30 +0000 Subject: Change in libosmocore[master]: vty/command: fix switch / case coding style in vty_go_parent() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19666 ) Change subject: vty/command: fix switch / case coding style in vty_go_parent() ...................................................................... vty/command: fix switch / case coding style in vty_go_parent() Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 --- M src/vty/command.c 1 file changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/19666/1 diff --git a/src/vty/command.c b/src/vty/command.c index fba8ef5..6d2bdbe 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2216,23 +2216,23 @@ int vty_go_parent(struct vty *vty) { switch (vty->node) { - case AUTH_NODE: - case VIEW_NODE: - case ENABLE_NODE: - case CONFIG_NODE: - vty_clear_parents(vty); - break; + case AUTH_NODE: + case VIEW_NODE: + case ENABLE_NODE: + case CONFIG_NODE: + vty_clear_parents(vty); + break; - case AUTH_ENABLE_NODE: - vty->node = VIEW_NODE; - vty_clear_parents(vty); - break; + case AUTH_ENABLE_NODE: + vty->node = VIEW_NODE; + vty_clear_parents(vty); + break; - default: - if (host.app_info->go_parent_cb) - host.app_info->go_parent_cb(vty); - vty_pop_parent(vty); - break; + default: + if (host.app_info->go_parent_cb) + host.app_info->go_parent_cb(vty); + vty_pop_parent(vty); + break; } return vty->node; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 Gerrit-Change-Number: 19666 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 Aug 16 06:18:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 06:18:30 +0000 Subject: Change in libosmocore[master]: vty: add program specific attributes to VTY commands References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19667 ) Change subject: vty: add program specific attributes to VTY commands ...................................................................... vty: add program specific attributes to VTY commands Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M TODO-RELEASE M include/osmocom/vty/command.h M include/osmocom/vty/vty.h 3 files changed, 32 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/19667/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 8ccfa49..964d072 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,5 @@ # 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 ABI change struct cmd_element: add a field for program specific attributes +libosmovty ABI change struct vty_app_info: optional program specific attributes description diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index da8d202..ca9acff 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -149,7 +149,8 @@ unsigned int cmdsize; /*!< Command index count. */ char *config; /*!< Configuration string */ vector subconfig; /*!< Sub configuration string */ - unsigned char attr; /*!< Command attributes */ + unsigned char attr; /*!< Command attributes (global) */ + unsigned char usrattr; /*!< Command attributes (program specific) */ }; /*! Command description structure. */ @@ -200,6 +201,16 @@ .daemon = dnum, \ }; +#define DEFUN_CMD_ELEMENT_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attrs, usrattrs) \ + static struct cmd_element cmdname = \ + { \ + .string = cmdstr, \ + .func = funcname, \ + .doc = helpstr, \ + .attr = attrs, \ + .usrattr = usrattrs, \ + }; + #define DEFUN_CMD_FUNC_DECL(funcname) \ static int funcname (struct cmd_element *, struct vty *, int, const char *[]); \ @@ -240,6 +251,22 @@ #define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \ DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) +/*! Macro for defining a VTY node and function with global & program specific attributes. + * \param[in] funcname Name of the function implementing the node. + * \param[in] cmdname Name of the command node. + * \param[in] cmdstr String with syntax of node. + * \param[in] helpstr String with help message of node. + * \param[in] attr Global attributes (see CMD_ATTR_*). + * \param[in] usrattr Program specific attributes. + */ +#define DEFUN_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attr, usrattr) \ + DEFUN_CMD_FUNC_DECL(funcname) \ + DEFUN_CMD_ELEMENT_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attr, usrattr) \ + DEFUN_CMD_FUNC_TEXT(funcname) + +#define DEFUN_USRATTR(funcname, cmdname, cmdstr, helpstr, usrattr) \ + DEFUN_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, 0, usrattr) + /* DEFUN_NOSH for commands that vtysh should ignore */ #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \ DEFUN(funcname, cmdname, cmdstr, helpstr) diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h index b63dc3b..710ef5b 100644 --- a/include/osmocom/vty/vty.h +++ b/include/osmocom/vty/vty.h @@ -192,6 +192,8 @@ " no longer called, ever, and can be left NULL."); /*! Check if the config is consistent before write */ int (*config_is_consistent)(struct vty *vty); + /*! Description of the application specific VTY attributes */ + const struct value_string *attr_desc; }; /* Prototypes. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Gerrit-Change-Number: 19667 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 Aug 16 06:18:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 06:18:30 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19668 ) Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/1 diff --git a/src/vty/command.c b/src/vty/command.c index 6d2bdbe..336622d 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -631,6 +631,21 @@ unsigned int i, j; print_func(data, " %s", xml_string, newline); + + /* Print application specific attributes and their description */ + for (i = 0; host.app_info->attr_desc != NULL; i++) { + const struct value_string *vs = &host.app_info->attr_desc[i]; + if (vs->value == 0 && vs->str == NULL) + break; /* array terminator */ + if (~cmd->usrattr & (1 << vs->value)) + continue; /* skip if not set */ + + char *xml_att_desc = xml_escape(vs->str); + print_func(data, " %s%s", + xml_att_desc, newline); + talloc_free(xml_att_desc); + } + print_func(data, " %s", newline); for (j = 0; j < vector_count(cmd->strvec); ++j) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 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 Aug 16 07:38:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 07:38:39 +0000 Subject: Change in libosmocore[master]: vty: add program specific attributes to VTY commands 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/+/19667 to look at the new patch set (#2). Change subject: vty: add program specific attributes to VTY commands ...................................................................... vty: add program specific attributes to VTY commands Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M TODO-RELEASE M include/osmocom/vty/command.h M include/osmocom/vty/vty.h 3 files changed, 32 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/19667/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Gerrit-Change-Number: 19667 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 07:49:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 07:49:58 +0000 Subject: Change in libosmocore[master]: vty: add program specific attributes to VTY commands 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/+/19667 to look at the new patch set (#3). Change subject: vty: add program specific attributes to VTY commands ...................................................................... vty: add program specific attributes to VTY commands Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M TODO-RELEASE M include/osmocom/vty/command.h M include/osmocom/vty/vty.h 3 files changed, 32 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/19667/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Gerrit-Change-Number: 19667 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 09:14:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 09:14:43 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference 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/+/19668 to look at the new patch set (#4). Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 09:23:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 09:23:11 +0000 Subject: Change in osmo-bsc[master]: vty: fix copy-pasted 'no gprs control-ack-type-rach' description References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19669 ) Change subject: vty: fix copy-pasted 'no gprs control-ack-type-rach' description ...................................................................... vty: fix copy-pasted 'no gprs control-ack-type-rach' description Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/19669/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 9bb650f..fc7dd16 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3130,7 +3130,7 @@ DEFUN(cfg_no_bts_gprs_ctrl_ack, cfg_no_bts_gprs_ctrl_ack_cmd, "no gprs control-ack-type-rach", NO_STR GPRS_TEXT "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " - "four access bursts format instead of default RLC/MAC control block\n") + "default RLC/MAC control block\n") { struct gsm_bts *bts = vty->index; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd Gerrit-Change-Number: 19669 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 Aug 16 10:12:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 10:12:17 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19670 ) Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... vty: add attributes to VTY commands indicating when they apply Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Depends: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 700 insertions(+), 533 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/19670/1 diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 10ce16b..62a1785 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -33,4 +33,12 @@ struct gsm_network *gsmnet_from_vty(struct vty *vty); +enum bsc_vty_cmd_attr { + BSC_VTY_ATTR_RESTART_FULL = 0, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, +}; + +extern const struct value_string bsc_vty_cmd_attr_desc[]; + #endif diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index fc7dd16..66adf84 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -161,6 +161,25 @@ 1, }; +const struct value_string bsc_vty_cmd_attr_desc[] = { + { + BSC_VTY_ATTR_RESTART_FULL, + "This command applies on full program restart" + }, + { + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "This command applies on A-bis OML link (re)establishment" + }, + { + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "This command applies on A-bis RSL link (re)establishment" + }, + { + /* Value-string terminator */ + 0, NULL + } +}; + static struct gsm_network *vty_global_gsm_network = NULL; struct gsm_network *gsmnet_from_vty(struct vty *v) @@ -2042,11 +2061,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_neci, - cfg_net_neci_cmd, - "neci (0|1)", - "New Establish Cause Indication\n" - "Don't set the NECI bit\n" "Set the NECI bit\n") +DEFUN_USRATTR(cfg_net_neci, + cfg_net_neci_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "neci (0|1)", + "New Establish Cause Indication\n" + "Don't set the NECI bit\n" "Set the NECI bit\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); @@ -2055,13 +2075,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_pag_any_tch, - cfg_net_pag_any_tch_cmd, - "paging any use tch (0|1)", - "Assign a TCH when receiving a Paging Any request\n" - "Any Channel\n" "Use\n" "TCH\n" - "Do not use TCH for Paging Request Any\n" - "Do use TCH for Paging Request Any\n") +DEFUN_USRATTR(cfg_net_pag_any_tch, + cfg_net_pag_any_tch_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "paging any use tch (0|1)", + "Assign a TCH when receiving a Paging Any request\n" + "Any Channel\n" "Use\n" "TCH\n" + "Do not use TCH for Paging Request Any\n" + "Do use TCH for Paging Request Any\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); gsmnet->pag_any_tch = atoi(argv[0]); @@ -2173,10 +2194,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_type, - cfg_bts_type_cmd, - "type TYPE", /* dynamically created */ - "Set the BTS type\n" "Type\n") +DEFUN_USRATTR(cfg_bts_type, + cfg_bts_type_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "type TYPE", /* dynamically created */ + "Set the BTS type\n" "Type\n") { struct gsm_bts *bts = vty->index; int rc; @@ -2188,10 +2210,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_band, - cfg_bts_band_cmd, - "band BAND", - "Set the frequency band of this BTS\n" "Frequency band\n") +DEFUN_USRATTR(cfg_bts_band, + cfg_bts_band_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "band BAND", + "Set the frequency band of this BTS\n" "Frequency band\n") { struct gsm_bts *bts = vty->index; int band = gsm_band_parse(argv[0]); @@ -2207,11 +2230,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_dtxu, cfg_bts_dtxu_cmd, "dtx uplink [force]", - "Configure discontinuous transmission\n" - "Enable Uplink DTX for this BTS\n" - "MS 'shall' use DTXu instead of 'may' use (might not be supported by " - "older phones).\n") +DEFUN_USRATTR(cfg_bts_dtxu, + cfg_bts_dtxu_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "dtx uplink [force]", + "Configure discontinuous transmission\n" + "Enable Uplink DTX for this BTS\n" + "MS 'shall' use DTXu instead of 'may' use (might not be supported by " + "older phones).\n") { struct gsm_bts *bts = vty->index; @@ -2222,10 +2248,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_no_dtxu, cfg_bts_no_dtxu_cmd, "no dtx uplink", - NO_STR - "Configure discontinuous transmission\n" - "Disable Uplink DTX for this BTS\n") +DEFUN_USRATTR(cfg_bts_no_dtxu, + cfg_bts_no_dtxu_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "no dtx uplink", + NO_STR "Configure discontinuous transmission\n" + "Disable Uplink DTX for this BTS\n") { struct gsm_bts *bts = vty->index; @@ -2234,9 +2262,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_dtxd, cfg_bts_dtxd_cmd, "dtx downlink", - "Configure discontinuous transmission\n" - "Enable Downlink DTX for this BTS\n") +DEFUN_USRATTR(cfg_bts_dtxd, + cfg_bts_dtxd_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "dtx downlink", + "Configure discontinuous transmission\n" + "Enable Downlink DTX for this BTS\n") { struct gsm_bts *bts = vty->index; @@ -2247,10 +2278,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_no_dtxd, cfg_bts_no_dtxd_cmd, "no dtx downlink", - NO_STR - "Configure discontinuous transmission\n" - "Disable Downlink DTX for this BTS\n") +DEFUN_USRATTR(cfg_bts_no_dtxd, + cfg_bts_no_dtxd_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "no dtx downlink", + NO_STR, "Configure discontinuous transmission\n" + "Disable Downlink DTX for this BTS\n") { struct gsm_bts *bts = vty->index; @@ -2259,10 +2292,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_ci, - cfg_bts_ci_cmd, - "cell_identity <0-65535>", - "Set the Cell identity of this BTS\n" "Cell Identity\n") +DEFUN_USRATTR(cfg_bts_ci, + cfg_bts_ci_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "cell_identity <0-65535>", + "Set the Cell identity of this BTS\n" "Cell Identity\n") { struct gsm_bts *bts = vty->index; int ci = atoi(argv[0]); @@ -2277,10 +2311,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_lac, - cfg_bts_lac_cmd, - "location_area_code <0-65535>", - "Set the Location Area Code (LAC) of this BTS\n" "LAC\n") +DEFUN_USRATTR(cfg_bts_lac, + cfg_bts_lac_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "location_area_code <0-65535>", + "Set the Location Area Code (LAC) of this BTS\n" "LAC\n") { struct gsm_bts *bts = vty->index; int lac = atoi(argv[0]); @@ -2312,11 +2347,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_bsic, - cfg_bts_bsic_cmd, - "base_station_id_code <0-63>", - "Set the Base Station Identity Code (BSIC) of this BTS\n" - "BSIC of this BTS\n") +DEFUN_USRATTR(cfg_bts_bsic, + cfg_bts_bsic_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "base_station_id_code <0-63>", + "Set the Base Station Identity Code (BSIC) of this BTS\n" + "BSIC of this BTS\n") { struct gsm_bts *bts = vty->index; int bsic = atoi(argv[0]); @@ -2331,13 +2367,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_unit_id, - cfg_bts_unit_id_cmd, - "ipa unit-id <0-65534> <0-255>", - "Abis/IP specific options\n" - "Set the IPA BTS Unit ID\n" - "Unit ID (Site)\n" - "Unit ID (BTS)\n") +DEFUN_USRATTR(cfg_bts_unit_id, + cfg_bts_unit_id_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "ipa unit-id <0-65534> <0-255>", + "Abis/IP specific options\n" + "Set the IPA BTS Unit ID\n" + "Unit ID (Site)\n" + "Unit ID (BTS)\n") { struct gsm_bts *bts = vty->index; int site_id = atoi(argv[0]); @@ -2362,12 +2399,13 @@ "Unit ID (Site)\n" "Unit ID (BTS)\n"); -DEFUN(cfg_bts_rsl_ip, - cfg_bts_rsl_ip_cmd, - "ipa rsl-ip A.B.C.D", - "Abis/IP specific options\n" - "Set the IPA RSL IP Address of the BSC\n" - "Destination IP address for RSL connection\n") +DEFUN_USRATTR(cfg_bts_rsl_ip, + cfg_bts_rsl_ip_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "ipa rsl-ip A.B.C.D", + "Abis/IP specific options\n" + "Set the IPA RSL IP Address of the BSC\n" + "Destination IP address for RSL connection\n") { struct gsm_bts *bts = vty->index; struct in_addr ia; @@ -2453,12 +2491,13 @@ #define OML_STR "Organization & Maintenance Link\n" #define IPA_STR "A-bis/IP Specific Options\n" -DEFUN(cfg_bts_stream_id, - cfg_bts_stream_id_cmd, - "oml ipa stream-id <0-255> line E1_LINE", - OML_STR IPA_STR - "Set the ipa Stream ID of the OML link of this BTS\n" - "Stream Identifier\n" "Virtual E1 Line Number\n" "Virtual E1 Line Number\n") +DEFUN_USRATTR(cfg_bts_stream_id, + cfg_bts_stream_id_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "oml ipa stream-id <0-255> line E1_LINE", + OML_STR IPA_STR + "Set the ipa Stream ID of the OML link of this BTS\n" "Stream Identifier\n" + "Virtual E1 Line Number\n" "Virtual E1 Line Number\n") { struct gsm_bts *bts = vty->index; int stream_id = atoi(argv[0]), linenr = atoi(argv[1]); @@ -2484,21 +2523,20 @@ #define OML_E1_STR OML_STR "OML E1/T1 Configuration\n" -DEFUN(cfg_bts_oml_e1, - cfg_bts_oml_e1_cmd, - "oml e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - OML_E1_STR - "E1/T1 line number to be used for OML\n" - "E1/T1 line number to be used for OML\n" - "E1/T1 timeslot to be used for OML\n" - "E1/T1 timeslot to be used for OML\n" - "E1/T1 sub-slot to be used for OML\n" - "Use E1/T1 sub-slot 0\n" - "Use E1/T1 sub-slot 1\n" - "Use E1/T1 sub-slot 2\n" - "Use E1/T1 sub-slot 3\n" - "Use full E1 slot 3\n" - ) +DEFUN_DEPRECATED(cfg_bts_oml_e1, cfg_bts_oml_e1_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "oml e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + OML_E1_STR + "E1/T1 line number to be used for OML\n" + "E1/T1 line number to be used for OML\n" + "E1/T1 timeslot to be used for OML\n" + "E1/T1 timeslot to be used for OML\n" + "E1/T1 sub-slot to be used for OML\n" + "Use E1/T1 sub-slot 0\n" + "Use E1/T1 sub-slot 1\n" + "Use E1/T1 sub-slot 2\n" + "Use E1/T1 sub-slot 3\n" + "Use full E1 slot 3\n") { struct gsm_bts *bts = vty->index; @@ -2508,12 +2546,13 @@ } -DEFUN(cfg_bts_oml_e1_tei, - cfg_bts_oml_e1_tei_cmd, - "oml e1 tei <0-63>", - OML_E1_STR - "Set the TEI to be used for OML\n" - "TEI Number\n") +DEFUN_USRATTR(cfg_bts_oml_e1_tei, + cfg_bts_oml_e1_tei_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "oml e1 tei <0-63>", + OML_E1_STR + "Set the TEI to be used for OML\n" + "TEI Number\n") { struct gsm_bts *bts = vty->index; @@ -2540,29 +2579,31 @@ #define RACH_STR "Random Access Control Channel\n" -DEFUN(cfg_bts_rach_tx_integer, - cfg_bts_rach_tx_integer_cmd, - "rach tx integer <0-15>", - RACH_STR - "Set the raw tx integer value in RACH Control parameters IE\n" - "Set the raw tx integer value in RACH Control parameters IE\n" - "Raw tx integer value in RACH Control parameters IE\n") +DEFUN_USRATTR(cfg_bts_rach_tx_integer, + cfg_bts_rach_tx_integer_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rach tx integer <0-15>", + RACH_STR + "Set the raw tx integer value in RACH Control parameters IE\n" + "Set the raw tx integer value in RACH Control parameters IE\n" + "Raw tx integer value in RACH Control parameters IE\n") { struct gsm_bts *bts = vty->index; bts->si_common.rach_control.tx_integer = atoi(argv[0]) & 0xf; return CMD_SUCCESS; } -DEFUN(cfg_bts_rach_max_trans, - cfg_bts_rach_max_trans_cmd, - "rach max transmission (1|2|4|7)", - RACH_STR - "Set the maximum number of RACH burst transmissions\n" - "Set the maximum number of RACH burst transmissions\n" - "Maximum number of 1 RACH burst transmissions\n" - "Maximum number of 2 RACH burst transmissions\n" - "Maximum number of 4 RACH burst transmissions\n" - "Maximum number of 7 RACH burst transmissions\n") +DEFUN_USRATTR(cfg_bts_rach_max_trans, + cfg_bts_rach_max_trans_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rach max transmission (1|2|4|7)", + RACH_STR + "Set the maximum number of RACH burst transmissions\n" + "Set the maximum number of RACH burst transmissions\n" + "Maximum number of 1 RACH burst transmissions\n" + "Maximum number of 2 RACH burst transmissions\n" + "Maximum number of 4 RACH burst transmissions\n" + "Maximum number of 7 RACH burst transmissions\n") { struct gsm_bts *bts = vty->index; bts->si_common.rach_control.max_trans = rach_max_trans_val2raw(atoi(argv[0])); @@ -2571,13 +2612,14 @@ #define CD_STR "Channel Description\n" -DEFUN(cfg_bts_chan_desc_att, - cfg_bts_chan_desc_att_cmd, - "channel-description attach (0|1)", - CD_STR - "Set if attachment is required\n" - "Attachment is NOT required\n" - "Attachment is required (standard)\n") +DEFUN_USRATTR(cfg_bts_chan_desc_att, + cfg_bts_chan_desc_att_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "channel-description attach (0|1)", + CD_STR + "Set if attachment is required\n" + "Attachment is NOT required\n" + "Attachment is required (standard)\n") { struct gsm_bts *bts = vty->index; bts->si_common.chan_desc.att = atoi(argv[0]); @@ -2591,12 +2633,13 @@ "Attachment is NOT required\n" "Attachment is required (standard)\n"); -DEFUN(cfg_bts_chan_desc_bs_pa_mfrms, - cfg_bts_chan_desc_bs_pa_mfrms_cmd, - "channel-description bs-pa-mfrms <2-9>", - CD_STR - "Set number of multiframe periods for paging groups\n" - "Number of multiframe periods for paging groups\n") +DEFUN_USRATTR(cfg_bts_chan_desc_bs_pa_mfrms, + cfg_bts_chan_desc_bs_pa_mfrms_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "channel-description bs-pa-mfrms <2-9>", + CD_STR + "Set number of multiframe periods for paging groups\n" + "Number of multiframe periods for paging groups\n") { struct gsm_bts *bts = vty->index; int bs_pa_mfrms = atoi(argv[0]); @@ -2611,12 +2654,13 @@ "Set number of multiframe periods for paging groups\n" "Number of multiframe periods for paging groups\n"); -DEFUN(cfg_bts_chan_desc_bs_ag_blks_res, - cfg_bts_chan_desc_bs_ag_blks_res_cmd, - "channel-description bs-ag-blks-res <0-7>", - CD_STR - "Set number of blocks reserved for access grant\n" - "Number of blocks reserved for access grant\n") +DEFUN_USRATTR(cfg_bts_chan_desc_bs_ag_blks_res, + cfg_bts_chan_desc_bs_ag_blks_res_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "channel-description bs-ag-blks-res <0-7>", + CD_STR + "Set number of blocks reserved for access grant\n" + "Number of blocks reserved for access grant\n") { struct gsm_bts *bts = vty->index; int bs_ag_blks_res = atoi(argv[0]); @@ -2633,12 +2677,13 @@ #define CCCH_STR "Common Control Channel\n" -DEFUN(cfg_bts_ccch_load_ind_thresh, - cfg_bts_ccch_load_ind_thresh_cmd, - "ccch load-indication-threshold <0-100>", - CCCH_STR - "Percentage of CCCH load at which BTS sends RSL CCCH LOAD IND\n" - "CCCH Load Threshold in percent (Default: 10)\n") +DEFUN_USRATTR(cfg_bts_ccch_load_ind_thresh, + cfg_bts_ccch_load_ind_thresh_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "ccch load-indication-threshold <0-100>", + CCCH_STR + "Percentage of CCCH load at which BTS sends RSL CCCH LOAD IND\n" + "CCCH Load Threshold in percent (Default: 10)\n") { struct gsm_bts *bts = vty->index; bts->ccch_load_ind_thresh = atoi(argv[0]); @@ -2647,38 +2692,42 @@ #define NM_STR "Network Management\n" -DEFUN(cfg_bts_rach_nm_b_thresh, - cfg_bts_rach_nm_b_thresh_cmd, - "rach nm busy threshold <0-255>", - RACH_STR NM_STR - "Set the NM Busy Threshold\n" - "Set the NM Busy Threshold\n" - "NM Busy Threshold in dB\n") +DEFUN_USRATTR(cfg_bts_rach_nm_b_thresh, + cfg_bts_rach_nm_b_thresh_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "rach nm busy threshold <0-255>", + RACH_STR NM_STR + "Set the NM Busy Threshold\n" + "Set the NM Busy Threshold\n" + "NM Busy Threshold in dB\n") { struct gsm_bts *bts = vty->index; bts->rach_b_thresh = atoi(argv[0]); return CMD_SUCCESS; } -DEFUN(cfg_bts_rach_nm_ldavg, - cfg_bts_rach_nm_ldavg_cmd, - "rach nm load average <0-65535>", - RACH_STR NM_STR - "Set the NM Loadaverage Slots value\n" - "Set the NM Loadaverage Slots value\n" - "NM Loadaverage Slots value\n") +DEFUN_USRATTR(cfg_bts_rach_nm_ldavg, + cfg_bts_rach_nm_ldavg_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "rach nm load average <0-65535>", + RACH_STR NM_STR + "Set the NM Loadaverage Slots value\n" + "Set the NM Loadaverage Slots value\n" + "NM Loadaverage Slots value\n") { struct gsm_bts *bts = vty->index; bts->rach_ldavg_slots = atoi(argv[0]); return CMD_SUCCESS; } -DEFUN(cfg_bts_cell_barred, cfg_bts_cell_barred_cmd, - "cell barred (0|1)", - "Should this cell be barred from access?\n" - "Should this cell be barred from access?\n" - "Cell should NOT be barred\n" - "Cell should be barred\n") +DEFUN_USRATTR(cfg_bts_cell_barred, + cfg_bts_cell_barred_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "cell barred (0|1)", + "Should this cell be barred from access?\n" + "Should this cell be barred from access?\n" + "Cell should NOT be barred\n" + "Cell should be barred\n") { struct gsm_bts *bts = vty->index; @@ -2688,14 +2737,16 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_rach_ec_allowed, cfg_bts_rach_ec_allowed_cmd, - "rach emergency call allowed (0|1)", - RACH_STR - "Should this cell allow emergency calls?\n" - "Should this cell allow emergency calls?\n" - "Should this cell allow emergency calls?\n" - "Do NOT allow emergency calls\n" - "Allow emergency calls\n") +DEFUN_USRATTR(cfg_bts_rach_ec_allowed, + cfg_bts_rach_ec_allowed_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rach emergency call allowed (0|1)", + RACH_STR + "Should this cell allow emergency calls?\n" + "Should this cell allow emergency calls?\n" + "Should this cell allow emergency calls?\n" + "Do NOT allow emergency calls\n" + "Allow emergency calls\n") { struct gsm_bts *bts = vty->index; @@ -2707,27 +2758,29 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_rach_ac_class, cfg_bts_rach_ac_class_cmd, - "rach access-control-class (0|1|2|3|4|5|6|7|8|9|11|12|13|14|15) (barred|allowed)", - RACH_STR - "Set access control class\n" - "Access control class 0\n" - "Access control class 1\n" - "Access control class 2\n" - "Access control class 3\n" - "Access control class 4\n" - "Access control class 5\n" - "Access control class 6\n" - "Access control class 7\n" - "Access control class 8\n" - "Access control class 9\n" - "Access control class 11 for PLMN use\n" - "Access control class 12 for security services\n" - "Access control class 13 for public utilities (e.g. water/gas suppliers)\n" - "Access control class 14 for emergency services\n" - "Access control class 15 for PLMN staff\n" - "barred to use access control class\n" - "allowed to use access control class\n") +DEFUN_USRATTR(cfg_bts_rach_ac_class, + cfg_bts_rach_ac_class_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rach access-control-class (0|1|2|3|4|5|6|7|8|9|11|12|13|14|15) (barred|allowed)", + RACH_STR + "Set access control class\n" + "Access control class 0\n" + "Access control class 1\n" + "Access control class 2\n" + "Access control class 3\n" + "Access control class 4\n" + "Access control class 5\n" + "Access control class 6\n" + "Access control class 7\n" + "Access control class 8\n" + "Access control class 9\n" + "Access control class 11 for PLMN use\n" + "Access control class 12 for security services\n" + "Access control class 13 for public utilities (e.g. water/gas suppliers)\n" + "Access control class 14 for emergency services\n" + "Access control class 15 for PLMN staff\n" + "barred to use access control class\n" + "allowed to use access control class\n") { struct gsm_bts *bts = vty->index; @@ -2771,11 +2824,13 @@ #define CELL_STR "Cell Parameters\n" -DEFUN(cfg_bts_cell_resel_hyst, cfg_bts_cell_resel_hyst_cmd, - "cell reselection hysteresis <0-14>", - CELL_STR "Cell re-selection parameters\n" - "Cell Re-Selection Hysteresis in dB\n" - "Cell Re-Selection Hysteresis in dB\n") +DEFUN_USRATTR(cfg_bts_cell_resel_hyst, + cfg_bts_cell_resel_hyst_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "cell reselection hysteresis <0-14>", + CELL_STR "Cell re-selection parameters\n" + "Cell Re-Selection Hysteresis in dB\n" + "Cell Re-Selection Hysteresis in dB\n") { struct gsm_bts *bts = vty->index; @@ -2784,12 +2839,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_rxlev_acc_min, cfg_bts_rxlev_acc_min_cmd, - "rxlev access min <0-63>", - "Minimum RxLev needed for cell access\n" - "Minimum RxLev needed for cell access\n" - "Minimum RxLev needed for cell access\n" - "Minimum RxLev needed for cell access (better than -110dBm)\n") +DEFUN_USRATTR(cfg_bts_rxlev_acc_min, + cfg_bts_rxlev_acc_min_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rxlev access min <0-63>", + "Minimum RxLev needed for cell access\n" + "Minimum RxLev needed for cell access\n" + "Minimum RxLev needed for cell access\n" + "Minimum RxLev needed for cell access (better than -110dBm)\n") { struct gsm_bts *bts = vty->index; @@ -2798,10 +2855,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_cell_bar_qualify, cfg_bts_cell_bar_qualify_cmd, - "cell bar qualify (0|1)", - CELL_STR "Cell Bar Qualify\n" "Cell Bar Qualify\n" - "Set CBQ to 0\n" "Set CBQ to 1\n") +DEFUN_USRATTR(cfg_bts_cell_bar_qualify, + cfg_bts_cell_bar_qualify_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "cell bar qualify (0|1)", + CELL_STR "Cell Bar Qualify\n" "Cell Bar Qualify\n" + "Set CBQ to 0\n" "Set CBQ to 1\n") { struct gsm_bts *bts = vty->index; @@ -2811,12 +2870,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_cell_resel_ofs, cfg_bts_cell_resel_ofs_cmd, - "cell reselection offset <0-126>", - CELL_STR "Cell Re-Selection Parameters\n" - "Cell Re-Selection Offset (CRO) in dB\n" - "Cell Re-Selection Offset (CRO) in dB\n" - ) +DEFUN_USRATTR(cfg_bts_cell_resel_ofs, + cfg_bts_cell_resel_ofs_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "cell reselection offset <0-126>", + CELL_STR "Cell Re-Selection Parameters\n" + "Cell Re-Selection Offset (CRO) in dB\n" + "Cell Re-Selection Offset (CRO) in dB\n") { struct gsm_bts *bts = vty->index; @@ -2826,11 +2886,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_temp_ofs, cfg_bts_temp_ofs_cmd, - "temporary offset <0-60>", - "Cell selection temporary negative offset\n" - "Cell selection temporary negative offset\n" - "Cell selection temporary negative offset in dB\n") +DEFUN_USRATTR(cfg_bts_temp_ofs, + cfg_bts_temp_ofs_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "temporary offset <0-60>", + "Cell selection temporary negative offset\n" + "Cell selection temporary negative offset\n" + "Cell selection temporary negative offset in dB\n") { struct gsm_bts *bts = vty->index; @@ -2840,11 +2902,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_temp_ofs_inf, cfg_bts_temp_ofs_inf_cmd, - "temporary offset infinite", - "Cell selection temporary negative offset\n" - "Cell selection temporary negative offset\n" - "Sets cell selection temporary negative offset to infinity\n") +DEFUN_USRATTR(cfg_bts_temp_ofs_inf, + cfg_bts_temp_ofs_inf_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "temporary offset infinite", + "Cell selection temporary negative offset\n" + "Cell selection temporary negative offset\n" + "Sets cell selection temporary negative offset to infinity\n") { struct gsm_bts *bts = vty->index; @@ -2854,11 +2918,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_penalty_time, cfg_bts_penalty_time_cmd, - "penalty time <20-620>", - "Cell selection penalty time\n" - "Cell selection penalty time\n" - "Cell selection penalty time in seconds (by 20s increments)\n") +DEFUN_USRATTR(cfg_bts_penalty_time, + cfg_bts_penalty_time_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "penalty time <20-620>", + "Cell selection penalty time\n" + "Cell selection penalty time\n" + "Cell selection penalty time in seconds (by 20s increments)\n") { struct gsm_bts *bts = vty->index; @@ -2868,13 +2934,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_penalty_time_rsvd, cfg_bts_penalty_time_rsvd_cmd, - "penalty time reserved", - "Cell selection penalty time\n" - "Cell selection penalty time\n" - "Set cell selection penalty time to reserved value 31, " - "(indicate that CELL_RESELECT_OFFSET is subtracted from C2 " - "and TEMPORARY_OFFSET is ignored)\n") +DEFUN_USRATTR(cfg_bts_penalty_time_rsvd, + cfg_bts_penalty_time_rsvd_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "penalty time reserved", + "Cell selection penalty time\n" + "Cell selection penalty time\n" + "Set cell selection penalty time to reserved value 31, " + "(indicate that CELL_RESELECT_OFFSET is subtracted from C2 " + "and TEMPORARY_OFFSET is ignored)\n") { struct gsm_bts *bts = vty->index; @@ -2884,10 +2952,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_radio_link_timeout, cfg_bts_radio_link_timeout_cmd, - "radio-link-timeout <4-64>", - "Radio link timeout criterion (BTS side)\n" - "Radio link timeout value (lost SACCH block)\n") +DEFUN_USRATTR(cfg_bts_radio_link_timeout, + cfg_bts_radio_link_timeout_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "radio-link-timeout <4-64>", + "Radio link timeout criterion (BTS side)\n" + "Radio link timeout value (lost SACCH block)\n") { struct gsm_bts *bts = vty->index; @@ -2896,10 +2966,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_radio_link_timeout_inf, cfg_bts_radio_link_timeout_inf_cmd, - "radio-link-timeout infinite", - "Radio link timeout criterion (BTS side)\n" - "Infinite Radio link timeout value (use only for BTS RF testing)\n") +DEFUN_USRATTR(cfg_bts_radio_link_timeout_inf, + cfg_bts_radio_link_timeout_inf_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "radio-link-timeout infinite", + "Radio link timeout criterion (BTS side)\n" + "Infinite Radio link timeout value (use only for BTS RF testing)\n") { struct gsm_bts *bts = vty->index; @@ -2925,12 +2997,14 @@ } \ } while (0) -DEFUN(cfg_bts_prs_bvci, cfg_bts_gprs_bvci_cmd, - "gprs cell bvci <2-65535>", - GPRS_TEXT - "GPRS Cell Settings\n" - "GPRS BSSGP VC Identifier\n" - "GPRS BSSGP VC Identifier\n") +DEFUN_USRATTR(cfg_bts_prs_bvci, + cfg_bts_gprs_bvci_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs cell bvci <2-65535>", + GPRS_TEXT + "GPRS Cell Settings\n" + "GPRS BSSGP VC Identifier\n" + "GPRS BSSGP VC Identifier\n") { /* ETSI TS 101 343: values 0 and 1 are reserved for signalling and PTM */ struct gsm_bts *bts = vty->index; @@ -2942,11 +3016,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_nsei, cfg_bts_gprs_nsei_cmd, - "gprs nsei <0-65535>", - GPRS_TEXT - "GPRS NS Entity Identifier\n" - "GPRS NS Entity Identifier\n") +DEFUN_USRATTR(cfg_bts_gprs_nsei, + cfg_bts_gprs_nsei_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs nsei <0-65535>", + GPRS_TEXT + "GPRS NS Entity Identifier\n" + "GPRS NS Entity Identifier\n") { struct gsm_bts *bts = vty->index; @@ -2960,11 +3036,13 @@ #define NSVC_TEXT "Network Service Virtual Connection (NS-VC)\n" \ "NSVC Logical Number\n" -DEFUN(cfg_bts_gprs_nsvci, cfg_bts_gprs_nsvci_cmd, - "gprs nsvc <0-1> nsvci <0-65535>", - GPRS_TEXT NSVC_TEXT - "NS Virtual Connection Identifier\n" - "GPRS NS VC Identifier\n") +DEFUN_USRATTR(cfg_bts_gprs_nsvci, + cfg_bts_gprs_nsvci_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs nsvc <0-1> nsvci <0-65535>", + GPRS_TEXT NSVC_TEXT + "NS Virtual Connection Identifier\n" + "GPRS NS VC Identifier\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -2976,13 +3054,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_nsvc_lport, cfg_bts_gprs_nsvc_lport_cmd, - "gprs nsvc <0-1> local udp port <0-65535>", - GPRS_TEXT NSVC_TEXT - "GPRS NS Local UDP Port\n" - "GPRS NS Local UDP Port\n" - "GPRS NS Local UDP Port\n" - "GPRS NS Local UDP Port Number\n") +DEFUN_USRATTR(cfg_bts_gprs_nsvc_lport, + cfg_bts_gprs_nsvc_lport_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs nsvc <0-1> local udp port <0-65535>", + GPRS_TEXT NSVC_TEXT + "GPRS NS Local UDP Port\n" + "GPRS NS Local UDP Port\n" + "GPRS NS Local UDP Port\n" + "GPRS NS Local UDP Port Number\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -2994,13 +3074,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_nsvc_rport, cfg_bts_gprs_nsvc_rport_cmd, - "gprs nsvc <0-1> remote udp port <0-65535>", - GPRS_TEXT NSVC_TEXT - "GPRS NS Remote UDP Port\n" - "GPRS NS Remote UDP Port\n" - "GPRS NS Remote UDP Port\n" - "GPRS NS Remote UDP Port Number\n") +DEFUN_USRATTR(cfg_bts_gprs_nsvc_rport, + cfg_bts_gprs_nsvc_rport_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs nsvc <0-1> remote udp port <0-65535>", + GPRS_TEXT NSVC_TEXT + "GPRS NS Remote UDP Port\n" + "GPRS NS Remote UDP Port\n" + "GPRS NS Remote UDP Port\n" + "GPRS NS Remote UDP Port Number\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -3012,12 +3094,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_nsvc_rip, cfg_bts_gprs_nsvc_rip_cmd, - "gprs nsvc <0-1> remote ip A.B.C.D", - GPRS_TEXT NSVC_TEXT - "GPRS NS Remote IP Address\n" - "GPRS NS Remote IP Address\n" - "GPRS NS Remote IP Address\n") +DEFUN_USRATTR(cfg_bts_gprs_nsvc_rip, + cfg_bts_gprs_nsvc_rip_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs nsvc <0-1> remote ip A.B.C.D", + GPRS_TEXT NSVC_TEXT + "GPRS NS Remote IP Address\n" + "GPRS NS Remote IP Address\n" + "GPRS NS Remote IP Address\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -3043,11 +3127,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_ns_timer, cfg_bts_gprs_ns_timer_cmd, - "gprs ns timer " NS_TIMERS " <0-255>", - GPRS_TEXT "Network Service\n" - "Network Service Timer\n" - NS_TIMERS_HELP "Timer Value\n") +DEFUN_USRATTR(cfg_bts_gprs_ns_timer, + cfg_bts_gprs_ns_timer_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs ns timer " NS_TIMERS " <0-255>", + GPRS_TEXT "Network Service\n" + "Network Service Timer\n" + NS_TIMERS_HELP "Timer Value\n") { struct gsm_bts *bts = vty->index; int idx = get_string_value(gprs_ns_timer_strs, argv[0]); @@ -3077,11 +3163,13 @@ "Tbvc-capa-update timeout\n" \ "Tbvc-capa-update retries\n" -DEFUN(cfg_bts_gprs_cell_timer, cfg_bts_gprs_cell_timer_cmd, - "gprs cell timer " BSSGP_TIMERS " <0-255>", - GPRS_TEXT "Cell / BSSGP\n" - "Cell/BSSGP Timer\n" - BSSGP_TIMERS_HELP "Timer Value\n") +DEFUN_USRATTR(cfg_bts_gprs_cell_timer, + cfg_bts_gprs_cell_timer_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs cell timer " BSSGP_TIMERS " <0-255>", + GPRS_TEXT "Cell / BSSGP\n" + "Cell/BSSGP Timer\n" + BSSGP_TIMERS_HELP "Timer Value\n") { struct gsm_bts *bts = vty->index; int idx = get_string_value(gprs_bssgp_cfg_strs, argv[0]); @@ -3097,12 +3185,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_rac, cfg_bts_gprs_rac_cmd, - "gprs routing area <0-255>", - GPRS_TEXT - "GPRS Routing Area Code\n" - "GPRS Routing Area Code\n" - "GPRS Routing Area Code\n") +DEFUN_USRATTR(cfg_bts_gprs_rac, + cfg_bts_gprs_rac_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs routing area <0-255>", + GPRS_TEXT + "GPRS Routing Area Code\n" + "GPRS Routing Area Code\n" + "GPRS Routing Area Code\n") { struct gsm_bts *bts = vty->index; @@ -3113,10 +3203,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_ctrl_ack, cfg_bts_gprs_ctrl_ack_cmd, - "gprs control-ack-type-rach", GPRS_TEXT - "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " - "four access bursts format instead of default RLC/MAC control block\n") +DEFUN_USRATTR(cfg_bts_gprs_ctrl_ack, + cfg_bts_gprs_ctrl_ack_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "gprs control-ack-type-rach", + GPRS_TEXT + "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " + "four access bursts format instead of default RLC/MAC control block\n") { struct gsm_bts *bts = vty->index; @@ -3127,10 +3220,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_no_bts_gprs_ctrl_ack, cfg_no_bts_gprs_ctrl_ack_cmd, - "no gprs control-ack-type-rach", NO_STR GPRS_TEXT - "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " - "default RLC/MAC control block\n") +DEFUN_USRATTR(cfg_no_bts_gprs_ctrl_ack, + cfg_no_bts_gprs_ctrl_ack_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "no gprs control-ack-type-rach", + NO_STR GPRS_TEXT + "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " + "default RLC/MAC control block\n") { struct gsm_bts *bts = vty->index; @@ -3141,13 +3237,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_net_ctrl_ord, cfg_bts_gprs_net_ctrl_ord_cmd, - "gprs network-control-order (nc0|nc1|nc2)", - GPRS_TEXT - "GPRS Network Control Order\n" - "MS controlled cell re-selection, no measurement reporting\n" - "MS controlled cell re-selection, MS sends measurement reports\n" - "Network controlled cell re-selection, MS sends measurement reports\n") +DEFUN_USRATTR(cfg_bts_gprs_net_ctrl_ord, + cfg_bts_gprs_net_ctrl_ord_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "gprs network-control-order (nc0|nc1|nc2)", + GPRS_TEXT + "GPRS Network Control Order\n" + "MS controlled cell re-selection, no measurement reporting\n" + "MS controlled cell re-selection, MS sends measurement reports\n" + "Network controlled cell re-selection, MS sends measurement reports\n") { struct gsm_bts *bts = vty->index; @@ -3158,13 +3256,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_mode, cfg_bts_gprs_mode_cmd, - "gprs mode (none|gprs|egprs)", - GPRS_TEXT - "GPRS Mode for this BTS\n" - "GPRS Disabled on this BTS\n" - "GPRS Enabled on this BTS\n" - "EGPRS (EDGE) Enabled on this BTS\n") +DEFUN_USRATTR(cfg_bts_gprs_mode, + cfg_bts_gprs_mode_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "gprs mode (none|gprs|egprs)", + GPRS_TEXT + "GPRS Mode for this BTS\n" + "GPRS Disabled on this BTS\n" + "GPRS Enabled on this BTS\n" + "EGPRS (EDGE) Enabled on this BTS\n") { struct gsm_bts *bts = vty->index; enum bts_gprs_mode mode = bts_gprs_mode_parse(argv[0], NULL); @@ -3208,10 +3308,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_egprs_pkt_chan_req, - cfg_bts_gprs_egprs_pkt_chan_req_cmd, - "gprs egprs-packet-channel-request", - GPRS_TEXT "EGPRS Packet Channel Request support") +DEFUN_USRATTR(cfg_bts_gprs_egprs_pkt_chan_req, + cfg_bts_gprs_egprs_pkt_chan_req_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "gprs egprs-packet-channel-request", + GPRS_TEXT "EGPRS Packet Channel Request support") { struct gsm_bts *bts = vty->index; @@ -3225,10 +3326,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_no_gprs_egprs_pkt_chan_req, - cfg_bts_no_gprs_egprs_pkt_chan_req_cmd, - "no gprs egprs-packet-channel-request", - NO_STR GPRS_TEXT "EGPRS Packet Channel Request support") +DEFUN_USRATTR(cfg_bts_no_gprs_egprs_pkt_chan_req, + cfg_bts_no_gprs_egprs_pkt_chan_req_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "no gprs egprs-packet-channel-request", + NO_STR GPRS_TEXT "EGPRS Packet Channel Request support") { struct gsm_bts *bts = vty->index; @@ -3266,12 +3368,14 @@ "System Information Type 5bis\n" \ "System Information Type 5ter\n" -DEFUN(cfg_bts_si_mode, cfg_bts_si_mode_cmd, - "system-information " SI_TYPE_TEXT " mode (static|computed)", - SI_TEXT SI_TYPE_HELP - "System Information Mode\n" - "Static user-specified\n" - "Dynamic, BSC-computed\n") +DEFUN_USRATTR(cfg_bts_si_mode, + cfg_bts_si_mode_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "system-information " SI_TYPE_TEXT " mode (static|computed)", + SI_TEXT SI_TYPE_HELP + "System Information Mode\n" + "Static user-specified\n" + "Dynamic, BSC-computed\n") { struct gsm_bts *bts = vty->index; int type; @@ -3290,11 +3394,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_si_static, cfg_bts_si_static_cmd, - "system-information " SI_TYPE_TEXT " static HEXSTRING", - SI_TEXT SI_TYPE_HELP - "Static System Information filling\n" - "Static user-specified SI content in HEX notation\n") +DEFUN_USRATTR(cfg_bts_si_static, + cfg_bts_si_static_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "system-information " SI_TYPE_TEXT " static HEXSTRING", + SI_TEXT SI_TYPE_HELP + "Static System Information filling\n" + "Static user-specified SI content in HEX notation\n") { struct gsm_bts *bts = vty->index; int rc, type; @@ -3327,11 +3433,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_si_unused_send_empty, cfg_bts_si_unused_send_empty_cmd, - "system-information unused-send-empty", - SI_TEXT - "Send BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. " - "Some nanoBTS fw versions are known to fail upon receival of these messages.\n") +DEFUN_USRATTR(cfg_bts_si_unused_send_empty, + cfg_bts_si_unused_send_empty_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "system-information unused-send-empty", + SI_TEXT + "Send BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. " + "Some nanoBTS fw versions are known to fail upon receival of these messages.\n") { struct gsm_bts *bts = vty->index; @@ -3340,11 +3448,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_no_si_unused_send_empty, cfg_bts_no_si_unused_send_empty_cmd, - "no system-information unused-send-empty", - NO_STR SI_TEXT - "Avoid sending BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. " - "Some nanoBTS fw versions are known to fail upon receival of these messages.\n") +DEFUN_USRATTR(cfg_bts_no_si_unused_send_empty, + cfg_bts_no_si_unused_send_empty_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "no system-information unused-send-empty", + NO_STR SI_TEXT + "Avoid sending BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. " + "Some nanoBTS fw versions are known to fail upon receival of these messages.\n") { struct gsm_bts *bts = vty->index; @@ -3359,11 +3469,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_early_cm, cfg_bts_early_cm_cmd, - "early-classmark-sending (allowed|forbidden)", - "Early Classmark Sending\n" - "Early Classmark Sending is allowed\n" - "Early Classmark Sending is forbidden\n") +DEFUN_USRATTR(cfg_bts_early_cm, + cfg_bts_early_cm_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "early-classmark-sending (allowed|forbidden)", + "Early Classmark Sending\n" + "Early Classmark Sending is allowed\n" + "Early Classmark Sending is forbidden\n") { struct gsm_bts *bts = vty->index; @@ -3375,11 +3487,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_early_cm_3g, cfg_bts_early_cm_3g_cmd, - "early-classmark-sending-3g (allowed|forbidden)", - "3G Early Classmark Sending\n" - "3G Early Classmark Sending is allowed\n" - "3G Early Classmark Sending is forbidden\n") +DEFUN_USRATTR(cfg_bts_early_cm_3g, + cfg_bts_early_cm_3g_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "early-classmark-sending-3g (allowed|forbidden)", + "3G Early Classmark Sending\n" + "3G Early Classmark Sending is allowed\n" + "3G Early Classmark Sending is forbidden\n") { struct gsm_bts *bts = vty->index; @@ -3391,11 +3505,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_neigh_mode, cfg_bts_neigh_mode_cmd, - "neighbor-list mode (automatic|manual|manual-si5)", - "Neighbor List\n" "Mode of Neighbor List generation\n" - "Automatically from all BTS in this BSC\n" "Manual\n" - "Manual with different lists for SI2 and SI5\n") +DEFUN_USRATTR(cfg_bts_neigh_mode, + cfg_bts_neigh_mode_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "neighbor-list mode (automatic|manual|manual-si5)", + "Neighbor List\n" "Mode of Neighbor List generation\n" + "Automatically from all BTS in this BSC\n" "Manual\n" + "Manual with different lists for SI2 and SI5\n") { struct gsm_bts *bts = vty->index; int mode = get_string_value(bts_neigh_mode_strs, argv[0]); @@ -3418,11 +3534,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_neigh, cfg_bts_neigh_cmd, - "neighbor-list (add|del) arfcn <0-1023>", - "Neighbor List\n" "Add to manual neighbor list\n" - "Delete from manual neighbor list\n" "ARFCN of neighbor\n" - "ARFCN of neighbor\n") +DEFUN_USRATTR(cfg_bts_neigh, + cfg_bts_neigh_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "neighbor-list (add|del) arfcn <0-1023>", + "Neighbor List\n" "Add to manual neighbor list\n" + "Delete from manual neighbor list\n" "ARFCN of neighbor\n" + "ARFCN of neighbor\n") { struct gsm_bts *bts = vty->index; struct bitvec *bv = &bts->si_common.neigh_list; @@ -3449,17 +3567,19 @@ } /* help text should be kept in sync with EARFCN_*_INVALID defines */ -DEFUN(cfg_bts_si2quater_neigh_add, cfg_bts_si2quater_neigh_add_cmd, - "si2quater neighbor-list add earfcn <0-65535> thresh-hi <0-31> " - "thresh-lo <0-32> prio <0-8> qrxlv <0-32> meas <0-8>", - "SI2quater Neighbor List\n" "SI2quater Neighbor List\n" - "Add to manual SI2quater neighbor list\n" - "EARFCN of neighbor\n" "EARFCN of neighbor\n" - "threshold high bits\n" "threshold high bits\n" - "threshold low bits\n" "threshold low bits (32 means NA)\n" - "priority\n" "priority (8 means NA)\n" - "QRXLEVMIN\n" "QRXLEVMIN (32 means NA)\n" - "measurement bandwidth\n" "measurement bandwidth (8 means NA)\n") +DEFUN_USRATTR(cfg_bts_si2quater_neigh_add, + cfg_bts_si2quater_neigh_add_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "si2quater neighbor-list add earfcn <0-65535> thresh-hi <0-31> " + "thresh-lo <0-32> prio <0-8> qrxlv <0-32> meas <0-8>", + "SI2quater Neighbor List\n" "SI2quater Neighbor List\n" + "Add to manual SI2quater neighbor list\n" + "EARFCN of neighbor\n" "EARFCN of neighbor\n" + "threshold high bits\n" "threshold high bits\n" + "threshold low bits\n" "threshold low bits (32 means NA)\n" + "priority\n" "priority (8 means NA)\n" + "QRXLEVMIN\n" "QRXLEVMIN (32 means NA)\n" + "measurement bandwidth\n" "measurement bandwidth (8 means NA)\n") { struct gsm_bts *bts = vty->index; struct osmo_earfcn_si2q *e = &bts->si_common.si2quater_neigh_list; @@ -3502,13 +3622,15 @@ return CMD_WARNING; } -DEFUN(cfg_bts_si2quater_neigh_del, cfg_bts_si2quater_neigh_del_cmd, - "si2quater neighbor-list del earfcn <0-65535>", - "SI2quater Neighbor List\n" - "SI2quater Neighbor List\n" - "Delete from SI2quater manual neighbor list\n" - "EARFCN of neighbor\n" - "EARFCN\n") +DEFUN_USRATTR(cfg_bts_si2quater_neigh_del, + cfg_bts_si2quater_neigh_del_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "si2quater neighbor-list del earfcn <0-65535>", + "SI2quater Neighbor List\n" + "SI2quater Neighbor List\n" + "Delete from SI2quater manual neighbor list\n" + "EARFCN of neighbor\n" + "EARFCN\n") { struct gsm_bts *bts = vty->index; struct osmo_earfcn_si2q *e = &bts->si_common.si2quater_neigh_list; @@ -3523,12 +3645,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_si2quater_uarfcn_add, cfg_bts_si2quater_uarfcn_add_cmd, - "si2quater neighbor-list add uarfcn <0-16383> <0-511> <0-1>", - "SI2quater Neighbor List\n" - "SI2quater Neighbor List\n" "Add to manual SI2quater neighbor list\n" - "UARFCN of neighbor\n" "UARFCN of neighbor\n" "scrambling code\n" - "diversity bit\n") +DEFUN_USRATTR(cfg_bts_si2quater_uarfcn_add, + cfg_bts_si2quater_uarfcn_add_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "si2quater neighbor-list add uarfcn <0-16383> <0-511> <0-1>", + "SI2quater Neighbor List\n" + "SI2quater Neighbor List\n" "Add to manual SI2quater neighbor list\n" + "UARFCN of neighbor\n" "UARFCN of neighbor\n" "scrambling code\n" + "diversity bit\n") { struct gsm_bts *bts = vty->index; uint16_t arfcn = atoi(argv[0]), scramble = atoi(argv[1]); @@ -3551,14 +3675,16 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_si2quater_uarfcn_del, cfg_bts_si2quater_uarfcn_del_cmd, - "si2quater neighbor-list del uarfcn <0-16383> <0-511>", - "SI2quater Neighbor List\n" - "SI2quater Neighbor List\n" - "Delete from SI2quater manual neighbor list\n" - "UARFCN of neighbor\n" - "UARFCN\n" - "scrambling code\n") +DEFUN_USRATTR(cfg_bts_si2quater_uarfcn_del, + cfg_bts_si2quater_uarfcn_del_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "si2quater neighbor-list del uarfcn <0-16383> <0-511>", + "SI2quater Neighbor List\n" + "SI2quater Neighbor List\n" + "Delete from SI2quater manual neighbor list\n" + "UARFCN of neighbor\n" + "UARFCN\n" + "scrambling code\n") { struct gsm_bts *bts = vty->index; @@ -3571,12 +3697,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_si5_neigh, cfg_bts_si5_neigh_cmd, - "si5 neighbor-list (add|del) arfcn <0-1023>", - "SI5 Neighbor List\n" - "SI5 Neighbor List\n" "Add to manual SI5 neighbor list\n" - "Delete from SI5 manual neighbor list\n" "ARFCN of neighbor\n" - "ARFCN of neighbor\n") +DEFUN_USRATTR(cfg_bts_si5_neigh, + cfg_bts_si5_neigh_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "si5 neighbor-list (add|del) arfcn <0-1023>", + "SI5 Neighbor List\n" + "SI5 Neighbor List\n" "Add to manual SI5 neighbor list\n" + "Delete from SI5 manual neighbor list\n" "ARFCN of neighbor\n" + "ARFCN of neighbor\n") { enum gsm_band unused; struct gsm_bts *bts = vty->index; @@ -3602,10 +3730,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_pcu_sock, cfg_bts_pcu_sock_cmd, - "pcu-socket PATH", - "PCU Socket Path for using OsmoPCU co-located with BSC (legacy BTS)\n" - "Path in the file system for the unix-domain PCU socket\n") +DEFUN_USRATTR(cfg_bts_pcu_sock, + cfg_bts_pcu_sock_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "pcu-socket PATH", + "PCU Socket Path for using OsmoPCU co-located with BSC (legacy BTS)\n" + "Path in the file system for the unix-domain PCU socket\n") { struct gsm_bts *bts = vty->index; int rc; @@ -3784,10 +3914,11 @@ #define FORCE_COMB_SI_STR "Force the generation of a single SI (no ter/bis)\n" -DEFUN(cfg_bts_force_comb_si, - cfg_bts_force_comb_si_cmd, - "force-combined-si", - FORCE_COMB_SI_STR) +DEFUN_USRATTR(cfg_bts_force_comb_si, + cfg_bts_force_comb_si_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "force-combined-si", + FORCE_COMB_SI_STR) { struct gsm_bts *bts = vty->index; bts->force_combined_si = 1; @@ -3795,10 +3926,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_no_force_comb_si, - cfg_bts_no_force_comb_si_cmd, - "no force-combined-si", - NO_STR FORCE_COMB_SI_STR) +DEFUN_USRATTR(cfg_bts_no_force_comb_si, + cfg_bts_no_force_comb_si_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "no force-combined-si", + NO_STR FORCE_COMB_SI_STR) { struct gsm_bts *bts = vty->index; bts->force_combined_si = 0; @@ -4371,11 +4503,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_trx_arfcn, - cfg_trx_arfcn_cmd, - "arfcn <0-1023>", - "Set the ARFCN for this TRX\n" - "Absolute Radio Frequency Channel Number\n") +DEFUN_USRATTR(cfg_trx_arfcn, + cfg_trx_arfcn_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "arfcn <0-1023>", + "Set the ARFCN for this TRX\n" + "Absolute Radio Frequency Channel Number\n") { enum gsm_band unused; struct gsm_bts_trx *trx = vty->index; @@ -4411,11 +4544,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_trx_max_power_red, - cfg_trx_max_power_red_cmd, - "max_power_red <0-100>", - "Reduction of maximum BS RF Power (relative to nominal power)\n" - "Reduction of maximum BS RF Power in dB\n") +DEFUN_USRATTR(cfg_trx_max_power_red, + cfg_trx_max_power_red_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "max_power_red <0-100>", + "Reduction of maximum BS RF Power (relative to nominal power)\n" + "Reduction of maximum BS RF Power in dB\n") { int maxpwr_r = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; @@ -4440,21 +4574,22 @@ return CMD_SUCCESS; } -DEFUN(cfg_trx_rsl_e1, - cfg_trx_rsl_e1_cmd, - "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "RSL Parameters\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 Line Number to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Sub-slot to be used for RSL\n" - "E1/T1 Sub-slot 0 is to be used for RSL\n" - "E1/T1 Sub-slot 1 is to be used for RSL\n" - "E1/T1 Sub-slot 2 is to be used for RSL\n" - "E1/T1 Sub-slot 3 is to be used for RSL\n" - "E1/T1 full timeslot is to be used for RSL\n") +DEFUN_USRATTR(cfg_trx_rsl_e1, + cfg_trx_rsl_e1_cmd, + 0x00, /* FIXME: BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK? */ + "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "RSL Parameters\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 Line Number to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Sub-slot to be used for RSL\n" + "E1/T1 Sub-slot 0 is to be used for RSL\n" + "E1/T1 Sub-slot 1 is to be used for RSL\n" + "E1/T1 Sub-slot 2 is to be used for RSL\n" + "E1/T1 Sub-slot 3 is to be used for RSL\n" + "E1/T1 full timeslot is to be used for RSL\n") { struct gsm_bts_trx *trx = vty->index; @@ -4463,13 +4598,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_trx_rsl_e1_tei, - cfg_trx_rsl_e1_tei_cmd, - "rsl e1 tei <0-63>", - "RSL Parameters\n" - "Set the TEI to be used for RSL\n" - "Set the TEI to be used for RSL\n" - "TEI to be used for RSL\n") +DEFUN_USRATTR(cfg_trx_rsl_e1_tei, + cfg_trx_rsl_e1_tei_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "rsl e1 tei <0-63>", + "RSL Parameters\n" + "Set the TEI to be used for RSL\n" + "Set the TEI to be used for RSL\n" + "TEI to be used for RSL\n") { struct gsm_bts_trx *trx = vty->index; @@ -4517,10 +4653,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_pchan, - cfg_ts_pchan_cmd, - "phys_chan_config PCHAN", /* dynamically generated! */ - "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") +DEFUN_USRATTR(cfg_ts_pchan, + cfg_ts_pchan_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "phys_chan_config PCHAN", /* dynamically generated! */ + "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") { struct gsm_bts_trx_ts *ts = vty->index; int pchanc; @@ -4557,10 +4694,11 @@ -DEFUN(cfg_ts_tsc, - cfg_ts_tsc_cmd, - "training_sequence_code <0-7>", - "Training Sequence Code of the Timeslot\n" "TSC\n") +DEFUN_USRATTR(cfg_ts_tsc, + cfg_ts_tsc_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "training_sequence_code <0-7>", + "Training Sequence Code of the Timeslot\n" "TSC\n") { struct gsm_bts_trx_ts *ts = vty->index; @@ -4578,11 +4716,12 @@ #define HOPPING_STR "Configure frequency hopping\n" -DEFUN(cfg_ts_hopping, - cfg_ts_hopping_cmd, - "hopping enabled (0|1)", - HOPPING_STR "Enable or disable frequency hopping\n" - "Disable frequency hopping\n" "Enable frequency hopping\n") +DEFUN_USRATTR(cfg_ts_hopping, + cfg_ts_hopping_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "hopping enabled (0|1)", + HOPPING_STR "Enable or disable frequency hopping\n" + "Disable frequency hopping\n" "Enable frequency hopping\n") { struct gsm_bts_trx_ts *ts = vty->index; int enabled = atoi(argv[0]); @@ -4599,12 +4738,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_hsn, - cfg_ts_hsn_cmd, - "hopping sequence-number <0-63>", - HOPPING_STR - "Which hopping sequence to use for this channel\n" - "Hopping Sequence Number (HSN)\n") +DEFUN_USRATTR(cfg_ts_hsn, + cfg_ts_hsn_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "hopping sequence-number <0-63>", + HOPPING_STR + "Which hopping sequence to use for this channel\n" + "Hopping Sequence Number (HSN)\n") { struct gsm_bts_trx_ts *ts = vty->index; @@ -4613,12 +4753,13 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_maio, - cfg_ts_maio_cmd, - "hopping maio <0-63>", - HOPPING_STR - "Which hopping MAIO to use for this channel\n" - "Mobile Allocation Index Offset (MAIO)\n") +DEFUN_USRATTR(cfg_ts_maio, + cfg_ts_maio_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "hopping maio <0-63>", + HOPPING_STR + "Which hopping MAIO to use for this channel\n" + "Mobile Allocation Index Offset (MAIO)\n") { struct gsm_bts_trx_ts *ts = vty->index; @@ -4627,11 +4768,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_arfcn_add, - cfg_ts_arfcn_add_cmd, - "hopping arfcn add <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Add an entry to the hopping ARFCN list\n" "ARFCN\n") +DEFUN_USRATTR(cfg_ts_arfcn_add, + cfg_ts_arfcn_add_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "hopping arfcn add <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Add an entry to the hopping ARFCN list\n" "ARFCN\n") { enum gsm_band unused; struct gsm_bts_trx_ts *ts = vty->index; @@ -4647,11 +4789,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_arfcn_del, - cfg_ts_arfcn_del_cmd, - "hopping arfcn del <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") +DEFUN_USRATTR(cfg_ts_arfcn_del, + cfg_ts_arfcn_del_cmd, + BSC_VTY_ATTR_RESTART_ABIS_OML_LINK, + "hopping arfcn del <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") { enum gsm_band unused; struct gsm_bts_trx_ts *ts = vty->index; @@ -4667,20 +4810,21 @@ return CMD_SUCCESS; } -DEFUN(cfg_ts_e1_subslot, - cfg_ts_e1_subslot_cmd, - "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 line connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 sub-slot connected to this on-air timeslot\n" - "E1/T1 sub-slot 0 connected to this on-air timeslot\n" - "E1/T1 sub-slot 1 connected to this on-air timeslot\n" - "E1/T1 sub-slot 2 connected to this on-air timeslot\n" - "E1/T1 sub-slot 3 connected to this on-air timeslot\n" - "Full E1/T1 timeslot connected to this on-air timeslot\n") +DEFUN_USRATTR(cfg_ts_e1_subslot, + cfg_ts_e1_subslot_cmd, + 0x00, /* FIXME: BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK? */ + "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 line connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 sub-slot connected to this on-air timeslot\n" + "E1/T1 sub-slot 0 connected to this on-air timeslot\n" + "E1/T1 sub-slot 1 connected to this on-air timeslot\n" + "E1/T1 sub-slot 2 connected to this on-air timeslot\n" + "E1/T1 sub-slot 3 connected to this on-air timeslot\n" + "Full E1/T1 timeslot connected to this on-air timeslot\n") { struct gsm_bts_trx_ts *ts = vty->index; @@ -5204,13 +5348,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_ncc, - cfg_net_ncc_cmd, - "network country code <1-999>", - "Set the GSM network country code\n" - "Country commands\n" - CODE_CMD_STR - "Network Country Code to use\n") +DEFUN_USRATTR(cfg_net_ncc, + cfg_net_ncc_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "network country code <1-999>", + "Set the GSM network country code\n" + "Country commands\n" + CODE_CMD_STR + "Network Country Code to use\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); uint16_t mcc; @@ -5225,13 +5370,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_mnc, - cfg_net_mnc_cmd, - "mobile network code <0-999>", - "Set the GSM mobile network code\n" - "Network Commands\n" - CODE_CMD_STR - "Mobile Network Code to use\n") +DEFUN_USRATTR(cfg_net_mnc, + cfg_net_mnc_cmd, + BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, + "mobile network code <0-999>", + "Set the GSM mobile network code\n" + "Network Commands\n" + CODE_CMD_STR + "Mobile Network Code to use\n") { struct gsm_network *gsmnet = gsmnet_from_vty(vty); uint16_t mnc; @@ -5343,12 +5489,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_per_loc_upd, cfg_net_per_loc_upd_cmd, - "periodic location update <6-1530>", - "Periodic Location Updating Interval\n" - "Periodic Location Updating Interval\n" - "Periodic Location Updating Interval\n" - "Periodic Location Updating Interval in Minutes\n") +/* FIXME: changing this value would not affect generated System Information */ +DEFUN_USRATTR(cfg_net_per_loc_upd, + cfg_net_per_loc_upd_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "periodic location update <6-1530>", + "Periodic Location Updating Interval\n" + "Periodic Location Updating Interval\n" + "Periodic Location Updating Interval\n" + "Periodic Location Updating Interval in Minutes\n") { struct gsm_network *net = vty->index; struct osmo_tdef *d = osmo_tdef_get_entry(net->T_defs, 3212); @@ -5359,12 +5508,15 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_no_per_loc_upd, cfg_net_no_per_loc_upd_cmd, - "no periodic location update", - NO_STR - "Periodic Location Updating Interval\n" - "Periodic Location Updating Interval\n" - "Periodic Location Updating Interval\n") +/* FIXME: changing this value would not affect generated System Information */ +DEFUN_USRATTR(cfg_net_no_per_loc_upd, + cfg_net_no_per_loc_upd_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "no periodic location update", + NO_STR + "Periodic Location Updating Interval\n" + "Periodic Location Updating Interval\n" + "Periodic Location Updating Interval\n") { struct gsm_network *net = vty->index; struct osmo_tdef *d = osmo_tdef_get_entry(net->T_defs, 3212); @@ -5423,9 +5575,11 @@ return osmo_tdef_vty_set_cmd(vty, net->T_defs, argv); } -DEFUN(cfg_net_allow_unusable_timeslots, cfg_net_allow_unusable_timeslots_cmd, - "allow-unusable-timeslots", - "Don't refuse to start with mutually exclusive codec settings\n") +DEFUN_USRATTR(cfg_net_allow_unusable_timeslots, + cfg_net_allow_unusable_timeslots_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "allow-unusable-timeslots", + "Don't refuse to start with mutually exclusive codec settings\n") { struct gsm_network *net = gsmnet_from_vty(vty); net->allow_unusable_timeslots = true; @@ -5817,10 +5971,11 @@ addr->ssn = OSMO_SCCP_SSN_BSSAP; } -DEFUN(cfg_msc_cs7_bsc_addr, - cfg_msc_cs7_bsc_addr_cmd, - "bsc-addr NAME", - "Calling Address (local address of this BSC)\n" "SCCP address name\n") +DEFUN_USRATTR(cfg_msc_cs7_bsc_addr, + cfg_msc_cs7_bsc_addr_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "bsc-addr NAME", + "Calling Address (local address of this BSC)\n" "SCCP address name\n") { struct bsc_msc_data *msc = bsc_msc_data(vty); const char *bsc_addr_name = argv[0]; @@ -5849,10 +6004,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_msc_cs7_msc_addr, - cfg_msc_cs7_msc_addr_cmd, - "msc-addr NAME", - "Called Address (remote address of the MSC)\n" "SCCP address name\n") +DEFUN_USRATTR(cfg_msc_cs7_msc_addr, + cfg_msc_cs7_msc_addr_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "msc-addr NAME", + "Called Address (remote address of the MSC)\n" "SCCP address name\n") { struct bsc_msc_data *msc = bsc_msc_data(vty); const char *msc_addr_name = argv[0]; @@ -5881,13 +6037,14 @@ return CMD_SUCCESS; } -DEFUN(cfg_msc_cs7_asp_proto, - cfg_msc_cs7_asp_proto_cmd, - "asp-protocol (m3ua|sua|ipa)", - "A interface protocol to use for this MSC)\n" - "MTP3 User Adaptation\n" - "SCCP User Adaptation\n" - "IPA Multiplex (SCCP Lite)\n") +DEFUN_USRATTR(cfg_msc_cs7_asp_proto, + cfg_msc_cs7_asp_proto_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "asp-protocol (m3ua|sua|ipa)", + "A interface protocol to use for this MSC)\n" + "MTP3 User Adaptation\n" + "SCCP User Adaptation\n" + "IPA Multiplex (SCCP Lite)\n") { struct bsc_msc_data *msc = bsc_msc_data(vty); @@ -5985,10 +6142,11 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_rf_socket, - cfg_net_rf_socket_cmd, - "bsc-rf-socket PATH", - "Set the filename for the RF control interface.\n" "RF Control path\n") +DEFUN_USRATTR(cfg_net_rf_socket, + cfg_net_rf_socket_cmd, + BSC_VTY_ATTR_RESTART_FULL, + "bsc-rf-socket PATH", + "Set the filename for the RF control interface.\n" "RF Control path\n") { osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, argv[0]); return CMD_SUCCESS; diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 84b44f7..dd0328c 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -641,6 +641,7 @@ .version = PACKAGE_VERSION, .go_parent_cb = bsc_vty_go_parent, .is_config_node = bsc_vty_is_config_node, + .attr_desc = bsc_vty_cmd_attr_desc, }; extern int bsc_shutdown_net(struct gsm_network *net); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 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 Aug 16 10:16:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 10:16:03 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply 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/+/19670 to look at the new patch set (#2). Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... vty: add attributes to VTY commands indicating when they apply Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Depends: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 699 insertions(+), 533 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/19670/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 10:17:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 10:17:37 +0000 Subject: Change in libosmocore[master]: vty/command: introduce CMD_ATTR_REQ_RESTART attribute In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19576 ) Change subject: vty/command: introduce CMD_ATTR_REQ_RESTART attribute ...................................................................... Patch Set 1: > Patch Set 1: > > > I actually implemented what you described first, and then found myself asking how many potential variations of "when it applies" would we need. > > I imagine a free-text attribute that indicates which vty command effects the config to apply. > > to-apply: oml drop > to-apply: no active; active > to-apply: full restart > > would that be possible? Please see https://gerrit.osmocom.org/c/libosmocore/+/19667 (the actual implementation) and https://gerrit.osmocom.org/c/osmo-bsc/+/19670 (tagged commands example). Your feedback is welcome! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie4ae73936ef08755f7bf0d1095d4d649adf498ae Gerrit-Change-Number: 19576 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Sun, 16 Aug 2020 10:17:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 12:53:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:53:27 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Add static IPv6 addresses to containers References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19671 ) Change subject: ttcn3-ggsn-test: Add static IPv6 addresses to containers ...................................................................... ttcn3-ggsn-test: Add static IPv6 addresses to containers Change-Id: Id8656f09eb1d879153dc4034bd562596ee6e35db --- M ttcn3-ggsn-test/jenkins.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/19671/1 diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index 7e25a9b..f6d5867 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -19,7 +19,7 @@ --device /dev/net/tun:/dev/net/tun \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ --rm \ - --network $NET_NAME --ip 172.18.3.201 \ + --network $NET_NAME --ip 172.18.3.201 --ip6 fd02:db8:3::201 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ @@ -30,7 +30,7 @@ # start docker container with testsuite in foreground docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.3.202 \ + --network $NET_NAME --ip 172.18.3.202 --ip6 fd02:db8:3::202 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id8656f09eb1d879153dc4034bd562596ee6e35db Gerrit-Change-Number: 19671 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 Aug 16 12:53:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:53:28 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19672 ) Change subject: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" ...................................................................... ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" We cannot rely on every test slave always having proper IPv6 conenctivity to a public DNS server, and that DNS server to respond to ICMPv6 echo request. We're testing half of the internet instead of our GGSN. Let's use the IPv6 address of the docker container running the test sute, which is guaranteed to always exist. We have no problems with routing, as the ICMPv6 is hand-crafted and encapsulated into GTP before it's sent to the kernel IP stack - so basically on the transmit side, the kernel doesn't know anything about the destination address of the encapsulated IPv6 packet. Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 --- M ttcn3-ggsn-test/GGSN_Tests.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/72/19672/1 diff --git a/ttcn3-ggsn-test/GGSN_Tests.cfg b/ttcn3-ggsn-test/GGSN_Tests.cfg index 064bf37..36603c8 100644 --- a/ttcn3-ggsn-test/GGSN_Tests.cfg +++ b/ttcn3-ggsn-test/GGSN_Tests.cfg @@ -17,6 +17,7 @@ GGSN_Tests.m_ggsn_ip_gtpu := "172.18.3.201" # GGSN announced DNS address GGSN_Tests.m_ggsn_ip4_dns1 := "172.18.3.201" +GGSN_Tests.m_ggsn_ip6_dns1 := "fd02:db8:3::201" [EXECUTE] GGSN_Tests.control diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 7dff25f..972ee93 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -58,7 +58,7 @@ tun-device tun6 type-support v6 ipv6 prefix dynamic 2001:780:44:2000:0:0:0:0/56 - ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 0 fd02:db8:3::201 ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2000:0:0:0:0/56 no shutdown @@ -71,7 +71,7 @@ ip dns 1 8.8.8.8 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 - ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 0 fd02:db8:3::201 ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2100:0:0:0:0/56 no shutdown -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 Gerrit-Change-Number: 19672 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 Aug 16 12:54:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:54:09 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/19672 ) Change subject: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" ...................................................................... ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" We cannot rely on every test slave always having proper IPv6 conenctivity to a public DNS server, and that DNS server to respond to ICMPv6 echo request. We're testing half of the internet instead of our GGSN. Let's use the IPv6 address of the docker container running the test sute, which is guaranteed to always exist. We have no problems with routing, as the ICMPv6 is hand-crafted and encapsulated into GTP before it's sent to the kernel IP stack - so basically on the transmit side, the kernel doesn't know anything about the destination address of the encapsulated IPv6 packet. Closes: OS#4713 Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 --- M ttcn3-ggsn-test/GGSN_Tests.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/72/19672/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 Gerrit-Change-Number: 19672 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 12:55:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:55:09 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Add static IPv6 addresses to containers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19671 ) Change subject: ttcn3-ggsn-test: Add static IPv6 addresses to containers ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id8656f09eb1d879153dc4034bd562596ee6e35db Gerrit-Change-Number: 19671 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Aug 2020 12:55:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 12:55:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:55:15 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19672 ) Change subject: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 Gerrit-Change-Number: 19672 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Aug 2020 12:55:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 12:55:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:55:21 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Add static IPv6 addresses to containers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19671 ) Change subject: ttcn3-ggsn-test: Add static IPv6 addresses to containers ...................................................................... ttcn3-ggsn-test: Add static IPv6 addresses to containers Change-Id: Id8656f09eb1d879153dc4034bd562596ee6e35db --- M ttcn3-ggsn-test/jenkins.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index 7e25a9b..f6d5867 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -19,7 +19,7 @@ --device /dev/net/tun:/dev/net/tun \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ --rm \ - --network $NET_NAME --ip 172.18.3.201 \ + --network $NET_NAME --ip 172.18.3.201 --ip6 fd02:db8:3::201 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ @@ -30,7 +30,7 @@ # start docker container with testsuite in foreground docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.3.202 \ + --network $NET_NAME --ip 172.18.3.202 --ip6 fd02:db8:3::202 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id8656f09eb1d879153dc4034bd562596ee6e35db Gerrit-Change-Number: 19671 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 Sun Aug 16 12:55:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 12:55:22 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19672 ) Change subject: ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" ...................................................................... ttcn3-ggsn-test: Use IPv6 address of the tester as "DNS1" We cannot rely on every test slave always having proper IPv6 conenctivity to a public DNS server, and that DNS server to respond to ICMPv6 echo request. We're testing half of the internet instead of our GGSN. Let's use the IPv6 address of the docker container running the test sute, which is guaranteed to always exist. We have no problems with routing, as the ICMPv6 is hand-crafted and encapsulated into GTP before it's sent to the kernel IP stack - so basically on the transmit side, the kernel doesn't know anything about the destination address of the encapsulated IPv6 packet. Closes: OS#4713 Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 --- M ttcn3-ggsn-test/GGSN_Tests.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-ggsn-test/GGSN_Tests.cfg b/ttcn3-ggsn-test/GGSN_Tests.cfg index 064bf37..36603c8 100644 --- a/ttcn3-ggsn-test/GGSN_Tests.cfg +++ b/ttcn3-ggsn-test/GGSN_Tests.cfg @@ -17,6 +17,7 @@ GGSN_Tests.m_ggsn_ip_gtpu := "172.18.3.201" # GGSN announced DNS address GGSN_Tests.m_ggsn_ip4_dns1 := "172.18.3.201" +GGSN_Tests.m_ggsn_ip6_dns1 := "fd02:db8:3::201" [EXECUTE] GGSN_Tests.control diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 7dff25f..972ee93 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -58,7 +58,7 @@ tun-device tun6 type-support v6 ipv6 prefix dynamic 2001:780:44:2000:0:0:0:0/56 - ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 0 fd02:db8:3::201 ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2000:0:0:0:0/56 no shutdown @@ -71,7 +71,7 @@ ip dns 1 8.8.8.8 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 - ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 0 fd02:db8:3::201 ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2100:0:0:0:0/56 no shutdown -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1377ffa2cc6980168297d5ff5c81fa5dad94d7a9 Gerrit-Change-Number: 19672 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 Sun Aug 16 13:52:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 13:52:13 +0000 Subject: Change in simtrace2[master]: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/19673 ) Change subject: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) ...................................................................... dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) We are not using any PIO interrupts from DFU mode. It's only used in the main application firmware (verified by "git grep PIO_ConfigureIt") Change-Id: Id1447af519df3183061f3d3f156a8dd84789af16 --- M firmware/apps/dfu/main.c 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/73/19673/1 diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c index 2e80884..aa0adfd 100644 --- a/firmware/apps/dfu/main.c +++ b/firmware/apps/dfu/main.c @@ -265,8 +265,6 @@ PIO_Clear(&pinsLeds[LED_NUM_GREEN]); #endif - PIO_InitializeInterrupts(0); - EEFC_ReadUniqueID(g_unique_id); printf("\n\r\n\r" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id1447af519df3183061f3d3f156a8dd84789af16 Gerrit-Change-Number: 19673 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 Aug 16 13:52:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 13:52:14 +0000 Subject: Change in simtrace2[master]: dfu: Save another 60 bytes by changing the way we print horizontal lines References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/19674 ) Change subject: dfu: Save another 60 bytes by changing the way we print horizontal lines ...................................................................... dfu: Save another 60 bytes by changing the way we print horizontal lines Change-Id: I1660a04fb3e42200bc2fdd23aa114119620125a1 --- M firmware/apps/dfu/main.c 1 file changed, 16 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/74/19674/1 diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c index aa0adfd..f8c0c53 100644 --- a/firmware/apps/dfu/main.c +++ b/firmware/apps/dfu/main.c @@ -243,6 +243,17 @@ //board_exec_dbg_cmd(ch); } +/* print a horizontal line of '=' characters; Doing this in a loop vs. using a 'const' + * string saves us ~60 bytes of executable size (matters particularly for DFU loader) */ +static void print_line(void) +{ + int i; + for (i = 0; i < 78; i++) + fputc('=', stdout); + fputc('\n', stdout); + fputc('\r', stdout); +} + /*------------------------------------------------------------------------------ * Main *------------------------------------------------------------------------------*/ @@ -267,12 +278,12 @@ EEFC_ReadUniqueID(g_unique_id); - printf("\n\r\n\r" - "=============================================================================\n\r" - "DFU bootloader %s for board %s\n\r" - "(C) 2010-2017 by Harald Welte, 2018-2019 by Kevin Redon\n\r" - "=============================================================================\n\r", + printf("\n\r\n\r"); + print_line(); + printf("DFU bootloader %s for board %s\n\r" + "(C) 2010-2017 by Harald Welte, 2018-2019 by Kevin Redon\n\r", manifest_revision, manifest_board); + print_line(); #if (TRACE_LEVEL >= TRACE_LEVEL_INFO) TRACE_INFO("Chip ID: 0x%08lx (Ext 0x%08lx)\n\r", CHIPID->CHIPID_CIDR, CHIPID->CHIPID_EXID); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1660a04fb3e42200bc2fdd23aa114119620125a1 Gerrit-Change-Number: 19674 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 Aug 16 13:58:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 13:58:29 +0000 Subject: Change in simtrace2[master]: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19673 ) Change subject: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id1447af519df3183061f3d3f156a8dd84789af16 Gerrit-Change-Number: 19673 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Aug 2020 13:58:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 13:58:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 13:58:31 +0000 Subject: Change in simtrace2[master]: dfu: Save another 60 bytes by changing the way we print horizontal lines In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19674 ) Change subject: dfu: Save another 60 bytes by changing the way we print horizontal lines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1660a04fb3e42200bc2fdd23aa114119620125a1 Gerrit-Change-Number: 19674 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Aug 2020 13: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 Sun Aug 16 13:58:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 13:58:40 +0000 Subject: Change in simtrace2[master]: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19673 ) Change subject: dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) ...................................................................... dfu: Shrink code by 144 bytes (by not calling PIO_InitializeInterrupts) We are not using any PIO interrupts from DFU mode. It's only used in the main application firmware (verified by "git grep PIO_ConfigureIt") Change-Id: Id1447af519df3183061f3d3f156a8dd84789af16 --- M firmware/apps/dfu/main.c 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c index 2e80884..aa0adfd 100644 --- a/firmware/apps/dfu/main.c +++ b/firmware/apps/dfu/main.c @@ -265,8 +265,6 @@ PIO_Clear(&pinsLeds[LED_NUM_GREEN]); #endif - PIO_InitializeInterrupts(0); - EEFC_ReadUniqueID(g_unique_id); printf("\n\r\n\r" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id1447af519df3183061f3d3f156a8dd84789af16 Gerrit-Change-Number: 19673 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 14:18:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 14:18:49 +0000 Subject: Change in simtrace2[master]: dfu: Save another 60 bytes by changing the way we print horizontal lines In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/19674 ) Change subject: dfu: Save another 60 bytes by changing the way we print horizontal lines ...................................................................... dfu: Save another 60 bytes by changing the way we print horizontal lines Change-Id: I1660a04fb3e42200bc2fdd23aa114119620125a1 --- M firmware/apps/dfu/main.c 1 file changed, 16 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c index aa0adfd..f8c0c53 100644 --- a/firmware/apps/dfu/main.c +++ b/firmware/apps/dfu/main.c @@ -243,6 +243,17 @@ //board_exec_dbg_cmd(ch); } +/* print a horizontal line of '=' characters; Doing this in a loop vs. using a 'const' + * string saves us ~60 bytes of executable size (matters particularly for DFU loader) */ +static void print_line(void) +{ + int i; + for (i = 0; i < 78; i++) + fputc('=', stdout); + fputc('\n', stdout); + fputc('\r', stdout); +} + /*------------------------------------------------------------------------------ * Main *------------------------------------------------------------------------------*/ @@ -267,12 +278,12 @@ EEFC_ReadUniqueID(g_unique_id); - printf("\n\r\n\r" - "=============================================================================\n\r" - "DFU bootloader %s for board %s\n\r" - "(C) 2010-2017 by Harald Welte, 2018-2019 by Kevin Redon\n\r" - "=============================================================================\n\r", + printf("\n\r\n\r"); + print_line(); + printf("DFU bootloader %s for board %s\n\r" + "(C) 2010-2017 by Harald Welte, 2018-2019 by Kevin Redon\n\r", manifest_revision, manifest_board); + print_line(); #if (TRACE_LEVEL >= TRACE_LEVEL_INFO) TRACE_INFO("Chip ID: 0x%08lx (Ext 0x%08lx)\n\r", CHIPID->CHIPID_CIDR, CHIPID->CHIPID_EXID); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1660a04fb3e42200bc2fdd23aa114119620125a1 Gerrit-Change-Number: 19674 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 Sun Aug 16 15:01:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 15:01:02 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f394a33d61ef_74bf2aebd44c460015834fb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.10/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 139s] #define STDC_HEADERS 1 [ 139s] #define HAVE_SYS_TYPES_H 1 [ 139s] #define HAVE_SYS_STAT_H 1 [ 139s] #define HAVE_STDLIB_H 1 [ 139s] #define HAVE_STRING_H 1 [ 139s] #define HAVE_MEMORY_H 1 [ 139s] #define HAVE_STRINGS_H 1 [ 139s] #define HAVE_INTTYPES_H 1 [ 139s] #define HAVE_STDINT_H 1 [ 139s] #define HAVE_UNISTD_H 1 [ 139s] #define HAVE_DLFCN_H 1 [ 139s] #define LT_OBJDIR ".libs/" [ 139s] #define PACKAGE "osmo-remsim" [ 139s] #define VERSION "0.2.3" [ 139s] #define HAVE_CSV_H 1 [ 139s] [ 139s] configure: exit 1 [ 139s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 139s] make[1]: *** [debian/rules:15: override_dh_auto_configure] Error 2 [ 139s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 139s] make: *** [debian/rules:12: build] Error 2 [ 139s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 139s] ### VM INTERACTION START ### [ 142s] [ 135.943763] sysrq: Power Off [ 142s] [ 135.950319] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] goat07 failed "build osmo-remsim_0.2.3.dsc" at Sun Aug 16 15:00:45 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 15:01:54 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 15:01:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f394a71d2800_74bf2aebd44c4600158365e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.10/i586 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 217s] #define STDC_HEADERS 1 [ 217s] #define HAVE_SYS_TYPES_H 1 [ 217s] #define HAVE_SYS_STAT_H 1 [ 217s] #define HAVE_STDLIB_H 1 [ 217s] #define HAVE_STRING_H 1 [ 217s] #define HAVE_MEMORY_H 1 [ 217s] #define HAVE_STRINGS_H 1 [ 217s] #define HAVE_INTTYPES_H 1 [ 217s] #define HAVE_STDINT_H 1 [ 217s] #define HAVE_UNISTD_H 1 [ 217s] #define HAVE_DLFCN_H 1 [ 217s] #define LT_OBJDIR ".libs/" [ 217s] #define PACKAGE "osmo-remsim" [ 217s] #define VERSION "0.2.3" [ 217s] #define HAVE_CSV_H 1 [ 217s] [ 217s] configure: exit 1 [ 217s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 217s] make[1]: *** [debian/rules:15: override_dh_auto_configure] Error 2 [ 217s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 217s] make: *** [debian/rules:12: build] Error 2 [ 217s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 217s] ### VM INTERACTION START ### [ 220s] [ 212.233039] sysrq: Power Off [ 220s] [ 212.238171] reboot: Power down [ 220s] ### VM INTERACTION END ### [ 220s] [ 220s] sheep88 failed "build osmo-remsim_0.2.3.dsc" at Sun Aug 16 15:01:48 UTC 2020. [ 220s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 15:01:54 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 15:01:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f394a7159823_74bf2aebd44c46001583542@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 210s] #define HAVE_SYS_STAT_H 1 [ 210s] #define HAVE_STDLIB_H 1 [ 210s] #define HAVE_STRING_H 1 [ 210s] #define HAVE_MEMORY_H 1 [ 210s] #define HAVE_STRINGS_H 1 [ 210s] #define HAVE_INTTYPES_H 1 [ 210s] #define HAVE_STDINT_H 1 [ 210s] #define HAVE_UNISTD_H 1 [ 210s] #define HAVE_DLFCN_H 1 [ 210s] #define LT_OBJDIR ".libs/" [ 210s] #define PACKAGE "osmo-remsim" [ 210s] #define VERSION "0.2.3" [ 210s] #define HAVE_CSV_H 1 [ 210s] [ 210s] configure: exit 1 [ 210s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 210s] debian/rules:15: recipe for target 'override_dh_auto_configure' failed [ 210s] make[1]: *** [override_dh_auto_configure] Error 2 [ 210s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 210s] debian/rules:12: recipe for target 'build' failed [ 210s] make: *** [build] Error 2 [ 210s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 210s] ### VM INTERACTION START ### [ 213s] [ 205.473547] sysrq: Power Off [ 213s] [ 205.477061] reboot: Power down [ 213s] ### VM INTERACTION END ### [ 213s] [ 213s] sheep86 failed "build osmo-remsim_0.2.3.dsc" at Sun Aug 16 15:01:41 UTC 2020. [ 213s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Aug 16 15:02:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 15:02:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f394aad9e60_74bf2aebd44c460015848ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 242s] #define HAVE_SYS_STAT_H 1 [ 242s] #define HAVE_STDLIB_H 1 [ 242s] #define HAVE_STRING_H 1 [ 242s] #define HAVE_MEMORY_H 1 [ 242s] #define HAVE_STRINGS_H 1 [ 242s] #define HAVE_INTTYPES_H 1 [ 242s] #define HAVE_STDINT_H 1 [ 242s] #define HAVE_UNISTD_H 1 [ 242s] #define HAVE_DLFCN_H 1 [ 242s] #define LT_OBJDIR ".libs/" [ 242s] #define PACKAGE "osmo-remsim" [ 242s] #define VERSION "0.2.3" [ 242s] #define HAVE_CSV_H 1 [ 242s] [ 242s] configure: exit 1 [ 242s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 1 [ 242s] debian/rules:15: recipe for target 'override_dh_auto_configure' failed [ 242s] make[1]: *** [override_dh_auto_configure] Error 2 [ 242s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 242s] debian/rules:12: recipe for target 'build' failed [ 242s] make: *** [build] Error 2 [ 242s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 242s] ### VM INTERACTION START ### [ 245s] [ 234.472910] sysrq: Power Off [ 245s] [ 234.482242] reboot: Power down [ 245s] ### VM INTERACTION END ### [ 245s] [ 245s] lamb27 failed "build osmo-remsim_0.2.3.dsc" at Sun Aug 16 15:02:42 UTC 2020. [ 245s] -- 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 Aug 16 15:19:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 15:19:29 +0000 Subject: Change in libusrp[master]: migrate to python3 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/19675 ) Change subject: migrate to python3 ...................................................................... migrate to python3 Let's move to python3, it's 2020 and the conversion seemed actually rather trivial (famous last words). Change-Id: Ib1604b36c32630e1360e06567cbd5f63a78df547 --- M contrib/libusrp.spec.in M debian/control M firmware/include/generate_regs.py M firmware/src/common/build_eeprom.py M firmware/src/common/edit-gpif M firmware/src/usrp2/edit-gpif 6 files changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/75/19675/1 diff --git a/contrib/libusrp.spec.in b/contrib/libusrp.spec.in index 75ceeaa..c72868e 100644 --- a/contrib/libusrp.spec.in +++ b/contrib/libusrp.spec.in @@ -32,7 +32,7 @@ %if 0%{?suse_version} < 1320 BuildRequires: python %else -BuildRequires: python2 +BuildRequires: python3 %endif BuildRequires: pkgconfig(libusb-1.0) %if 0%{?suse_version} > 1325 diff --git a/debian/control b/debian/control index 247a661..cb3b90d 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ doxygen, libtool, pkg-config, - python, + python3, sdcc, libusb-1.0-0-dev, libboost-all-dev diff --git a/firmware/include/generate_regs.py b/firmware/include/generate_regs.py index f11baad..7416302 100755 --- a/firmware/include/generate_regs.py +++ b/firmware/include/generate_regs.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os, os.path import re @@ -8,7 +8,7 @@ # set srcdir to the directory that contains Makefile.am try: srcdir = os.environ['srcdir'] -except KeyError, e: +except KeyError as e: srcdir = "." srcdir = srcdir + '/' diff --git a/firmware/src/common/build_eeprom.py b/firmware/src/common/build_eeprom.py index 6092d61..3036d99 100755 --- a/firmware/src/common/build_eeprom.py +++ b/firmware/src/common/build_eeprom.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # # Copyright 2004,2006 Free Software Foundation, Inc. # @@ -24,6 +24,7 @@ import sys import os, os.path from optparse import OptionParser +from functools import reduce # USB Vendor and Product ID's @@ -33,7 +34,7 @@ def hex_to_bytes (s): if len (s) & 0x1: - raise ValueError, "Length must be even" + raise ValueError("Length must be even") r = [] for i in range (0, len(s), 2): r.append (int (s[i:i+2], 16)) @@ -59,17 +60,17 @@ for line in file: line = line.strip().upper () if not self.pat.match (line): - raise ValueError, "Invalid hex record format" + raise ValueError("Invalid hex record format") bytes = hex_to_bytes (line[1:]) sum = reduce (lambda x, y: x + y, bytes, 0) % 256 if sum != 0: - raise ValueError, "Bad hex checksum" + raise ValueError("Bad hex checksum") lenx = bytes[0] addr = (bytes[1] << 8) + bytes[2] type = bytes[3] data = bytes[4:-1] if lenx != len (data): - raise ValueError, "Invalid hex record (bad length)" + raise ValueError("Invalid hex record (bad length)") if type != 0: break; r.append (ihx_rec (addr, type, data)) @@ -153,7 +154,7 @@ i2c_addr = 0x50 rom_addr = 0x00 - hex_image = map (lambda x : "%02x" % (x,), image) + hex_image = ["%02x" % (x,) for x in image] while (len (hex_image) > 0): l = min (len (hex_image), 16) diff --git a/firmware/src/common/edit-gpif b/firmware/src/common/edit-gpif index 87e16eb..1a63791 100755 --- a/firmware/src/common/edit-gpif +++ b/firmware/src/common/edit-gpif @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- Python -*- # # Copyright 2003 Free Software Foundation, Inc. diff --git a/firmware/src/usrp2/edit-gpif b/firmware/src/usrp2/edit-gpif index 87e16eb..1a63791 100755 --- a/firmware/src/usrp2/edit-gpif +++ b/firmware/src/usrp2/edit-gpif @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- Python -*- # # Copyright 2003 Free Software Foundation, Inc. -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/19675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ib1604b36c32630e1360e06567cbd5f63a78df547 Gerrit-Change-Number: 19675 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 16 15:22:11 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Aug 2020 15:22:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f394f3fd5c4e_74bf2aebd44c460015881d6@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: [ 214s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 215s] [COMPILING libboard/qmod/source/card_pres.c] [ 215s] [COMPILING libboard/qmod/source/wwan_led.c] [ 215s] [COMPILING libboard/qmod/source/i2c.c] [ 215s] [COMPILING libboard/qmod/source/board_qmod.c] [ 216s] [COMPILING apps/dfu/main.c] [ 216s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 216s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 216s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 217s] Memory region Used Size Region Size %age Used [ 217s] rom: 16588 B 16 KB 101.25% [ 217s] 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' [ 217s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 217s] collect2: error: ld returned 1 exit status [ 217s] % [ 217s] make[2]: *** [Makefile:234: flash] Error 1 [ 217s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 217s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 217s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 217s] dh_auto_build: error: make -j1 returned exit code 2 [ 217s] make: *** [debian/rules:16: build] Error 25 [ 217s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 217s] ### VM INTERACTION START ### [ 220s] [ 210.480989] sysrq: Power Off [ 220s] [ 210.525093] reboot: Power down [ 220s] ### VM INTERACTION END ### [ 220s] [ 220s] lamb56 failed "build simtrace2_0.7.0.63.39070.dsc" at Sun Aug 16 15:21:58 UTC 2020. [ 220s] -- 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 Aug 16 15:52:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 15:52:06 +0000 Subject: Change in libusrp[master]: migrate to python3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/19675 ) Change subject: migrate to python3 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libusrp/+/19675/1/contrib/libusrp.spec.in File contrib/libusrp.spec.in: https://gerrit.osmocom.org/c/libusrp/+/19675/1/contrib/libusrp.spec.in at 32 PS1, Line 32: if 0%{?suse_version} < 1320 I guess this 'if' statement can be removed entirely, as it seem to be python2 specific (it was called 'python' before?). Other spec. files (in libosmocore, osmo-hlr, osmo-iuh) do not have it. -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/19675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ib1604b36c32630e1360e06567cbd5f63a78df547 Gerrit-Change-Number: 19675 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 16 Aug 2020 15: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 Sun Aug 16 16:33:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 16:33:05 +0000 Subject: Change in libosmocore[master]: vty: add program specific attributes to VTY commands In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19667 to look at the new patch set (#4). Change subject: vty: add program specific attributes to VTY commands ...................................................................... vty: add program specific attributes to VTY commands Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M TODO-RELEASE M include/osmocom/vty/command.h M include/osmocom/vty/vty.h 3 files changed, 32 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/19667/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Gerrit-Change-Number: 19667 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Sun Aug 16 16:56:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 16:56:29 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 to look at the new patch set (#3). Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... vty: add attributes to VTY commands indicating when they apply Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Depends: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 700 insertions(+), 533 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/19670/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria 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 Sun Aug 16 18:26:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Aug 2020 18:26:26 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-python-tests for python2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19663 ) Change subject: debian-stretch-jenkins: install osmo-python-tests for python2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 Gerrit-Change-Number: 19663 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 16 Aug 2020 18:26:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 19:41:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 19:41:00 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 to look at the new patch set (#4). Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... vty: add attributes to VTY commands indicating when they apply Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Depends: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 694 insertions(+), 533 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/19670/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Sun Aug 16 19:41:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 19:41:05 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19668 to look at the new patch set (#6). Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria 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 Sun Aug 16 19:42:24 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 16 Aug 2020 19:42:24 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19639 to look at the new patch set (#2). Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... vty cpu sched: do not assert if sched impossible Shared code might be used by applications that have no vty, so sched can't be initialized, do not assert and break everything in this case, a warning should suffice. Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 --- M src/vty/cpu_sched_vty.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/19639/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 16 20:11:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 20:11:41 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19668 to look at the new patch set (#7). Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria 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 Sun Aug 16 20:14:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 20:14:29 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19668 to look at the new patch set (#8). Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria 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 Sun Aug 16 20:42:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Aug 2020 20:42:11 +0000 Subject: Change in osmo-gsm-manuals[master]: vty_reference.xsl: handle application specific attributes References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 ) Change subject: vty_reference.xsl: handle application specific attributes ...................................................................... vty_reference.xsl: handle application specific attributes Change-Id: I17794b2cb476bd54c7b35a1e23c0727352c3a2a9 Related: SYS#4937 --- M vty_reference.xsl 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/76/19676/1 diff --git a/vty_reference.xsl b/vty_reference.xsl index e9d380c..414a1a8 100644 --- a/vty_reference.xsl +++ b/vty_reference.xsl @@ -40,6 +40,31 @@ + + + + + Attributes + + + + + + + + Flag: + + + Flag: (not assigned) + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 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: I17794b2cb476bd54c7b35a1e23c0727352c3a2a9 Gerrit-Change-Number: 19676 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 17 01:37:05 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 17 Aug 2020 01:37:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f39df4fcb964_74bf2aebd44c46001731768@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: [ 114s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 114s] [COMPILING libboard/qmod/source/card_pres.c] [ 114s] [COMPILING libboard/qmod/source/wwan_led.c] [ 114s] [COMPILING libboard/qmod/source/i2c.c] [ 115s] [COMPILING libboard/qmod/source/board_qmod.c] [ 115s] [COMPILING apps/dfu/main.c] [ 115s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 115s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 115s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 115s] Memory region Used Size Region Size %age Used [ 115s] rom: 16588 B 16 KB 101.25% [ 115s] 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' [ 115s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 115s] collect2: error: ld returned 1 exit status [ 115s] % [ 115s] make[2]: *** [Makefile:234: flash] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 115s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 115s] dh_auto_build: error: make -j1 returned exit code 2 [ 115s] make: *** [debian/rules:16: build] Error 25 [ 115s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 115s] ### VM INTERACTION START ### [ 118s] [ 111.301703] sysrq: Power Off [ 118s] [ 111.306286] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] sheep86 failed "build simtrace2_0.7.0.63.39070.dsc" at Mon Aug 17 01:37:04 UTC 2020. [ 118s] -- 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 Aug 17 08:34:08 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Aug 2020 08:34:08 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-python-tests for python2 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19663 ) Change subject: debian-stretch-jenkins: install osmo-python-tests for python2 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 Gerrit-Change-Number: 19663 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 17 Aug 2020 08:34: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 Aug 17 08:34:14 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Aug 2020 08:34:14 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-python-tests for python2 In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19663 ) Change subject: debian-stretch-jenkins: install osmo-python-tests for python2 ...................................................................... debian-stretch-jenkins: install osmo-python-tests for python2 osmo-python-tests for python2 is being used when building old releases. Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 17 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved lynxis lazus: Verified diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 158f7d7..e73b7ae 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -100,6 +100,10 @@ python3-setuptools \ python3-usb \ python3-yaml \ + python2.7 \ + python-pip \ + python-setuptools \ + python-yaml \ rsync \ sdcc \ sqlite3 \ @@ -127,9 +131,19 @@ RUN mkdir /build RUN chown build:build /build -# Install osmo-python-tests -ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit -RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh +# 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 # 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 && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I63b3e92e745a664d5d0168c718daddae83c20df5 Gerrit-Change-Number: 19663 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Mon Aug 17 10:00:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:00:18 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19639 ) Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 10:00: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 Aug 17 10:04:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:04:30 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 7: (3 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c File Transceiver52M/device/ipc/ipc_chan.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 52 PS7, Line 52: fprintf can we migrate all of those fprintf/printf statements to the osmocom logging API, please? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c File Transceiver52M/device/ipc/ipc_shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 67 PS7, Line 67: fprintf likewise here in this function, please use the osmocom logging framework. and in fact, osmo_panic() might be a good idea if you want to log something + exit. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.c File Transceiver52M/device/ipc/shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.c at 40 PS7, Line 40: #ifdef ENCDECDEBUG : fprintf(stderr, "decode: smpl_buf %d at offset %u\n", i, stream_raw->buffer_offset[i]); : #endif would make sense to #define a DEBUGENCDEC() macro to avoid #ifdef/endif around every line of related logging. The macro can then either be #defined away, or #defined to fprintf - or even anything else. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 10:04:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 10:06:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:06:28 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... Patch Set 1: not really sure this is an improvement. The variables are scope-local now (good) and you move them to the function scope. If you insist, but I'd not really see it as an improvement. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 10:06:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 10:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:07:22 +0000 Subject: Change in libosmocore[master]: vty/command: fix switch / case coding style in vty_go_parent() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19666 ) Change subject: vty/command: fix switch / case coding style in vty_go_parent() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 Gerrit-Change-Number: 19666 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 10:07:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 10:14:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:14:27 +0000 Subject: Change in libosmocore[master]: vty cpu sched: do not assert if sched impossible In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19639 ) Change subject: vty cpu sched: do not assert if sched impossible ...................................................................... vty cpu sched: do not assert if sched impossible Shared code might be used by applications that have no vty, so sched can't be initialized, do not assert and break everything in this case, a warning should suffice. Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 --- M src/vty/cpu_sched_vty.c 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c index 3b6067a..8cd11fe 100644 --- a/src/vty/cpu_sched_vty.c +++ b/src/vty/cpu_sched_vty.c @@ -469,7 +469,7 @@ LOGP(DLGLOBAL, LOGL_NOTICE, "Setting SCHED_RR priority %d\n", param.sched_priority); rc = sched_setscheduler(getpid(), SCHED_RR, ¶m); if (rc == -1) { - LOGP(DLGLOBAL, LOGL_FATAL, "Setting SCHED_RR priority %d failed: %s\n", + LOGP(DLGLOBAL, LOGL_ERROR, "Setting SCHED_RR priority %d failed: %s\n", param.sched_priority, strerror(errno)); return -1; } @@ -631,7 +631,10 @@ int rc = 0; /* Assert subsystem was inited and structs are preset */ - OSMO_ASSERT(sched_vty_opts); + if (!sched_vty_opts) { + LOGP(DLGLOBAL, LOGL_FATAL, "Setting cpu-affinity mask impossible: no opts!\n"); + return 0; + } if (pthread_getname_np(pthread_self(), name, sizeof(name)) == 0) has_name = true; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic40075df8d4cf9fe8f1d711f899dae9a4b5b0928 Gerrit-Change-Number: 19639 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 10:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 10:15:15 +0000 Subject: Change in osmo-gsm-manuals[master]: vty_reference.xsl: handle application specific attributes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 ) Change subject: vty_reference.xsl: handle application specific attributes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 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: I17794b2cb476bd54c7b35a1e23c0727352c3a2a9 Gerrit-Change-Number: 19676 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 10:15: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 Aug 17 10:19:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 10:19:11 +0000 Subject: Change in osmo-bsc[master]: BS-11: Send proprietary MRPCI message after assignment + HO complete In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19492 ) Change subject: BS-11: Send proprietary MRPCI message after assignment + HO complete ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19492/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19492/2/src/osmo-bsc/assignment_fsm.c at 236 PS2, Line 236: /* HACK: store the actual Classmark 2 LV from the subscriber and use it here! */ More like FIXME -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6cb6d25e405aa888c4df4022d897330a6af9e946 Gerrit-Change-Number: 19492 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 10:19:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 10:36:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 10:36:14 +0000 Subject: Change in libosmocore[master]: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19142 ) Change subject: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the port ...................................................................... Patch Set 10: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19142/10/src/sockaddr_str.c File src/sockaddr_str.c: https://gerrit.osmocom.org/c/libosmocore/+/19142/10/src/sockaddr_str.c at 201 PS10, Line 201: if (!sockaddr_str) I would drop this check completely (for documentation as well), but ok. It makes no sense to call this function on a NULL pointer. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifd4e282586b8bd40b912a9f1c25f9e8208420106 Gerrit-Change-Number: 19142 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 10:36: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 Aug 17 10:37:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 10:37:31 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 10:37: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 Aug 17 10:43:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 10:43:04 +0000 Subject: Change in libosmocore[master]: log file: Increase output buffering using setvbuf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19463 ) Change subject: log file: Increase output buffering using setvbuf() ...................................................................... Patch Set 4: Are you really sure this is really needed/improving the situation? AFAICT we have no issue with file-backed log targets, the problem is actually with stdout/stderr. I'd rather leave OS control these for files unless we really see specific issues. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59beadb8d1d10a942513efc4c0477701f967237a Gerrit-Change-Number: 19463 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 10:43: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 Aug 17 10:47:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 10:47:58 +0000 Subject: Change in libosmo-abis[master]: e1_input: Support I.460 timeslot type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18933 ) Change subject: e1_input: Support I.460 timeslot type ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I44da6dfec77ef475adb35001a0e4fa11d549aa02 Gerrit-Change-Number: 18933 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 10:47:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:03:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 11:03:35 +0000 Subject: Change in osmo-bsc[master]: Implement support for receiving BSSMAP CommonID from MSC In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18942 to look at the new patch set (#2). Change subject: Implement support for receiving BSSMAP CommonID from MSC ...................................................................... Implement support for receiving BSSMAP CommonID from MSC The MSC may at any time send a BSSMAP CommonID message via a SCCP connection to inform us of the IMSI of the subscriber. Let's make use of that information by associating a related bsc_subscr and updating the identity of the bsc_subscr_conn_fsm for improved logging / filtering. Closes: OS#2969 Change-Id: I52c43fb940f0db796adf4c0adb2260321c721c39 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/bsc_subscr_conn_fsm.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 5 files changed, 52 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/42/18942/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52c43fb940f0db796adf4c0adb2260321c721c39 Gerrit-Change-Number: 18942 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 11:04:36 +0000 Subject: Change in osmo-bsc[master]: Implement support for receiving BSSMAP CommonID from MSC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18942 ) Change subject: Implement support for receiving BSSMAP CommonID from MSC ...................................................................... Patch Set 3: Code-Review+2 we had +2 before anyway, and now I adressed the review concerns -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52c43fb940f0db796adf4c0adb2260321c721c39 Gerrit-Change-Number: 18942 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:04: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 Aug 17 11:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Aug 2020 11:15:39 +0000 Subject: Change in osmo-bsc[master]: Implement support for receiving BSSMAP CommonID from MSC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18942 ) Change subject: Implement support for receiving BSSMAP CommonID from MSC ...................................................................... Implement support for receiving BSSMAP CommonID from MSC The MSC may at any time send a BSSMAP CommonID message via a SCCP connection to inform us of the IMSI of the subscriber. Let's make use of that information by associating a related bsc_subscr and updating the identity of the bsc_subscr_conn_fsm for improved logging / filtering. Closes: OS#2969 Change-Id: I52c43fb940f0db796adf4c0adb2260321c721c39 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/bsc_subscr_conn_fsm.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 5 files changed, 52 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index b1fe14d..43ace25 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -64,6 +64,7 @@ MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, MSC_CTR_BSSMAP_RX_DT1_CONFUSION, + MSC_CTR_BSSMAP_RX_DT1_COMMON_ID, MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, MSC_CTR_BSSMAP_RX_DT1_DTAP, MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h index 7893735..354c5ee 100644 --- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -14,6 +14,8 @@ GSCON_EV_A_CLEAR_CMD, /* MSC SCCP disconnect indication */ GSCON_EV_A_DISC_IND, + /* MSC has sent a BSSMAP COMMON ID */ + GSCON_EV_A_COMMON_ID_IND, GSCON_EV_ASSIGNMENT_START, GSCON_EV_ASSIGNMENT_END, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 6a35c75..bd0b534 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -73,6 +73,7 @@ {GSCON_EV_A_CONN_CFM, "MO-CONNECT.cfm"}, {GSCON_EV_A_CLEAR_CMD, "CLEAR_CMD"}, {GSCON_EV_A_DISC_IND, "DISCONNET.ind"}, + {GSCON_EV_A_COMMON_ID_IND, "COMMON_ID.ind"}, {GSCON_EV_ASSIGNMENT_START, "ASSIGNMENT_START"}, {GSCON_EV_ASSIGNMENT_END, "ASSIGNMENT_END"}, {GSCON_EV_HANDOVER_START, "HANDOVER_START"}, @@ -759,6 +760,7 @@ { struct gsm_subscriber_connection *conn = fi->priv; const struct gscon_clear_cmd_data *ccd; + struct osmo_mobile_identity *mi_imsi; /* Regular allstate event processing */ switch (event) { @@ -805,6 +807,18 @@ break; case GSCON_EV_LCLS_FAIL: break; + case GSCON_EV_A_COMMON_ID_IND: + OSMO_ASSERT(data); + mi_imsi = data; + if (!conn->bsub) + conn->bsub = bsc_subscr_find_or_create_by_imsi(conn->network->bsc_subscribers, mi_imsi->imsi); + else { + /* we already have a bsc_subscr associated; maybe that subscriber has no IMSI yet? */ + if (!conn->bsub->imsi[0]) + bsc_subscr_set_imsi(conn->bsub, mi_imsi->imsi); + } + gscon_update_id(conn); + break; default: OSMO_ASSERT(false); break; @@ -898,7 +912,8 @@ .name = "SUBSCR_CONN", .states = gscon_fsm_states, .num_states = ARRAY_SIZE(gscon_fsm_states), - .allstate_event_mask = S(GSCON_EV_A_DISC_IND) | S(GSCON_EV_A_CLEAR_CMD) | S(GSCON_EV_RSL_CONN_FAIL) | + .allstate_event_mask = S(GSCON_EV_A_DISC_IND) | S(GSCON_EV_A_CLEAR_CMD) | S(GSCON_EV_A_COMMON_ID_IND) | + S(GSCON_EV_RSL_CONN_FAIL) | S(GSCON_EV_LCLS_FAIL) | S(GSCON_EV_FORGET_LCHAN) | S(GSCON_EV_FORGET_MGW_ENDPOINT), diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index bf38d10..a253b01 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1073,6 +1073,34 @@ return 0; } +/* Common ID; 3GPP TS 48.008 3.2.1.68 */ +static int bssmap_handle_common_id(struct gsm_subscriber_connection *conn, + struct msgb *msg, unsigned int length) +{ + struct tlv_parsed tp; + struct osmo_mobile_identity mi_imsi; + + osmo_bssap_tlv_parse(&tp, msg->l4h + 1, length - 1); + + /* Check for the mandatory elements */ + if (!TLVP_PRESENT(&tp, GSM0808_IE_IMSI)) { + LOGPFSML(conn->fi, LOGL_ERROR, + "CommonID: missing mandatory IMSI IE: %s\n", + osmo_hexdump(msg->l4h, length)); + return -EINVAL; + } + + if (osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(&tp, GSM0808_IE_IMSI), TLVP_LEN(&tp, GSM0808_IE_IMSI), false) + || mi_imsi.type != GSM_MI_TYPE_IMSI) { + LOGPFSML(conn->fi, LOGL_ERROR, "CommonID: could not parse IMSI\n"); + return -EINVAL; + } + + osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_COMMON_ID_IND, &mi_imsi); + + return 0; +} + static int bssmap_rcvmsg_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length) { @@ -1153,6 +1181,10 @@ rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CONFUSION]); ret = bssmap_handle_confusion(conn, msg, length); break; + case BSS_MAP_MSG_COMMON_ID: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_COMMON_ID]); + ret = bssmap_handle_common_id(conn, msg, length); + break; default: rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n", diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 5e02b4a..b1bb245 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -58,6 +58,7 @@ [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, [MSC_CTR_BSSMAP_RX_DT1_CONFUSION] = {"bssmap:rx:dt1:confusion", "Number of received BSSMAP DT1 CONFUSION messages"}, + [MSC_CTR_BSSMAP_RX_DT1_COMMON_ID] = {"bssmap:rx:dt1:common_id", "Number of received BSSMAP DT1 COMMON ID messages"}, [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I52c43fb940f0db796adf4c0adb2260321c721c39 Gerrit-Change-Number: 18942 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:16:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:16:04 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 13: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19143/13/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/19143/13/include/osmocom/core/socket.h at 61 PS13, Line 61: int osmo_sock_init3(uint16_t type, uint8_t proto, I don't really like calling this one osmo_sock_init3, since it's not really an upgrade from previous versions but rather a different function with different parameter, scope of use and logic, as lynxis explained in a previous comment. osmo_sock_init_sa() or similar looks like a better naming to me. https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 465 PS13, Line 465: * This function creates a new socket of the designated \a family, \a No "family" parameter here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 13 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:16: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 Aug 17 11:17:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:17:49 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 11: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1568 PS11, Line 1568: int osmo_sockaddr_cmp(struct osmo_sockaddr *a, struct osmo_sockaddr *b) As usual, I see no point in checking and returning stuff for NULL pointers. What's the point comparing a sockaddr with NULL? Are we comparing apples and pears here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:17:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:20:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:20:29 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_local_ip() to determine the local address for a rem... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19416 ) Change subject: add osmo_sockaddr_local_ip() to determine the local address for a remote. ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9cd2c5ceb28183e2fd2d28f9c9088c3fcac643d2 Gerrit-Change-Number: 19416 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:20: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 Aug 17 11:24:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:24:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop "trunk 0" limitation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19563 ) Change subject: mgcp_trunk: drop "trunk 0" limitation ...................................................................... Patch Set 1: Unit tests failing here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I302c2007628f607033686e277c407232351e66ad Gerrit-Change-Number: 19563 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:24:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:28:42 +0000 Subject: Change in libosmocore[master]: WIP: Gb: add a second NS implementation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19417 ) Change subject: WIP: Gb: add a second NS implementation ...................................................................... Patch Set 13: (1 comment) compilation errors. Better --enable-werror on your local builds :) https://gerrit.osmocom.org/c/libosmocore/+/19417/13//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19417/13//COMMIT_MSG at 7 PS13, Line 7: WIP: Gb: add a second NS implementation ... because having one is not enough! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3525beef205588dfab9d3880a34115f1a2676e48 Gerrit-Change-Number: 19417 Gerrit-PatchSet: 13 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:28:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:45:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:45:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: version 10: support IPv6 NSVC addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420 ) Change subject: library/PCUIF_Types: version 10: support IPv6 NSVC addr ...................................................................... Patch Set 5: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420/5/library/PCUIF_Types.ttcn File library/PCUIF_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420/5/library/PCUIF_Types.ttcn at 215 PS5, Line 215: /* NOTE: TITAN is not smart enough to handle 'version < 10' and 'version > 9', This doesn't seem to hold true with using CROSSTAG, iirc I already pointed that out previously in a prior patch? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420/5/library/PCUIF_Types.ttcn at 231 PS5, Line 231: PCUIF_ADDR_TYPE_UNSPEC ('00'O), Does it really make sense from protocol point of view to be sending UNSPEC at any time? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I13b03c380edc2dc609c5e4053462a3cd6f78ce72 Gerrit-Change-Number: 19420 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:45:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 11:45:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:45:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 ) Change subject: fixup library/PCUIF_Types: version 10: support IPv6 NSVC addr ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27a063cb8a9653110ceba720c572bc050d333354 Gerrit-Change-Number: 19569 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:45: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 Aug 17 11:47:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:47:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: verify NSVC IPv4/IPv6 in the INFO.ind message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421 ) Change subject: BTS_Tests: verify NSVC IPv4/IPv6 in the INFO.ind message ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421/5/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421/5/bts/BTS_Tests.ttcn at 5491 PS5, Line 5491: f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); Don't you need to restore the remote ip later? or is it done somewhere else? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae854875a45dbc29cd46a267ccaf60f1f2ac2973 Gerrit-Change-Number: 19421 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:47: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 Mon Aug 17 11:54:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 11:54:49 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Change default for clock_advance to 2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Change default for clock_advance to 2 ...................................................................... Patch Set 4: > Patch Set 4: > > > This seems indeed too low for LimeNET-micro. > > so what is the conclusion? Which value works for LimeNET-micro? Can you help roh to do related tests? Investigation is being documented here: https://osmocom.org/issues/4487 So my last conclusions suggest that we can at least decrease fn-advance from 20 to 6. I'm still missing doing one more round of tests to see if I get similar results applying low values suggested by Daniel and counters I added still suggest the issue is within osmo-trx itself. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 11:54:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 12:17:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 12:17:45 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... Patch Set 1: I'd be great adding a small description to the commit on how do you usually use it (workflow). I'd better go for osmo-ci.git rather than libosmocore.git -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 12:17:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 12:27:01 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 12:27:01 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... Patch Set 1: Well it's being used if it exists by qt-creator and by visual studio, how would I know what kind of setup other people use? I also want to have it in this project, so it can be used in this project, not somewhere where I need to check out a different repo and copy the file just to have it in this project which means no one is going to use it. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 12:27: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 Aug 17 12:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 12:53:49 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#8). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,790 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 12:58:05 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 12:58:05 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 to look at the new patch set (#10). Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... transceiver: optimize code if optimizations are enabled There is no point in checking basic stuff ten thousand times per second since the sizes never change, so it's enough to enable the checks/assertions for unoptimized (debug) builds. This significantly decreases branch mispredictions. Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 --- M CommonLibs/Vector.h M Transceiver52M/Resampler.cpp M Transceiver52M/arch/x86/convolve.c 3 files changed, 27 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/50/19650/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen 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 Aug 17 13:20:09 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 13:20:09 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc 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-trx/+/19641 to look at the new patch set (#9). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,790 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 9 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 13:20:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 13:20:59 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 8: Code-Review-1 (37 comments) Mostly few lines general cleanup and a couple things which should go in a seaprate commit. Should be quick to apply and then I'm fine with it. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp File Transceiver52M/device/ipc/IPCDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 66 PS7, Line 66: //m_IPC_stream_rx.resize(chans); Can be dropped? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 82 PS7, Line 82: //unsigned int i; Drop it https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 94 PS7, Line 94: for (auto i : shm_io_rx_streams) That sounds like c++11, do we want to depend on it? (do we already depend on it?) https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 210 PS7, Line 210: /* FIXME: this is actually the sps value, not the sample rate! What about this? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 227 PS7, Line 227: /* FIXME: clock ref part of config, not open */ ACK, can be fixed later. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 375 PS7, Line 375: // shm_io_tx_streams.push_back(ipc_shm_init_producer(shm_dec->channels[i]->dl_stream)); Can be dropped https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 510 PS7, Line 510: //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; Drop https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 653 PS7, Line 653: int IPCDevice::ipc_sock_write(struct osmo_fd *bfd) So AFAIU we reimplement all the sock stuff here and we have almost same implementation used for the Driver in a seaprate C file? Why? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 735 PS7, Line 735: /* _after_ we send it, we can deueue */ And third typo: dequeue https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 837 PS7, Line 837: void IPCDevice::manually_poll_sock_fds() We should really make all this async later in the future. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 1163 PS7, Line 1163: //expect_smpls = len - avail_smpls; Can be dropped https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h File Transceiver52M/device/ipc/ipc-driver-test.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h at 23 PS7, Line 23: /* 8 channels are plenty */ Ugh that's one per TRX right? Cannot we have more with some devices? (I know, I may have been the one myself writing this line when doing the prototype a while ago). https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h at 30 PS7, Line 30: struct osmo_fd conn_bfd; /* fd for connection to lcr */ lcr? that's probably some leftover from some old code. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c File Transceiver52M/device/ipc/ipc-driver-test.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 70 PS7, Line 70: //enum { DMAIN, Can br dropped. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 79 PS7, Line 79: [DDEV] = { Wrong indent. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 91 PS7, Line 91: #ifdef __cplusplus Why is this here? Shouldn't it be a lot higher? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 199 PS7, Line 199: /* FIXME: dynamc chan limit, currently 8 */ typo dynamic: We are using "8" as limit in several places, may be worth adding a define for it. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 254 PS7, Line 254: volatile int ul_running = 0; better use bool with true/false for boolean, it's clearer then that it's a boolean variable. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 261 PS7, Line 261: pthread_setname_np(pthread_self(), "uplink rx"); I'd avoid spaces in thread names, it's confusing and you save chars (only 15 available): UplinkRx https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 418 PS7, Line 418: //osmo_signal_register_handler(SS_GLOBAL, IPC_if_signal_cb, NULL); Can be dropped? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 496 PS7, Line 496: //ipc_sock_close() Can be uncommented? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c File Transceiver52M/device/ipc/ipc_chan.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 52 PS7, Line 52: fprintf > can we migrate all of those fprintf/printf statements to the osmocom logging API, please? Agree with all log related comments from laforge. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 193 PS7, Line 193: /* _after_ we send it, we can deueue */ typo: dequeue https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 265 PS7, Line 265: //IPC_tx_info_ind(); what about this? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.h File Transceiver52M/device/ipc/ipc_shm.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.h at 31 PS7, Line 31: volatile struct ipc_shm_raw_stream *this_stream; // plus num_buffers at end I don't see num_buffers anywhere nearby? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c File Transceiver52M/device/ipc/ipc_shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 34 PS7, Line 34: #define SAMPLE_SIZE_BYTE sizeof(uint16_t) * 2 better adding () around here. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 36 PS7, Line 36: struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s) A bit of documentation in functions would be welcome at some point. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 120 PS7, Line 120: if (r->buf_ptrs) free already checks for NULL, no need to check. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c File Transceiver52M/device/ipc/ipc_sock.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 70 PS7, Line 70: //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; This line can be dropped? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 200 PS7, Line 200: /* _after_ we send it, we can deueue */ typo: dequeue https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 270 PS7, Line 270: //IPC_tx_info_ind(); Can be dropped? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.h File Transceiver52M/device/ipc/shm.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.h at 33 PS7, Line 33: pthread_cond_t cf; May be worth documenting all these conditional variables. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/uhdwrap.h File Transceiver52M/device/ipc/uhdwrap.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/uhdwrap.h at 46 PS7, Line 46: // bool start() override; Drop all the commented lines. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/uhd/UHDDevice.cpp File Transceiver52M/device/uhd/UHDDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/uhd/UHDDevice.cpp at 155 PS7, Line 155: osmo_cpu_sched_vty_apply_localthread(); Non related, must be in a separate commit. BTW, why does it fail? It shouldn't... removing the assert doesn't look like the correct fix. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/configure.ac File configure.ac: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/configure.ac at 246 PS7, Line 246: AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" == "xyes"]) This change looks non related, please submit a separate patch. BTW, why "==" while others use "="? https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/contrib/osmo-trx.spec.in File contrib/osmo-trx.spec.in: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/contrib/osmo-trx.spec.in at 239 PS7, Line 239: # FIXME: missing: osmo-trx-ipc.cfg Please add the file to the commit instead of adding a FIXME here. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/debian/osmo-trx-ipc.install File debian/osmo-trx-ipc.install: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/debian/osmo-trx-ipc.install at 4 PS7, Line 4: /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/osmo-trx-ipc.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/ So the cfg file actually exists in the commit, then drop the FIXME line I commented on ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 13:20:59 +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 Mon Aug 17 13:23:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 13:23:03 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... Patch Set 10: Why aren't the changes applied to other (LMS, USRP1) backends as fixera suggested? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 13:23: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 Mon Aug 17 13:25:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 13:25:45 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 11: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/19650/11/CommonLibs/Vector.h File CommonLibs/Vector.h: https://gerrit.osmocom.org/c/osmo-trx/+/19650/11/CommonLibs/Vector.h at 39 PS11, Line 39: #ifndef __OPTIMIZE__ This smells like WinAPI and VisualStudio :P Where does the __OPTIMIZE__ define come from? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 13:25: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 Aug 17 13:29:06 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 13:29:06 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 11: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/19650/11/CommonLibs/Vector.h File CommonLibs/Vector.h: https://gerrit.osmocom.org/c/osmo-trx/+/19650/11/CommonLibs/Vector.h at 39 PS11, Line 39: #ifndef __OPTIMIZE__ > This smells like WinAPI and VisualStudio :P [?] The two underscores tell you that it comes from the compiler as per standard. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 13:29:06 +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 Aug 17 14:09:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:09:46 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14: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 Aug 17 14:12:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:12:52 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub_test: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 19660 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:12: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 Aug 17 14:14:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:14:02 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:14:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 14:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:15:14 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3/lib/testlib.py: increase test suite execution timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 ) Change subject: ttcn3/lib/testlib.py: increase test suite execution timeout ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f Gerrit-Change-Number: 19657 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:15:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 14:15:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:15:45 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19662 ) Change subject: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b Gerrit-Change-Number: 19662 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:15: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 Aug 17 14:22:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:22:30 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 14:22: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 Aug 17 14:22:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:22:47 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 14: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 Mon Aug 17 14:36:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:36:18 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19668 ) Change subject: vty: print program specific attributes in the XML reference ...................................................................... Patch Set 8: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/19668/8/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/19668/8/src/vty/command.c at 641 PS8, Line 641: if (~cmd->usrattr & (1 << i)) I find !(cmd->usrattr & (1 << i)) a lot easier to read/understand. https://gerrit.osmocom.org/c/libosmocore/+/19668/8/src/vty/command.c at 644 PS8, Line 644: char *xml_att_desc = xml_escape(host.app_info->usr_attr_desc[i]); Move var decl at the start of block, like done in loop below. https://gerrit.osmocom.org/c/libosmocore/+/19668/8/src/vty/command.c at 650 PS8, Line 650: print_func(data, " flag='%c'", 'a' + i); I'm not really liking this dynamic flag character generation, looks as if flag meaning could change over time. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:36:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 14:37:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:37:37 +0000 Subject: Change in osmo-bsc[master]: vty: fix copy-pasted 'no gprs control-ack-type-rach' description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19669 ) Change subject: vty: fix copy-pasted 'no gprs control-ack-type-rach' description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd Gerrit-Change-Number: 19669 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:37:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 14:39:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:39:49 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19670 ) Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:39:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 14:40:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:40:55 +0000 Subject: Change in libosmocore[master]: vty/command: fix switch / case coding style in vty_go_parent() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19666 ) Change subject: vty/command: fix switch / case coding style in vty_go_parent() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 Gerrit-Change-Number: 19666 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:40: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 Aug 17 14:43:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:43:03 +0000 Subject: Change in osmo-gsm-manuals[master]: vty_reference.xsl: handle application specific attributes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 ) Change subject: vty_reference.xsl: handle application specific attributes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19676 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: I17794b2cb476bd54c7b35a1e23c0727352c3a2a9 Gerrit-Change-Number: 19676 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:43: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 Aug 17 14:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:43:58 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:43: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 Aug 17 14:45:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 14:45:11 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... Patch Set 1: Code-Review+2 > Patch Set 1: > > Well it's being used if it exists by qt-creator and by visual studio, how would I know what kind of setup other people use? Well that's exactly what I wanted to know! > I also want to have it in this project, so it can be used in this project, not somewhere where I need to check out a different repo and copy the file just to have it in this project which means no one is going to use it. Fine with me -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 14:45: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 Aug 17 15:21:05 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 15:21:05 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 9: (39 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp File Transceiver52M/device/ipc/IPCDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 66 PS7, Line 66: //m_IPC_stream_rx.resize(chans); > Can be dropped? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 82 PS7, Line 82: //unsigned int i; > Drop it Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 94 PS7, Line 94: for (auto i : shm_io_rx_streams) > That sounds like c++11, do we want to depend on it? (do we already depend on it?) We do, Tom introduced c++11 in 2017 and no one complained about it for 3 years. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 210 PS7, Line 210: /* FIXME: this is actually the sps value, not the sample rate! > What about this? This is how it currently works and there is no way to change it because the other ipc side implemented it this way and we can't really do much about it for the uhd test tool since the actual sample rate depends on the device and other settings and is dynamically looked up. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 227 PS7, Line 227: /* FIXME: clock ref part of config, not open */ > ACK, can be fixed later. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 375 PS7, Line 375: // shm_io_tx_streams.push_back(ipc_shm_init_producer(shm_dec->channels[i]->dl_stream)); > Can be dropped Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 510 PS7, Line 510: //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; > Drop Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 653 PS7, Line 653: int IPCDevice::ipc_sock_write(struct osmo_fd *bfd) > So AFAIU we reimplement all the sock stuff here and we have almost same implementation used for the [?] Because they are different after all and depending on a test tool implementation for internal implementation details does not make sense. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 735 PS7, Line 735: /* _after_ we send it, we can deueue */ > And third typo: dequeue Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 837 PS7, Line 837: void IPCDevice::manually_poll_sock_fds() > We should really make all this async later in the future. No, because it can't be async, because we can't process messages out of order, so we could only asynchronously not handle any events while waiting. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/IPCDevice.cpp at 1163 PS7, Line 1163: //expect_smpls = len - avail_smpls; > Can be dropped Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h File Transceiver52M/device/ipc/ipc-driver-test.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h at 23 PS7, Line 23: /* 8 channels are plenty */ > Ugh that's one per TRX right? Cannot we have more with some devices? (I know, I may have been the on [?] This tool is a hack for a b210, what do I care about devices no one owns that might or might not work and happen to have more than 8 distinct channels?! https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.h at 30 PS7, Line 30: struct osmo_fd conn_bfd; /* fd for connection to lcr */ > lcr? that's probably some leftover from some old code. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c File Transceiver52M/device/ipc/ipc-driver-test.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 70 PS7, Line 70: //enum { DMAIN, > Can br dropped. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 79 PS7, Line 79: [DDEV] = { > Wrong indent. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 91 PS7, Line 91: #ifdef __cplusplus > Why is this here? Shouldn't it be a lot higher? This file was not always a standaloe tool, but used to be included in a cpp file and rand as a thread so it allowed replacing direct function calls to the uhddevice with ipc channels during initial development. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 199 PS7, Line 199: /* FIXME: dynamc chan limit, currently 8 */ > typo dynamic: [?] Ack https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 254 PS7, Line 254: volatile int ul_running = 0; > better use bool with true/false for boolean, it's clearer then that it's a boolean variable. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 261 PS7, Line 261: pthread_setname_np(pthread_self(), "uplink rx"); > I'd avoid spaces in thread names, it's confusing and you save chars (only 15 available): UplinkRx Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 418 PS7, Line 418: //osmo_signal_register_handler(SS_GLOBAL, IPC_if_signal_cb, NULL); > Can be dropped? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc-driver-test.c at 496 PS7, Line 496: //ipc_sock_close() > Can be uncommented? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c File Transceiver52M/device/ipc/ipc_chan.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 52 PS7, Line 52: fprintf > Agree with all log related comments from laforge. done. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 193 PS7, Line 193: /* _after_ we send it, we can deueue */ > typo: dequeue Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_chan.c at 265 PS7, Line 265: //IPC_tx_info_ind(); > what about this? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.h File Transceiver52M/device/ipc/ipc_shm.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.h at 31 PS7, Line 31: volatile struct ipc_shm_raw_stream *this_stream; // plus num_buffers at end > I don't see num_buffers anywhere nearby? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c File Transceiver52M/device/ipc/ipc_shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 34 PS7, Line 34: #define SAMPLE_SIZE_BYTE sizeof(uint16_t) * 2 > better adding () around here. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 36 PS7, Line 36: struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s) > A bit of documentation in functions would be welcome at some point. Ack https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 67 PS7, Line 67: fprintf > likewise here in this function, please use the osmocom logging framework. [?] Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_shm.c at 120 PS7, Line 120: if (r->buf_ptrs) > free already checks for NULL, no need to check. Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c File Transceiver52M/device/ipc/ipc_sock.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 70 PS7, Line 70: //struct ipc_sk_if *ipc_prim = (struct ipc_sk_if *) msg->data; > This line can be dropped? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 200 PS7, Line 200: /* _after_ we send it, we can deueue */ > typo: dequeue Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/ipc_sock.c at 270 PS7, Line 270: //IPC_tx_info_ind(); > Can be dropped? Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.h File Transceiver52M/device/ipc/shm.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.h at 33 PS7, Line 33: pthread_cond_t cf; > May be worth documenting all these conditional variables. Ack https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.c File Transceiver52M/device/ipc/shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/shm.c at 40 PS7, Line 40: #ifdef ENCDECDEBUG : fprintf(stderr, "decode: smpl_buf %d at offset %u\n", i, stream_raw->buffer_offset[i]); : #endif > would make sense to #define a DEBUGENCDEC() macro to avoid #ifdef/endif around every line of related [?] Done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/uhdwrap.h File Transceiver52M/device/ipc/uhdwrap.h: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/ipc/uhdwrap.h at 46 PS7, Line 46: // bool start() override; > Drop all the commented lines. No. They serve as as reminder that you can coveniently wrap start and stop here to debug stuff. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/uhd/UHDDevice.cpp File Transceiver52M/device/uhd/UHDDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/Transceiver52M/device/uhd/UHDDevice.cpp at 155 PS7, Line 155: osmo_cpu_sched_vty_apply_localthread(); > Non related, must be in a separate commit. BTW, why does it fail? It shouldn't... [?] No, this code is used by the uhd ipc test backend, which does not have a vty or anthing else, that is why it fails and that is why it is part of this patchset. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/configure.ac File configure.ac: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/configure.ac at 246 PS7, Line 246: AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" == "xyes"]) > This change looks non related, please submit a separate patch. [?] This is a related change because it defaults to uhd which means you can't quite build the ipc backend without uhd, even though is has no deps on uhd. https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/contrib/osmo-trx.spec.in File contrib/osmo-trx.spec.in: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/contrib/osmo-trx.spec.in at 239 PS7, Line 239: # FIXME: missing: osmo-trx-ipc.cfg > Please add the file to the commit instead of adding a FIXME here. done https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/debian/osmo-trx-ipc.install File debian/osmo-trx-ipc.install: https://gerrit.osmocom.org/c/osmo-trx/+/19641/7/debian/osmo-trx-ipc.install at 4 PS7, Line 4: /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/osmo-trx-ipc.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/ > So the cfg file actually exists in the commit, then drop the FIXME line I commented on ;) yep. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 9 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 15:21:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 15:21:12 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Aug 2020 15:21:12 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 to look at the new patch set (#10). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,769 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 15:28:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 17 Aug 2020 15:28:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1//COMMIT_MSG at 10 PS1, Line 10: BTSes > all affected BTSs. The RESET comamnd contains a list of cell identifiers. [?] indeed. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn at 197 PS1, Line 197: [] IPA_RSL[0].receive(zero_payload) { log("CBSP: disabled broadcast on bts 0"); } > the zero-length RSL ETWS command does not disable all CBSP broadcast, but only the ETWS PN broadcast [?] In fact I am only marginally familiar with this area, I don't know what other broadcast besides PN exists. Is the point that more broadcast disabling is missing in osmo-bsc's CBSP RESET procedure? Or is it just that the naming of this function and commit log should say "pn"? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 15:28: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 Aug 17 15:33:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 17 Aug 2020 15:33:36 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop all ETWS broadcast ...................................................................... Patch Set 2: DO NOT MERGE WITHOUT RELATED osmo-ttcn3-hacks PATCH -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 17 Aug 2020 15:33:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 15:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 15:40:50 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 10: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc-driver-test.c File Transceiver52M/device/ipc/ipc-driver-test.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc-driver-test.c at 245 PS10, Line 245: volatile bool ul_running = 0; = false https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc-driver-test.c at 252 PS10, Line 252: pthread_setname_np(pthread_self(), "uplink_rx"); I was following CamelCase convention in osmo-trx because it uses less characters (only 15 allowed), but fine here for now. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 15:40:50 +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 Aug 17 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 16:15:51 +0000 Subject: Change in osmo-pcu[master]: Fix typo in log message References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19677 ) Change subject: Fix typo in log message ...................................................................... Fix typo in log message Change-Id: Ifd65542eca9180a2fcaaca290861396569e453ec --- M src/gprs_rlcmac_meas.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/77/19677/1 diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 441f58d..f4a7e47 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -42,8 +42,8 @@ NC_Measurements_t *nc; int i; - LOGP(DRLCMACMEAS, LOGL_INFO, "Measuement Report of TLLI=0x%08x:", - pmr->TLLI); + LOGP(DRLCMACMEAS, LOGL_INFO, "Measurement Report of TLLI=0x%08x:", + pmr->TLLI); switch (pmr->UnionType) { case 0: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifd65542eca9180a2fcaaca290861396569e453ec Gerrit-Change-Number: 19677 Gerrit-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 Aug 17 16:21:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 16:21:12 +0000 Subject: Change in osmo-pcu[master]: Fix typo in log message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19677 ) Change subject: Fix typo in log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifd65542eca9180a2fcaaca290861396569e453ec Gerrit-Change-Number: 19677 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Aug 2020 16:21:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 17:12:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 17:12:54 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#5) to the change originally created by daniel. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX ...................................................................... osmo-bts-trx: Use much lower clock advance values towards PCU and TRX osmotrx fn-advance (which is the clock_advance variable here) and osmotrx rts-advance together make up the minimum delay the BTS can react to a channel request, etc. The default of 20 are around 92ms which is clearly too much. With modern hardware and using SCHED_RR a lower value should not be an issue. See OS#4487 for some related measurements on more CPU-limited devices like a LimeNet-micro3. Fixes: OS#4487 Fixes: SYS#4885 Related: SYS#4881 Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d --- M doc/manuals/chapters/bts-models.adoc M src/osmo-bts-trx/main.c 2 files changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/17766/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Mon Aug 17 17:33:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 17:33:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 17: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 Mon Aug 17 17:44:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 17:44:13 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 10: (10 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c File Transceiver52M/device/ipc/ipc_chan.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 66 PS10, Line 66: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 99 PS10, Line 99: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 130 PS10, Line 130: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 138 PS10, Line 138: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 168 PS10, Line 168: "message type (%d) with ZERO " Not critical, but I still find formatting of this statement looking odd. https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 225 PS10, Line 225: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 230 PS10, Line 230: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 248 PS10, Line 248: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_chan.c at 256 PS10, Line 256: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg File doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg: https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg at 17 PS10, Line 17: egprs disable duplicate, see line #24 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 17:44:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 17:45:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 17:45:37 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 10: Also, shouldn't we use thread-safe logging? (see CommonLibs/Logger.h) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 17:45:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 17:48:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 17:48:03 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 12 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 17:48:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 17:52:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Aug 2020 17:52:34 +0000 Subject: Change in osmo-pcu[master]: Fix typo in log message In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19677 ) Change subject: Fix typo in log message ...................................................................... Fix typo in log message Change-Id: Ifd65542eca9180a2fcaaca290861396569e453ec --- M src/gprs_rlcmac_meas.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 441f58d..f4a7e47 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -42,8 +42,8 @@ NC_Measurements_t *nc; int i; - LOGP(DRLCMACMEAS, LOGL_INFO, "Measuement Report of TLLI=0x%08x:", - pmr->TLLI); + LOGP(DRLCMACMEAS, LOGL_INFO, "Measurement Report of TLLI=0x%08x:", + pmr->TLLI); switch (pmr->UnionType) { case 0: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifd65542eca9180a2fcaaca290861396569e453ec Gerrit-Change-Number: 19677 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 Aug 17 18:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Aug 2020 18:00:13 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 10: (4 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_shm.c File Transceiver52M/device/ipc/ipc_shm.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_shm.c at 43 PS10, Line 43: malloc Can we use talloc here? (just wondering) https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_sock.c File Transceiver52M/device/ipc/ipc_sock.c: https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_sock.c at 59 PS10, Line 59: LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); 0x%02x https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_sock.c at 59 PS10, Line 59: DMAIN DDEV? https://gerrit.osmocom.org/c/osmo-trx/+/19641/10/Transceiver52M/device/ipc/ipc_sock.c at 269 PS10, Line 269: IPC_tx_info_ind Why is it commented out? If it's not needed - please drop it. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Aug 2020 18:00:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 20:13:27 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Aug 2020 20:13:27 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19662 ) Change subject: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b Gerrit-Change-Number: 19662 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Aug 2020 20:13:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 17 20:21:41 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Aug 2020 20:21:41 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 ) Change subject: gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr ...................................................................... gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr The osmo_ prefix should be only used for official struct/apis of libosmocore. This commit was done via `sed -i 's/osmo_sockaddr/sgsn_sockaddr/g'`. In prepartion of introducing a different api of osmo_sockaddr to libosmocore. Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 --- M include/osmocom/sgsn/gtphub.h M src/gprs/gtphub.c M src/gprs/gtphub_sock.c M tests/gtphub/gtphub_test.c 4 files changed, 95 insertions(+), 95 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/sgsn/gtphub.h b/include/osmocom/sgsn/gtphub.h index 8fd9f38..6a439b5 100644 --- a/include/osmocom/sgsn/gtphub.h +++ b/include/osmocom/sgsn/gtphub.h @@ -35,14 +35,14 @@ /* TODO move to osmocom/core/socket.c ? */ #include /* for IPPROTO_* etc */ -struct osmo_sockaddr { +struct sgsn_sockaddr { struct sockaddr_storage a; socklen_t l; }; /* TODO move to osmocom/core/socket.c ? */ /*! \brief Initialize a sockaddr - * \param[out] addr Valid osmo_sockaddr pointer to write result to + * \param[out] addr Valid sgsn_sockaddr pointer to write result to * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP @@ -53,16 +53,16 @@ * Copy the first result from a getaddrinfo() call with the given parameters to * *addr and *addr_len. On error, do not change *addr and return nonzero. */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port); /* Conveniently pass AF_UNSPEC, SOCK_DGRAM and IPPROTO_UDP to - * osmo_sockaddr_init(). */ -static inline int osmo_sockaddr_init_udp(struct osmo_sockaddr *addr, + * sgsn_sockaddr_init(). */ +static inline int sgsn_sockaddr_init_udp(struct sgsn_sockaddr *addr, const char *host, uint16_t port) { - return osmo_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, + return sgsn_sockaddr_init(addr, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, host, port); } @@ -71,25 +71,25 @@ * \param[in] addr_str_len Size of buffer addr_str points at. * \param[out] port_str Valid pointer to a buffer of length port_str_len. * \param[in] port_str_len Size of buffer port_str points at. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] flags flags as passed to getnameinfo(). * \returns 0 on success, an error code on error. * * Return the IPv4 or IPv6 address string and the port (a.k.a. service) string - * representations of the given struct osmo_sockaddr in two caller provided + * representations of the given struct sgsn_sockaddr in two caller provided * char buffers. Flags of (NI_NUMERICHOST | NI_NUMERICSERV) return numeric * address and port. Either one of addr_str or port_str may be NULL, in which * case nothing is returned there. * - * See also osmo_sockaddr_to_str() (less flexible, but much more convenient). */ -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, + * See also sgsn_sockaddr_to_str() (less flexible, but much more convenient). */ +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags); -/*! \brief concatenate the parts returned by osmo_sockaddr_to_strs(). - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief concatenate the parts returned by sgsn_sockaddr_to_strs(). + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \param[in] buf A buffer to use for string operations. * \param[in] buf_len Length of the buffer. * \returns Address string (in buffer). @@ -98,33 +98,33 @@ * the form " port ". The returned string is valid until the * next invocation of this function. */ -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len); -/*! \brief conveniently return osmo_sockaddr_to_strb() in a static buffer. - * \param[in] addr Binary representation as returned by osmo_sockaddr_init(). +/*! \brief conveniently return sgsn_sockaddr_to_strb() in a static buffer. + * \param[in] addr Binary representation as returned by sgsn_sockaddr_init(). * \returns Address string in static buffer. * - * See osmo_sockaddr_to_strb(). + * See sgsn_sockaddr_to_strb(). * - * Note: only one osmo_sockaddr_to_str() call will work per print/log - * statement. For two or more, use osmo_sockaddr_to_strb() with a separate + * Note: only one sgsn_sockaddr_to_str() call will work per print/log + * statement. For two or more, use sgsn_sockaddr_to_strb() with a separate * buffer each. */ -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr); +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr); -/*! \brief compare two osmo_sockaddr. +/*! \brief compare two sgsn_sockaddr. * \param[in] a The first address to compare. * \param[in] b The other address to compare. * \returns 0 if equal, otherwise -1 or 1. */ -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b); +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b); /*! \brief Overwrite *dst with *src. * Like memcpy(), but copy only the valid bytes. */ -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src); +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src); /* general */ @@ -179,7 +179,7 @@ /* Decode sa to gsna. Return 0 on success. If port is non-NULL, the port number * from sa is also returned. */ int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa); + const struct sgsn_sockaddr *sa); /* expiry */ @@ -389,7 +389,7 @@ struct gtphub_peer_addr *peer_addr; uint16_t port; unsigned int ref_count; /* references from other peers' seq_maps */ - struct osmo_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ + struct sgsn_sockaddr sa; /* a "cache" for (peer_addr->addr, port) */ int last_restart_count; /* 0..255 = valid, all else means unknown */ struct rate_ctr_group *counters_io; @@ -496,13 +496,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int port_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr); + struct sgsn_sockaddr *to_addr); struct gtphub_peer_port *gtphub_port_have(struct gtphub *hub, struct gtphub_bind *bind, @@ -510,7 +510,7 @@ uint16_t port); struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); void gtphub_resolved_ggsn(struct gtphub *hub, const char *apn_oi_str, struct gsn_addr *resolved_addr, @@ -519,5 +519,5 @@ const char *gtphub_port_str(struct gtphub_peer_port *port); int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); diff --git a/src/gprs/gtphub.c b/src/gprs/gtphub.c index ca5857b..3e5c6f0 100644 --- a/src/gprs/gtphub.c +++ b/src/gprs/gtphub.c @@ -167,12 +167,12 @@ } int gsn_addr_from_sockaddr(struct gsn_addr *gsna, uint16_t *port, - const struct osmo_sockaddr *sa) + const struct sgsn_sockaddr *sa) { char addr_str[256]; char port_str[6]; - if (osmo_sockaddr_to_strs(addr_str, sizeof(addr_str), + if (sgsn_sockaddr_to_strs(addr_str, sizeof(addr_str), port_str, sizeof(port_str), sa, (NI_NUMERICHOST | NI_NUMERICSERV)) != 0) { @@ -925,7 +925,7 @@ /* Recv datagram from from->fd, write sender's address to *from_addr. * Return the number of bytes read, zero on error. */ static int gtphub_read(const struct osmo_fd *from, - struct osmo_sockaddr *from_addr, + struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t buf_len) { OSMO_ASSERT(from_addr); @@ -946,7 +946,7 @@ } LOG(LOGL_DEBUG, "Received %d bytes from %s: %s%s\n", - (int)received, osmo_sockaddr_to_str(from_addr), + (int)received, sgsn_sockaddr_to_str(from_addr), osmo_hexdump(buf, received > 1000? 1000 : received), received > 1000 ? "..." : ""); @@ -1954,8 +1954,8 @@ struct gtphub *hub = from_sgsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -1985,8 +1985,8 @@ struct gtphub *hub = from_ggsns_ofd->data; static uint8_t buf[4096]; - struct osmo_sockaddr from_addr; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr from_addr; + struct sgsn_sockaddr to_addr; struct osmo_fd *to_ofd; int len; uint8_t *reply_buf; @@ -2071,9 +2071,9 @@ static int gsn_addr_to_sockaddr(struct gsn_addr *src, uint16_t port, - struct osmo_sockaddr *dst) + struct sgsn_sockaddr *dst) { - return osmo_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); + return sgsn_sockaddr_init_udp(dst, gsn_addr_to_str(src), port); } /* If p is an Echo request, replace p's data with the matching response and @@ -2107,7 +2107,7 @@ } struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr); + const struct sgsn_sockaddr *addr); /* Parse buffer as GTP packet, replace elements in-place and return the ofd and * address to forward to. Return a pointer to the osmo_fd, but copy the @@ -2117,13 +2117,13 @@ int gtphub_handle_buf(struct gtphub *hub, unsigned int side_idx, unsigned int plane_idx, - const struct osmo_sockaddr *from_addr, + const struct sgsn_sockaddr *from_addr, uint8_t *buf, size_t received, time_t now, uint8_t **reply_buf, struct osmo_fd **to_ofd, - struct osmo_sockaddr *to_addr) + struct sgsn_sockaddr *to_addr) { struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx]; struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx]; @@ -2138,7 +2138,7 @@ (side_idx == GTPH_SIDE_GGSN)? "<-" : "->", gtphub_plane_idx_names[plane_idx], gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr), + sgsn_sockaddr_to_str(from_addr), gtp_type_str(p.type)); if (p.rc <= 0) { @@ -2146,7 +2146,7 @@ gtp_type_str(p.type), gtphub_side_idx_names[side_idx], gtphub_plane_idx_names[plane_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2156,7 +2156,7 @@ reply_len = gtphub_handle_echo_req(hub, &p, reply_buf); if (reply_len > 0) { /* It was an echo. Nothing left to do. */ - osmo_sockaddr_copy(to_addr, from_addr); + sgsn_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); @@ -2165,7 +2165,7 @@ LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n", (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--", gtphub_side_idx_names[side_idx], - (int)reply_len, osmo_sockaddr_to_str(to_addr)); + (int)reply_len, sgsn_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) @@ -2178,7 +2178,7 @@ * so no-one else is allowed to talk to us from that side. */ struct gtphub_peer_port *from_peer = hub->proxy[side_idx][plane_idx]; if (from_peer) { - if (osmo_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { + if (sgsn_sockaddr_cmp(&from_peer->sa, from_addr) != 0) { LOG(LOGL_ERROR, "Rejecting: %s proxy configured, but GTP packet" " received on %s bind is from another sender:" @@ -2186,7 +2186,7 @@ gtphub_side_idx_names[side_idx], gtphub_side_idx_names[side_idx], gtphub_port_str(from_peer), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } } @@ -2204,7 +2204,7 @@ if (side_idx == GTPH_SIDE_GGSN) { LOG(LOGL_ERROR, "Dropping packet%s: unknown GGSN peer: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } else { /* SGSN */ @@ -2216,7 +2216,7 @@ "Dropping packet%s: User plane peer was not" "announced by PDP Context: %s\n", gtp_type_str(p.type), - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2235,7 +2235,7 @@ LOG(LOGL_ERROR, "Dropping packet%s: invalid %s peer: %s\n", gtp_type_str(p.type), gtphub_side_idx_names[side_idx], - osmo_sockaddr_to_str(from_addr)); + sgsn_sockaddr_to_str(from_addr)); return -1; } @@ -2309,7 +2309,7 @@ if (!to_peer_from_seq) gtphub_map_seq(&p, from_peer, to_peer); - osmo_sockaddr_copy(to_addr, &to_peer->sa); + sgsn_sockaddr_copy(to_addr, &to_peer->sa); *reply_buf = (uint8_t*)p.data; @@ -2335,7 +2335,7 @@ (side_idx == GTPH_SIDE_SGSN)? "-->" : "<--", gtphub_side_idx_names[other_side_idx(side_idx)], p.header_tei, p.seq, - (int)received, osmo_sockaddr_to_str(to_addr)); + (int)received, sgsn_sockaddr_to_str(to_addr)); return received; } @@ -2645,7 +2645,7 @@ } struct gtphub_peer_port *gtphub_port_find_sa(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gsn_addr gsna; uint16_t port; @@ -2762,7 +2762,7 @@ /* Find a GGSN peer with a matching address. If the address is known but the * port not, create a new port for that peer address. */ struct gtphub_peer_port *gtphub_known_addr_have_port(const struct gtphub_bind *bind, - const struct osmo_sockaddr *addr) + const struct sgsn_sockaddr *addr) { struct gtphub_peer_addr *pa; struct gtphub_peer_port *pp; @@ -2817,7 +2817,7 @@ /* TODO move to osmocom/core/socket.c ? */ /* use this in osmo_sock_init() to remove dup. */ -/* Internal: call getaddrinfo for osmo_sockaddr_init(). The caller is required +/* Internal: call getaddrinfo for sgsn_sockaddr_init(). The caller is required to call freeaddrinfo(*result), iff zero is returned. */ static int _osmo_getaddrinfo(struct addrinfo **result, uint16_t family, uint16_t type, uint8_t proto, @@ -2844,7 +2844,7 @@ } /* TODO move to osmocom/core/socket.c ? */ -int osmo_sockaddr_init(struct osmo_sockaddr *addr, +int sgsn_sockaddr_init(struct sgsn_sockaddr *addr, uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port) { @@ -2865,9 +2865,9 @@ return 0; } -int osmo_sockaddr_to_strs(char *addr_str, size_t addr_str_len, +int sgsn_sockaddr_to_strs(char *addr_str, size_t addr_str_len, char *port_str, size_t port_str_len, - const struct osmo_sockaddr *addr, + const struct sgsn_sockaddr *addr, int flags) { int rc; @@ -2896,14 +2896,14 @@ return rc; } -const char *osmo_sockaddr_to_strb(const struct osmo_sockaddr *addr, +const char *sgsn_sockaddr_to_strb(const struct sgsn_sockaddr *addr, char *buf, size_t buf_len) { const int portbuf_len = 6; OSMO_ASSERT(buf_len > portbuf_len); char *portbuf = buf + buf_len - portbuf_len; buf_len -= portbuf_len; - if (osmo_sockaddr_to_strs(buf, buf_len, + if (sgsn_sockaddr_to_strs(buf, buf_len, portbuf, portbuf_len, addr, NI_NUMERICHOST | NI_NUMERICSERV)) @@ -2918,17 +2918,17 @@ return buf; } -const char *osmo_sockaddr_to_str(const struct osmo_sockaddr *addr) +const char *sgsn_sockaddr_to_str(const struct sgsn_sockaddr *addr) { static char buf[256]; - const char *result = osmo_sockaddr_to_strb(addr, buf, sizeof(buf)); + const char *result = sgsn_sockaddr_to_strb(addr, buf, sizeof(buf)); if (! result) return "(invalid)"; return result; } -int osmo_sockaddr_cmp(const struct osmo_sockaddr *a, - const struct osmo_sockaddr *b) +int sgsn_sockaddr_cmp(const struct sgsn_sockaddr *a, + const struct sgsn_sockaddr *b) { if (a == b) return 0; @@ -2938,7 +2938,7 @@ return 1; if (a->l != b->l) { /* Lengths are not the same, but determine the order. Will - * anyone ever sort a list by osmo_sockaddr though...? */ + * anyone ever sort a list by sgsn_sockaddr though...? */ int cmp = memcmp(&a->a, &b->a, (a->l < b->l)? a->l : b->l); if (cmp == 0) { if (a->l < b->l) @@ -2951,8 +2951,8 @@ return memcmp(&a->a, &b->a, a->l); } -void osmo_sockaddr_copy(struct osmo_sockaddr *dst, - const struct osmo_sockaddr *src) +void sgsn_sockaddr_copy(struct sgsn_sockaddr *dst, + const struct sgsn_sockaddr *src) { OSMO_ASSERT(src->l <= sizeof(dst->a)); memcpy(&dst->a, &src->a, src->l); diff --git a/src/gprs/gtphub_sock.c b/src/gprs/gtphub_sock.c index 1acd5a6..1837533 100644 --- a/src/gprs/gtphub_sock.c +++ b/src/gprs/gtphub_sock.c @@ -33,13 +33,13 @@ LOGP(DGTPHUB, level, fmt, ##args) int gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { errno = 0; ssize_t sent = sendto(to->fd, buf, buf_len, 0, (struct sockaddr*)&to_addr->a, to_addr->l); - LOG(LOGL_DEBUG, "to %s\n", osmo_sockaddr_to_str(to_addr)); + LOG(LOGL_DEBUG, "to %s\n", sgsn_sockaddr_to_str(to_addr)); if (sent == -1) { LOG(LOGL_ERROR, "error: %s\n", strerror(errno)); diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 2e48bb1..9a8ec6b 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -378,37 +378,37 @@ char resolve_ggsn_got_imsi[GSM23003_IMSI_MAX_DIGITS+1]; char resolve_ggsn_got_ni[GSM_APN_LENGTH]; -struct osmo_sockaddr resolved_ggsn_addr; +struct sgsn_sockaddr resolved_ggsn_addr; static int resolve_to_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_ggsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_ggsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr resolved_sgsn_addr; +struct sgsn_sockaddr resolved_sgsn_addr; static int resolve_to_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&resolved_sgsn_addr, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&resolved_sgsn_addr, addr, port) == 0); return 1; } -struct osmo_sockaddr sgsn_sender; +struct sgsn_sockaddr sgsn_sender; static int send_from_sgsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&sgsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&sgsn_sender, addr, port) == 0); return 1; } -struct osmo_sockaddr ggsn_sender; +struct sgsn_sockaddr ggsn_sender; static int send_from_ggsn(const char *addr, uint16_t port) { - LVL2_ASSERT(osmo_sockaddr_init_udp(&ggsn_sender, + LVL2_ASSERT(sgsn_sockaddr_init_udp(&ggsn_sender, addr, port) == 0); return 1; @@ -491,18 +491,18 @@ /* override, requires '-Wl,--wrap=gtphub_write' */ int __real_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len); int __wrap_gtphub_write(const struct osmo_fd *to, - const struct osmo_sockaddr *to_addr, + const struct sgsn_sockaddr *to_addr, const uint8_t *buf, size_t buf_len) { printf("Out-of-band gtphub_write(%d):\n" "to %s\n" "%s\n", (int)buf_len, - osmo_sockaddr_to_str(to_addr), + sgsn_sockaddr_to_str(to_addr), osmo_hexdump(buf, buf_len)); return 0; } @@ -553,11 +553,11 @@ } #define same_addr(GOT, EXPECTED) _same_addr((GOT),(EXPECTED), __FILE__, __LINE__) -static int _same_addr(const struct osmo_sockaddr *got, - const struct osmo_sockaddr *expected, +static int _same_addr(const struct sgsn_sockaddr *got, + const struct sgsn_sockaddr *expected, const char *file, int line) { - int cmp = osmo_sockaddr_cmp(got, expected); + int cmp = sgsn_sockaddr_cmp(got, expected); if (!cmp) return 1; char buf[256]; @@ -565,8 +565,8 @@ " expecting: '%s'\n" " got: '%s'\n\n", file, line, - osmo_sockaddr_to_str(expected), - osmo_sockaddr_to_strb(got, buf, sizeof(buf))); + sgsn_sockaddr_to_str(expected), + sgsn_sockaddr_to_strb(got, buf, sizeof(buf))); return 0; } @@ -668,7 +668,7 @@ now = 123; struct osmo_fd *to_ofd; - struct osmo_sockaddr to_addr; + struct sgsn_sockaddr to_addr; struct gtphub_peer_port *pp; int send; @@ -855,13 +855,13 @@ #define msg_from_sgsn_c(A,B,C,D) msg_from_sgsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_sgsn_u(A,B,C,D) msg_from_sgsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_sgsn(int plane_idx, - struct osmo_sockaddr *_sgsn_sender, - struct osmo_sockaddr *ggsn_receiver, + struct sgsn_sockaddr *_sgsn_sender, + struct sgsn_sockaddr *ggsn_receiver, const char *hex_from_sgsn, const char *hex_to_ggsn) { struct osmo_fd *ggsn_ofd = NULL; - struct osmo_sockaddr ggsn_addr; + struct sgsn_sockaddr ggsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_SGSN, plane_idx, _sgsn_sender, buf, msg(hex_from_sgsn), now, @@ -875,13 +875,13 @@ #define msg_from_ggsn_c(A,B,C,D) msg_from_ggsn(GTPH_PLANE_CTRL, A,B,C,D) #define msg_from_ggsn_u(A,B,C,D) msg_from_ggsn(GTPH_PLANE_USER, A,B,C,D) static int msg_from_ggsn(int plane_idx, - struct osmo_sockaddr *ggsn_sender, - struct osmo_sockaddr *sgsn_receiver, + struct sgsn_sockaddr *ggsn_sender, + struct sgsn_sockaddr *sgsn_receiver, const char *msg_from_ggsn, const char *msg_to_sgsn) { struct osmo_fd *sgsn_ofd; - struct osmo_sockaddr sgsn_addr; + struct sgsn_sockaddr sgsn_addr; int send; send = gtphub_handle_buf(hub, GTPH_SIDE_GGSN, plane_idx, ggsn_sender, buf, msg(msg_from_ggsn), now, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: Ibb1ddce9ff1ffe7494de5cdb8ea1843c45fe4566 Gerrit-Change-Number: 19615 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: 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 admin at opensuse.org Tue Aug 18 01:41:37 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 18 Aug 2020 01:41:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f3b31ef48b20_46212ad2cf82e5fc2350f0@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: [ 326s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 326s] [COMPILING libboard/qmod/source/card_pres.c] [ 326s] [COMPILING libboard/qmod/source/wwan_led.c] [ 326s] [COMPILING libboard/qmod/source/i2c.c] [ 326s] [COMPILING libboard/qmod/source/board_qmod.c] [ 327s] [COMPILING apps/dfu/main.c] [ 327s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 327s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 327s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 327s] Memory region Used Size Region Size %age Used [ 327s] rom: 16588 B 16 KB 101.25% [ 327s] 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' [ 327s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 327s] collect2: error: ld returned 1 exit status [ 327s] % [ 327s] make[2]: *** [Makefile:234: flash] Error 1 [ 327s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 327s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 327s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 327s] dh_auto_build: error: make -j1 returned exit code 2 [ 327s] make: *** [debian/rules:16: build] Error 25 [ 327s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 327s] ### VM INTERACTION START ### [ 330s] [ 315.485363] sysrq: Power Off [ 330s] [ 315.500675] reboot: Power down [ 330s] ### VM INTERACTION END ### [ 330s] [ 330s] lamb23 failed "build simtrace2_0.7.0.63.39070.dsc" at Tue Aug 18 01:41:21 UTC 2020. [ 330s] -- 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 Aug 18 06:11:07 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 18 Aug 2020 06:11:07 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Aug 2020 06:11: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 Aug 18 08:05:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 08:05:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Aug 2020 08:05: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 Aug 18 08:05:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 08:05:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17766 ) Change subject: osmo-bts-trx: Use much lower clock advance values towards PCU and TRX ...................................................................... osmo-bts-trx: Use much lower clock advance values towards PCU and TRX osmotrx fn-advance (which is the clock_advance variable here) and osmotrx rts-advance together make up the minimum delay the BTS can react to a channel request, etc. The default of 20 are around 92ms which is clearly too much. With modern hardware and using SCHED_RR a lower value should not be an issue. See OS#4487 for some related measurements on more CPU-limited devices like a LimeNet-micro3. Fixes: OS#4487 Fixes: SYS#4885 Related: SYS#4881 Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d --- M doc/manuals/chapters/bts-models.adoc M src/osmo-bts-trx/main.c 2 files changed, 4 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index 495571f..5cb0461 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -270,8 +270,7 @@ running it on the same machine, where the UDP packets are just passed over the loopback device. -The default value for `fn-advance` is 20 (corresponding to 92 -milliseconds). +The default value for `fn-advance` is 2 (corresponding to 9.2 milliseconds). ===== `osmotrx rts-advance <0-30>` @@ -290,7 +289,7 @@ N + fn-advance + rts-advance -The default value of `rts-advance` is 5 (corresponding to 23 milliseconds). +The default value of `rts-advance` is 3 (corresponding to 14 milliseconds). Do not change this unless you have a good reason! ===== `osmotrx rx-gain <0-50>` diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 33bc6f2..166af7e 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -167,8 +167,8 @@ plink->u.osmotrx.remote_ip = talloc_strdup(plink, "127.0.0.1"); plink->u.osmotrx.base_port_local = 5800; plink->u.osmotrx.base_port_remote = 5700; - plink->u.osmotrx.clock_advance = 20; - plink->u.osmotrx.rts_advance = 5; + plink->u.osmotrx.clock_advance = 2; + plink->u.osmotrx.rts_advance = 3; /* attempt use newest TRXD version by default: */ plink->u.osmotrx.trxd_hdr_ver_max = TRX_DATA_FORMAT_VER; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7da3d0948f38e12342fb714b29f8edc5e9d0933d Gerrit-Change-Number: 17766 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 09:03:37 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 Aug 2020 09:03:37 +0000 Subject: Change in osmo-ccid-firmware[master]: proper card powerup handling In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 ) Change subject: proper card powerup handling ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb Gerrit-Change-Number: 19473 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Aug 2020 09:03: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 Aug 18 09:03:43 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 Aug 2020 09:03:43 +0000 Subject: Change in osmo-ccid-firmware[master]: proper card powerup handling In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 ) Change subject: proper card powerup handling ...................................................................... proper card powerup handling Now that the timers work as intended other voltages (that lead to timeouts) may be used. Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb --- M ccid_common/ccid_slot_fsm.c M ccid_common/cuart.h M ccid_host/cuart_driver_tty.c M ccid_host/cuart_fsm_test.c M sysmoOCTSIM/cuart_driver_asf4_usart_async.c 5 files changed, 40 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index a00375e..99c8c21 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -77,7 +77,7 @@ if (!present) { osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_CARD_REMOVAL, NULL); card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); - card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER_5V0, false); cs->icc_powered = false; cs->cmd_busy = false; } @@ -87,15 +87,24 @@ const struct ccid_pc_to_rdr_icc_power_on *ipo) { struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); + enum ccid_power_select pwrsel = ipo->bPowerSelect; + enum card_uart_ctl cctl; ss->seq = ipo->hdr.bSeq; LOGPCS(cs, LOGL_DEBUG, "scheduling power-up\n"); + switch (pwrsel) { + case CCID_PWRSEL_5V0: cctl = CUART_CTL_POWER_5V0; break; + case CCID_PWRSEL_3V0: cctl = CUART_CTL_POWER_3V0; break; + case CCID_PWRSEL_1V8: cctl = CUART_CTL_POWER_1V8; break; + default: cctl = CUART_CTL_POWER_5V0; + } + if (! cs->icc_powered) { /* FIXME: do this via a FSM? */ card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_ACT_IND, NULL); - card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + card_uart_ctrl(ss->cuart, cctl, true); osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); cs->icc_powered = true; card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); @@ -166,7 +175,7 @@ /* perform deactivation */ card_uart_ctrl(ss->cuart, CUART_CTL_RST, true); - card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER_5V0, false); cs->icc_powered = false; @@ -285,10 +294,10 @@ struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); if (enable) { - card_uart_ctrl(ss->cuart, CUART_CTL_POWER, true); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER_5V0, true); cs->icc_powered = true; } else { - card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false); + card_uart_ctrl(ss->cuart, CUART_CTL_POWER_5V0, false); cs->icc_powered = false; } } diff --git a/ccid_common/cuart.h b/ccid_common/cuart.h index 1df0c49..6f8ba70 100644 --- a/ccid_common/cuart.h +++ b/ccid_common/cuart.h @@ -25,7 +25,9 @@ CUART_CTL_RX, /* enable/disable receiver */ CUART_CTL_RX_TIMER_HINT, /* tell cuart approximate number of rx bytes */ CUART_CTL_NO_RXTX, /* enable/disable receiver */ - CUART_CTL_POWER, /* enable/disable ICC power */ + CUART_CTL_POWER_5V0, + CUART_CTL_POWER_3V0, + CUART_CTL_POWER_1V8, CUART_CTL_CLOCK, /* enable/disable ICC clock */ CUART_CTL_SET_CLOCK_FREQ, /* set ICC clock frequency (hz)*/ CUART_CTL_RST, /* enable/disable ICC reset */ diff --git a/ccid_host/cuart_driver_tty.c b/ccid_host/cuart_driver_tty.c index 5f635b5..42a8430 100644 --- a/ccid_host/cuart_driver_tty.c +++ b/ccid_host/cuart_driver_tty.c @@ -284,7 +284,9 @@ case CUART_CTL_WTIME: /* no driver-specific handling of this */ break; - case CUART_CTL_POWER: + case CUART_CTL_POWER_5V0: + case CUART_CTL_POWER_3V0: + case CUART_CTL_POWER_1V8: case CUART_CTL_CLOCK: default: return -EINVAL; diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c index 5b03bfe..38cad14 100644 --- a/ccid_host/cuart_fsm_test.c +++ b/ccid_host/cuart_fsm_test.c @@ -79,7 +79,7 @@ /* activate reset, then power up */ card_uart_ctrl(&g_cuart, CUART_CTL_RST, true); - card_uart_ctrl(&g_cuart, CUART_CTL_POWER, true); + card_uart_ctrl(&g_cuart, CUART_CTL_POWER_1V8, true); osmo_fsm_inst_dispatch(fi, ISO7816_E_POWER_UP_IND, NULL); /* activate clock */ diff --git a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c index 0e83385..89cd734 100644 --- a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c +++ b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c @@ -373,15 +373,32 @@ settings.rstin = arg ? true : false; ncn8025_set(cuart->u.asf4.slot_nr, &settings); usart_async_flush_rx_buffer(cuart->u.asf4.usa_pd); + + /* reset everything, card reset resets pps params */ + if (arg) + slot_set_isorate(cuart, SIM_CLKDIV_8, ISO7816_3_DEFAULT_FD, ISO7816_3_DEFAULT_DD); + break; - case CUART_CTL_POWER: + + case CUART_CTL_POWER_5V0: + case CUART_CTL_POWER_3V0: + case CUART_CTL_POWER_1V8: /* reset everything */ slot_set_isorate(cuart, SIM_CLKDIV_8, ISO7816_3_DEFAULT_FD, ISO7816_3_DEFAULT_DD); + + enum ncn8025_sim_voltage v = CUART_CTL_POWER_5V0; + switch (ctl) { + case CUART_CTL_POWER_5V0: v = SIM_VOLT_5V0; break; + case CUART_CTL_POWER_3V0: v = SIM_VOLT_3V0; break; + case CUART_CTL_POWER_1V8: v = SIM_VOLT_1V8; break; + default: break; + } + ncn8025_get(cuart->u.asf4.slot_nr, &settings); settings.cmdvcc = arg ? true : false; settings.led = arg ? true : false; - settings.vsel = SIM_VOLT_5V0; + settings.vsel = v; ncn8025_set(cuart->u.asf4.slot_nr, &settings); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I6105ce7f827aaec8ac36b940766fe05d47145edb Gerrit-Change-Number: 19473 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 09:08:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 09:08:49 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... Patch Set 1: > Patch Set 1: > > not really sure this is an improvement. The variables are scope-local now (good) and you move them to the function scope. If you insist, but I'd not really see it as an improvement. I initially thought that I would need both i and j variables, but in the end I used only i. I'll abandon this change. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 18 Aug 2020 09:08: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 Aug 18 09:09:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 09:09:05 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: move variable definition upwards In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19665 ) Change subject: vty/command: cosmetic: move variable definition upwards ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I491913061799cd0bfaa78d76f88a5c819f1d5e2e Gerrit-Change-Number: 19665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria 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 Tue Aug 18 10:12:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:12:34 +0000 Subject: Change in osmo-bts[master]: Update dependency on libosmocore 1.4.0 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19678 ) Change subject: Update dependency on libosmocore 1.4.0 ...................................................................... Update dependency on libosmocore 1.4.0 Latest code relied on features from libosmocore master (> 1.3.0). New libosmocore release 1.4.0 is now available, so drop the TODO and update it now, since we can already refer to it. Change-Id: I992f7e6d5884e53eab8da839d8e77736f9d751c3 --- M TODO-RELEASE M configure.ac M debian/control 3 files changed, 7 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/19678/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 72e4757..03c11eb 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,2 +1 @@ -* update libosmocore dependency to > 1.3.x for lapdm_channel_init3(), osmo_cpu_sched_vty_init() * update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include. diff --git a/configure.ac b/configure.ac index ef73b51..00810b8 100644 --- a/configure.ac +++ b/configure.ac @@ -67,12 +67,12 @@ fi dnl checks for libraries -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) diff --git a/debian/control b/debian/control index a7559cd..8559400 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ dh-systemd (>= 1.5), autotools-dev, pkg-config, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-abis-dev, libgps-dev, txt2man, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I992f7e6d5884e53eab8da839d8e77736f9d751c3 Gerrit-Change-Number: 19678 Gerrit-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 Aug 18 10:12:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:12:35 +0000 Subject: Change in osmo-bts[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19679 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I028ebb9faf68d084759fcfae3ea84f7bdd2d0364 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/19679/1 diff --git a/configure.ac b/configure.ac index 00810b8..7ea97d1 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I028ebb9faf68d084759fcfae3ea84f7bdd2d0364 Gerrit-Change-Number: 19679 Gerrit-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 Aug 18 10:14:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:14:30 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/80/19680/1 diff --git a/configure.ac b/configure.ac index 33b71b7..337a9dd 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 Gerrit-Change-Number: 19680 Gerrit-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 Aug 18 10:14:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:14:31 +0000 Subject: Change in libosmo-sccp[master]: common: 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/libosmo-sccp/+/19681 ) Change subject: common: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... common: Support setting rt-prio and cpu-affinity mask through VTY Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmostp-usermanual.adoc M stp/stp_main.c 5 files changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/81/19681/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..b274427 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 +osmo-stp update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 337a9dd..725014d 100644 --- a/configure.ac +++ b/configure.ac @@ -34,9 +34,9 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.7.0) old_LIBS=$LIBS diff --git a/debian/control b/debian/control index fd23fbd..f8d25f6 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Build-Depends: debhelper (>= 9), autotools-dev, pkg-config, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), autoconf, automake, libtool, diff --git a/doc/manuals/osmostp-usermanual.adoc b/doc/manuals/osmostp-usermanual.adoc index 9f41e5d..a34c2b1 100644 --- a/doc/manuals/osmostp-usermanual.adoc +++ b/doc/manuals/osmostp-usermanual.adoc @@ -18,6 +18,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + //include::./common/chapters/bts.adoc[] //include::../OsmoNITB/chapters/bts-examples.adoc[] @@ -31,4 +33,3 @@ include::./common/chapters/glossary.adoc[] include::./common/chapters/gfdl.adoc[] - diff --git a/stp/stp_main.c b/stp/stp_main.c index 19420c0..33305b3 100644 --- a/stp/stp_main.c +++ b/stp/stp_main.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -186,6 +187,7 @@ osmo_stats_vty_add_cmds(); osmo_ss7_vty_init_sg(tall_stp_ctx); osmo_sccp_vty_init(); + osmo_cpu_sched_vty_init(tall_stp_ctx); osmo_fsm_vty_add_cmds(); osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 Gerrit-Change-Number: 19681 Gerrit-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 Aug 18 10:23:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:23:20 +0000 Subject: Change in osmo-bsc[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-bsc/+/19682 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ie68883666657fc8faa76e2422335c0ceb98c5a88 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmobsc-usermanual.adoc M src/osmo-bsc/osmo_bsc_main.c 5 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/19682/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index b822f8a..f5d70c2 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,9 +7,5 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore struct gsm0808_diagnostics Depends on libosmocore > 1.3.0 -libosmocore gsm0808_diagnostics_octet_location_str() Depends on libosmocore > 1.3.0 -libosmocore gsm0808_diagnostics_bit_location_str() Depends on libosmocore > 1.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 osmo-bsc Mobile Identity Coding OsmoBSC is stricter in rejecting invalid coding of Mobile Identity IEs diff --git a/configure.ac b/configure.ac index 4a58079..ed9b2cb 100644 --- a/configure.ac +++ b/configure.ac @@ -49,10 +49,10 @@ AM_CONDITIONAL(BUILD_IPA_UTILS, test "x$osmo_ac_ipa_utils" = "xyes") AC_SUBST(osmo_ac_ipa_utils) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) diff --git a/debian/control b/debian/control index d1adc4b..d2ecea0 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ python3-minimal, libcdk5-dev, libtalloc-dev, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), libosmo-sccp-dev (>= 0.10.0), libosmo-sigtran-dev (>= 0.10.0), libosmo-abis-dev (>= 0.6.0), diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index cb939cc..a34d3d4 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -42,6 +42,8 @@ include::{srcdir}/chapters/osmux_bsc.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 84b44f7..95eab4a 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -53,6 +53,7 @@ #include #include #include +#include #include @@ -843,6 +844,7 @@ vty_init(&vty_info); bsc_vty_init(bsc_gsmnet); ctrl_vty_init(tall_bsc_ctx); + osmo_cpu_sched_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "nat"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie68883666657fc8faa76e2422335c0ceb98c5a88 Gerrit-Change-Number: 19682 Gerrit-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 Aug 18 10:23:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:23:38 +0000 Subject: Change in libosmo-sccp[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/libosmo-sccp/+/19681 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 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmostp-usermanual.adoc M stp/stp_main.c 5 files changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/81/19681/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 Gerrit-Change-Number: 19681 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 10:31:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:31:18 +0000 Subject: Change in libosmocore[master]: vty: Fix cpu-sched VTY node name References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19683 ) Change subject: vty: Fix cpu-sched VTY node name ...................................................................... vty: Fix cpu-sched VTY node name Durin dev cycle, node was initially called "sched" instead of "cpu-sched", and when it was renamed, this specific part was missed. Change-Id: I0709fee12cc8ddc4d57efb4ea40b0b79b7ea4151 --- M src/vty/cpu_sched_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/19683/1 diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c index 8cd11fe..f608738 100644 --- a/src/vty/cpu_sched_vty.c +++ b/src/vty/cpu_sched_vty.c @@ -82,7 +82,7 @@ static struct cmd_node sched_node = { L_CPU_SCHED_NODE, - "%s(config-sched)# ", + "%s(config-cpu-sched)# ", 1, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0709fee12cc8ddc4d57efb4ea40b0b79b7ea4151 Gerrit-Change-Number: 19683 Gerrit-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 Aug 18 10:34:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:34:37 +0000 Subject: Change in libosmo-sccp[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/libosmo-sccp/+/19681 to look at the new patch set (#3). Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmostp-usermanual.adoc M doc/manuals/vty/osmo-stp_vty_reference.xml M stp/stp_main.c 6 files changed, 49 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/81/19681/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 Gerrit-Change-Number: 19681 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 10:34:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:34:37 +0000 Subject: Change in libosmo-sccp[master]: doc: Update VTY reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I83312c3f22af54db346f4babc9470ff9432ceae4 --- M doc/manuals/vty/osmo-stp_vty_reference.xml 1 file changed, 126 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/84/19684/1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index 9a26316..ebe8b29 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -249,6 +250,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -310,6 +341,13 @@ + + + + + + + @@ -687,6 +725,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -729,6 +797,18 @@ + + + + + + + + + + + + @@ -748,6 +828,13 @@ + + + + + + + @@ -1119,11 +1206,11 @@ - + - + @@ -1339,6 +1426,12 @@ + + + + + + config-line @@ -1535,6 +1628,12 @@ + + + + + + @@ -1605,6 +1704,15 @@ + + + + + + + + + config-cs7-asp @@ -1632,6 +1740,21 @@ + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I83312c3f22af54db346f4babc9470ff9432ceae4 Gerrit-Change-Number: 19684 Gerrit-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 Aug 18 10:48:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:48:17 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: Ia7b0ff11e58375842be15823d6b5dcaafc0f1f82 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/85/19685/1 diff --git a/configure.ac b/configure.ac index e31cef1..861a977 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ AC_PROG_CPP LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia7b0ff11e58375842be15823d6b5dcaafc0f1f82 Gerrit-Change-Number: 19685 Gerrit-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 Aug 18 10:48:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:48:17 +0000 Subject: Change in osmo-ggsn[master]: doc: Update VTY reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I2e8bebb67e63000c6f571a23baec04a68fc2974e --- M doc/manuals/vty/ggsn_vty_reference.xml 1 file changed, 30 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/86/19686/1 diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index 64bd07a..c899ed9 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -763,6 +764,18 @@ + + + + + + + + + + + + @@ -1033,11 +1046,11 @@ - + - + @@ -1269,6 +1282,12 @@ + + + + + + config-line @@ -1386,10 +1405,16 @@ - + - + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2e8bebb67e63000c6f571a23baec04a68fc2974e Gerrit-Change-Number: 19686 Gerrit-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 Aug 18 10:48:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:48:18 +0000 Subject: Change in osmo-ggsn[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-ggsn/+/19687 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/vty/ggsn_vty_reference.xml M ggsn/ggsn_main.c 5 files changed, 47 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/87/19687/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..dd0df1a 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 +osmo-ggsn update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 861a977..9d8b4bf 100644 --- a/configure.ac +++ b/configure.ac @@ -152,9 +152,9 @@ AM_INIT_AUTOMAKE([foreign]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( diff --git a/debian/control b/debian/control index 970b314..0822773 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ pkg-config, libdpkg-perl, git, dh-autoreconf, - libosmocore-dev (>= 1.1.0), + libosmocore-dev (>= 1.4.0), osmo-gsm-manuals-dev Standards-Version: 3.9.6 Vcs-Browser: http://git.osmocom.org/osmo-ggsn/ diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index c899ed9..bbc8471 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -415,6 +415,13 @@ + + + + + + + enable @@ -822,6 +829,13 @@ + + + + + + + config @@ -1071,6 +1085,11 @@ + + + + + config-log @@ -1319,6 +1338,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-ggsn diff --git a/ggsn/ggsn_main.c b/ggsn/ggsn_main.c index 81a8ab1..d9fb4e6 100644 --- a/ggsn/ggsn_main.c +++ b/ggsn/ggsn_main.c @@ -45,6 +45,7 @@ #include #include #include +#include #include "ggsn.h" @@ -158,6 +159,7 @@ osmo_stats_vty_add_cmds(); ggsn_vty_init(); ctrl_vty_init(tall_ggsn_ctx); + osmo_cpu_sched_vty_init(tall_ggsn_ctx); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Gerrit-Change-Number: 19687 Gerrit-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 Aug 18 10:53:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:53:12 +0000 Subject: Change in osmo-ggsn[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-ggsn/+/19687 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 Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmoggsn-usermanual.adoc M doc/manuals/vty/ggsn_vty_reference.xml M ggsn/ggsn_main.c 6 files changed, 49 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/87/19687/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Gerrit-Change-Number: 19687 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 10:58:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:58:46 +0000 Subject: Change in osmo-hlr[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19688 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: If0569167922695bb88c8f168f89fa300dd181c72 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/88/19688/1 diff --git a/configure.ac b/configure.ac index 4ed6978..b920790 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ AC_PROG_CC AC_PROG_INSTALL -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If0569167922695bb88c8f168f89fa300dd181c72 Gerrit-Change-Number: 19688 Gerrit-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 Aug 18 10:58:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:58:47 +0000 Subject: Change in osmo-hlr[master]: doc: Update VTY reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19689 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: Ifdefba331ae2542b1cdc5860d0f9e53ef9f703c4 --- M doc/manuals/vty/hlr_vty_reference.xml 1 file changed, 313 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/89/19689/1 diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index 71a0236..8e56f4b 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -187,7 +188,7 @@ - + @@ -195,6 +196,9 @@ + + + @@ -253,6 +257,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -360,6 +401,13 @@ + + + + + + + enable @@ -528,7 +576,7 @@ - + @@ -536,6 +584,9 @@ + + + @@ -564,7 +615,8 @@ - + + @@ -593,6 +645,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -672,6 +761,18 @@ + + + + + + + + + + + + @@ -827,6 +928,13 @@ + + + + + + + config @@ -1056,11 +1164,11 @@ - + - + @@ -1068,6 +1176,11 @@ + + + + + config-log @@ -1143,7 +1256,7 @@ - + @@ -1151,6 +1264,9 @@ + + + @@ -1278,6 +1394,12 @@ + + + + + + config-line @@ -1424,8 +1546,192 @@ + + + + + + config-hlr-euse + + config-mslookup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-server-msc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ifdefba331ae2542b1cdc5860d0f9e53ef9f703c4 Gerrit-Change-Number: 19689 Gerrit-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 Aug 18 10:58:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 10:58:48 +0000 Subject: Change in osmo-hlr[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-hlr/+/19690 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- A TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmohlr-usermanual.adoc M doc/manuals/vty/hlr_vty_reference.xml M src/hlr.c 6 files changed, 59 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/90/19690/1 diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..810a346 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# 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 +osmo-hlr update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index b920790..341e925 100644 --- a/configure.ac +++ b/configure.ac @@ -39,10 +39,10 @@ PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(SQLITE3, sqlite3) diff --git a/debian/control b/debian/control index c737d8d..68d789e 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ dh-systemd (>= 1.5), autotools-dev, python3-minimal, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-abis-dev, libosmo-netif-dev, libsqlite3-dev, diff --git a/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc index 68db1a7..f651f06 100644 --- a/doc/manuals/osmohlr-usermanual.adoc +++ b/doc/manuals/osmohlr-usermanual.adoc @@ -28,6 +28,8 @@ include::./common/chapters/gsup.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] @@ -35,4 +37,3 @@ include::./common/chapters/glossary.adoc[] include::./common/chapters/gfdl.adoc[] - diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index 8e56f4b..7a9eb03 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -408,6 +408,13 @@ + + + + + + + enable @@ -935,6 +942,13 @@ + + + + + + + config @@ -1181,6 +1195,11 @@ + + + + + config-log @@ -1431,6 +1450,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-hlr diff --git a/src/hlr.c b/src/hlr.c index e4d6c23..ac5c1ec 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -732,6 +733,7 @@ handle_options(argc, argv); hlr_vty_init(); dgsm_vty_init(); + osmo_cpu_sched_vty_init(hlr_ctx); rc = vty_read_config_file(cmdline_opts.config_file, NULL); if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Gerrit-Change-Number: 19690 Gerrit-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 Aug 18 11:06:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:06:19 +0000 Subject: Change in osmo-mgw[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-mgw/+/19691 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: Icfafea073a0cdac289a651d61632b4c6af39c6a9 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmomgw-usermanual.adoc M src/osmo-mgw/mgw_main.c 5 files changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/91/19691/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index c5a3b36..e44305b 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,3 +24,4 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line +osmo-mgw update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index db44893..9aba2ed 100644 --- a/configure.ac +++ b/configure.ac @@ -47,10 +47,10 @@ AC_SUBST(LIBRARY_DLSYM) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) diff --git a/debian/control b/debian/control index 00dcf38..83860df 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ dh-autoreconf, pkg-config, autotools-dev, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-netif-dev, libosmo-abis-dev, osmo-gsm-manuals-dev diff --git a/doc/manuals/osmomgw-usermanual.adoc b/doc/manuals/osmomgw-usermanual.adoc index 0c26449..36d4049 100644 --- a/doc/manuals/osmomgw-usermanual.adoc +++ b/doc/manuals/osmomgw-usermanual.adoc @@ -24,6 +24,8 @@ //include::{srcdir}/chapters/counters.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index d4bcb3a..af73380 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -60,6 +60,8 @@ #include #include #include +#include + #include #include "../../bscconfig.h" @@ -311,6 +313,7 @@ mgcp_vty_init(); ctrl_vty_init(cfg); e1inp_vty_init(); + osmo_cpu_sched_vty_init(tall_bsc_ctx); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icfafea073a0cdac289a651d61632b4c6af39c6a9 Gerrit-Change-Number: 19691 Gerrit-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 Aug 18 11:06:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:06:20 +0000 Subject: Change in osmo-mgw[master]: cosmetic: Rename main talloc ctx References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19692 ) Change subject: cosmetic: Rename main talloc ctx ...................................................................... cosmetic: Rename main talloc ctx It contained name from a different program, probably due to main.c being copied over during project start. Change-Id: I4bfa40eec0277705f5d3335d779bff35518470a8 --- M src/osmo-mgw/mgw_main.c 1 file changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/92/19692/1 diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index af73380..7f4df2e 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -93,7 +93,7 @@ static char *config_file = "osmo-mgw.cfg"; /* used by msgb and mgcp */ -void *tall_bsc_ctx = NULL; +void *tall_mgw_ctx = NULL; static void print_help() { @@ -141,7 +141,7 @@ exit(2); } case 'c': - config_file = talloc_strdup(tall_bsc_ctx, optarg); + config_file = talloc_strdup(tall_mgw_ctx, optarg); break; case 's': log_set_use_color(osmo_stderr_target, 0); @@ -292,14 +292,14 @@ unsigned int flags; int rc; - tall_bsc_ctx = talloc_named_const(NULL, 1, "mgcp-callagent"); - vty_info.tall_ctx = tall_bsc_ctx; + tall_mgw_ctx = talloc_named_const(NULL, 1, "mgcp-callagent"); + vty_info.tall_ctx = tall_mgw_ctx; - msgb_talloc_ctx_init(tall_bsc_ctx, 0); + msgb_talloc_ctx_init(tall_mgw_ctx, 0); osmo_init_ignore_signals(); - osmo_init_logging2(tall_bsc_ctx, &log_info); - libosmo_abis_init(tall_bsc_ctx); + osmo_init_logging2(tall_mgw_ctx, &log_info); + libosmo_abis_init(tall_mgw_ctx); cfg = mgcp_config_alloc(); if (!cfg) @@ -313,19 +313,19 @@ mgcp_vty_init(); ctrl_vty_init(cfg); e1inp_vty_init(); - osmo_cpu_sched_vty_init(tall_bsc_ctx); + osmo_cpu_sched_vty_init(tall_mgw_ctx); handle_options(argc, argv); - rate_ctr_init(tall_bsc_ctx); - osmo_stats_init(tall_bsc_ctx); + rate_ctr_init(tall_mgw_ctx); + osmo_stats_init(tall_mgw_ctx); rc = mgcp_parse_config(config_file, cfg, MGCP_BSC); if (rc < 0) return rc; /* start telnet after reading config for vty_get_bind_addr() */ - rc = telnet_init_dynif(tall_bsc_ctx, NULL, + rc = telnet_init_dynif(tall_mgw_ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_MGW); if (rc < 0) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4bfa40eec0277705f5d3335d779bff35518470a8 Gerrit-Change-Number: 19692 Gerrit-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 Aug 18 11:19:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 11:19:58 +0000 Subject: Change in osmo-mgw[master]: cosmetic: Rename main talloc ctx In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19692 ) Change subject: cosmetic: Rename main talloc ctx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4bfa40eec0277705f5d3335d779bff35518470a8 Gerrit-Change-Number: 19692 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 Aug 2020 11:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 11:25:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:25:38 +0000 Subject: Change in osmo-hlr[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-hlr/+/19690 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 Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- A TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmohlr-usermanual.adoc M doc/manuals/vty/hlr_vty_reference.xml M src/hlr.c M tests/test_nodes.vty M tests/test_subscriber.vty 8 files changed, 66 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/90/19690/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Gerrit-Change-Number: 19690 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 11:36:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:36:16 +0000 Subject: Change in osmo-msc[master]: configure.ac: Drop trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19693 ) Change subject: configure.ac: Drop trailing whitespace ...................................................................... configure.ac: Drop trailing whitespace Change-Id: I48dee161f6951777dc86b61da13793d6309b86bb --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/93/19693/1 diff --git a/configure.ac b/configure.ac index 1e0740e..5244055 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I48dee161f6951777dc86b61da13793d6309b86bb Gerrit-Change-Number: 19693 Gerrit-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 Aug 18 11:36:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:36:17 +0000 Subject: Change in osmo-msc[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-msc/+/19694 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I40cf8a86961c1e350b5cd74d6e2cf64a22b7a2b1 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmomsc-usermanual.adoc M src/osmo-msc/msc_main.c 5 files changed, 10 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/19694/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 17dc17a..78a03ff 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,6 +7,5 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 osmo-msc Mobile Identity Coding OsmoMSC is stricter in rejecting invalid coding of Mobile Identity IEs diff --git a/configure.ac b/configure.ac index 5244055..eea7f4b 100644 --- a/configure.ac +++ b/configure.ac @@ -40,10 +40,10 @@ ]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 1.1.0) diff --git a/debian/control b/debian/control index 606fbaf..0f3da25 100644 --- a/debian/control +++ b/debian/control @@ -15,7 +15,7 @@ libtalloc-dev, libsmpp34-dev (>= 1.14.0), libasn1c-dev (>= 0.9.30), - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), libosmo-sccp-dev (>= 1.1.0), libosmo-sigtran-dev (>= 1.1.0), libosmo-abis-dev (>= 0.6.0), diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc index 848d9c0..7ba45d4 100644 --- a/doc/manuals/osmomsc-usermanual.adoc +++ b/doc/manuals/osmomsc-usermanual.adoc @@ -36,6 +36,8 @@ include::./common/chapters/gsup.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index f2ccff5..98d29c3 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -549,6 +550,7 @@ ctrl_vty_init(tall_msc_ctx); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); + osmo_cpu_sched_vty_init(tall_msc_ctx); /* Allocate global gsm_network struct. * At first set the internal MNCC as default, may be changed below according to cfg or cmdline option. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I40cf8a86961c1e350b5cd74d6e2cf64a22b7a2b1 Gerrit-Change-Number: 19694 Gerrit-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 Aug 18 11:43:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:43:59 +0000 Subject: Change in osmo-pcu[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19695 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/95/19695/1 diff --git a/configure.ac b/configure.ac index 3d126ce..3f403b8 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91 Gerrit-Change-Number: 19695 Gerrit-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 Aug 18 11:43:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:43:59 +0000 Subject: Change in osmo-pcu[master]: doc: Update VTY reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19696 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I5800f1607878ab764323dc12c537a8e28d387cc9 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 107 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/96/19696/1 diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index da6c76c..7b33cbb 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -350,6 +350,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -773,6 +810,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1101,11 +1187,11 @@ - + - + @@ -1348,6 +1434,12 @@ + + + + + + config-line @@ -1467,6 +1559,15 @@ + + + + + + + + + @@ -1835,7 +1936,7 @@ - + @@ -1852,9 +1953,10 @@ + - + @@ -1872,6 +1974,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5800f1607878ab764323dc12c537a8e28d387cc9 Gerrit-Change-Number: 19696 Gerrit-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 Aug 18 11:43:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:43:59 +0000 Subject: Change in osmo-pcu[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-pcu/+/19697 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- A TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmopcu-usermanual.adoc M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/pcu_main.cpp 6 files changed, 59 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/97/19697/1 diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..17c6a34 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# 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 +osmo-pcu update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 3f403b8..2e99a15 100644 --- a/configure.ac +++ b/configure.ac @@ -82,10 +82,10 @@ fi dnl checks for libraries -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0) AC_MSG_CHECKING([whether to enable direct DSP access for PDCH of sysmocom-bts]) AC_ARG_ENABLE(sysmocom-dsp, diff --git a/debian/control b/debian/control index b9dad0c..0d69a9a 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ dh-systemd (>= 1.5), autotools-dev, pkg-config, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), osmo-gsm-manuals-dev Standards-Version: 3.9.8 Homepage: http://osmocom.org/projects/osmopcu diff --git a/doc/manuals/osmopcu-usermanual.adoc b/doc/manuals/osmopcu-usermanual.adoc index bf25cfd..e202e33 100644 --- a/doc/manuals/osmopcu-usermanual.adoc +++ b/doc/manuals/osmopcu-usermanual.adoc @@ -21,6 +21,8 @@ include::./common/chapters/gb.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index 7b33cbb..afb9d47 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -440,6 +440,13 @@ + + + + + + + @@ -912,6 +919,13 @@ + + + + + + + @@ -1199,6 +1213,11 @@ + + + + + @@ -1586,6 +1605,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-pcu diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 3912204..c5ff3dc 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -272,6 +273,7 @@ pcu_vty_info.tall_ctx = tall_pcu_ctx; vty_init(&pcu_vty_info); pcu_vty_init(); + osmo_cpu_sched_vty_init(tall_pcu_ctx); handle_options(argc, argv); if ((!!spoof_mcc) + (!!spoof_mnc) == 1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec Gerrit-Change-Number: 19697 Gerrit-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 Aug 18 11:50:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 11:50:07 +0000 Subject: Change in osmo-bsc[master]: vty: fix copy-pasted 'no gprs control-ack-type-rach' description In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19669 ) Change subject: vty: fix copy-pasted 'no gprs control-ack-type-rach' description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd Gerrit-Change-Number: 19669 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Aug 2020 11:50: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 Aug 18 11:50:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 11:50:11 +0000 Subject: Change in osmo-bsc[master]: vty: fix copy-pasted 'no gprs control-ack-type-rach' description In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19669 ) Change subject: vty: fix copy-pasted 'no gprs control-ack-type-rach' description ...................................................................... vty: fix copy-pasted 'no gprs control-ack-type-rach' description Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 9bb650f..fc7dd16 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3130,7 +3130,7 @@ DEFUN(cfg_no_bts_gprs_ctrl_ack, cfg_no_bts_gprs_ctrl_ack_cmd, "no gprs control-ack-type-rach", NO_STR GPRS_TEXT "Set GPRS Control Ack Type for PACKET CONTROL ACKNOWLEDGMENT message to " - "four access bursts format instead of default RLC/MAC control block\n") + "default RLC/MAC control block\n") { struct gsm_bts *bts = vty->index; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2538ab88d551da5167344e1a86d3a41c5d2dfdd Gerrit-Change-Number: 19669 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 11:50:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:50:13 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I5abdce5daef43dad772bf52576b47c0867d65c98 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/98/19698/1 diff --git a/configure.ac b/configure.ac index 9432715..db2e1ad 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5abdce5daef43dad772bf52576b47c0867d65c98 Gerrit-Change-Number: 19698 Gerrit-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 Aug 18 11:50:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:50:13 +0000 Subject: Change in osmo-sgsn[master]: doc: Update VTY reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I787bbc254ef10766fe8d480ffd93a16d9926a50e --- M doc/manuals/vty/sgsn_vty_reference.xml 1 file changed, 188 insertions(+), 87 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/99/19699/1 diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index 38e21c2..e49d278 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -187,7 +188,7 @@ - + @@ -204,6 +205,7 @@ + @@ -262,6 +264,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -378,6 +424,13 @@ + + + + + + + @@ -397,6 +450,13 @@ + + + + + + + @@ -734,7 +794,7 @@ - + @@ -751,6 +811,7 @@ + @@ -809,6 +870,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -888,6 +993,18 @@ + + + + + + + + + + + + @@ -925,6 +1042,13 @@ + + + + + + + @@ -1008,6 +1132,13 @@ + + + + + + + @@ -1412,11 +1543,11 @@ - + - + @@ -1521,7 +1652,7 @@ - + @@ -1538,6 +1669,7 @@ + @@ -1686,6 +1818,12 @@ + + + + + + config-line @@ -1805,6 +1943,15 @@ + + + + + + + + + @@ -1984,6 +2131,12 @@ + + + + + + @@ -2054,6 +2207,15 @@ + + + + + + + + + config-cs7-asp @@ -2081,6 +2243,21 @@ + + + + + + + + + + + + + + + @@ -2366,88 +2543,12 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I787bbc254ef10766fe8d480ffd93a16d9926a50e Gerrit-Change-Number: 19699 Gerrit-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 Aug 18 11:50:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 11:50:13 +0000 Subject: Change in osmo-sgsn[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-sgsn/+/19700 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I1af1b154d14de6d6d6fba08f15f167f4b2ed9aa2 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/vty/sgsn_vty_reference.xml M src/sgsn/sgsn_main.c 5 files changed, 49 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/00/19700/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index e5e3b39..6b29a87 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,4 +1,2 @@ #component what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 -osmo-bsc Mobile Identity Coding OsmoBSC is stricter in rejecting invalid coding of Mobile Identity IEs +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/configure.ac b/configure.ac index db2e1ad..12af7e6 100644 --- a/configure.ac +++ b/configure.ac @@ -47,11 +47,11 @@ AC_SUBST(LIBRARY_DLSYM) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.2.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.4.0) PKG_CHECK_MODULES(LIBOSMOGSUPCLIENT, libosmo-gsup-client >= 1.0.0) diff --git a/debian/control b/debian/control index 1b659eb..e512c8f 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ libtalloc-dev, libc-ares-dev, libgtp-dev (>= 1.5.0), - libosmocore-dev (>= 1.2.0), + libosmocore-dev (>= 1.4.0), libosmo-abis-dev (>= 0.6.0), libosmo-netif-dev (>= 0.4.0), libosmo-gsup-client-dev (>= 1.0.0), diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index e49d278..8ffc607 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -431,6 +431,13 @@ + + + + + + + @@ -1113,6 +1120,13 @@ + + + + + + + @@ -1560,6 +1574,11 @@ + + + + + @@ -2348,6 +2367,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-sgsn diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 5b53815..257c3a2 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -49,6 +49,7 @@ #include #include #include +#include #include @@ -414,6 +415,7 @@ osmo_stats_vty_add_cmds(); sgsn_vty_init(&sgsn->cfg); ctrl_vty_init(tall_sgsn_ctx); + osmo_cpu_sched_vty_init(tall_sgsn_ctx); #if BUILD_IU OSMO_ASSERT(osmo_ss7_init() == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1af1b154d14de6d6d6fba08f15f167f4b2ed9aa2 Gerrit-Change-Number: 19700 Gerrit-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 Aug 18 12:20:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 12:20:05 +0000 Subject: Change in osmo-bsc[master]: vty: add attributes to VTY commands indicating when they apply In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 to look at the new patch set (#5). Change subject: vty: add attributes to VTY commands indicating when they apply ...................................................................... vty: add attributes to VTY commands indicating when they apply Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Depends: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 688 insertions(+), 533 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/19670/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3bf9223295fc4a2fcb4046a1f29f792ff6a41d51 Gerrit-Change-Number: 19670 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria 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 Tue Aug 18 12:20:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 12:20:28 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19668 to look at the new patch set (#9). Change subject: vty: print program specific attributes in the XML reference ...................................................................... vty: print program specific attributes in the XML reference Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Related: SYS#4937 --- M src/vty/command.c 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19668/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 12:20:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 12:20:29 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: swap i and j in vty_dump_element() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19701 ) Change subject: vty/command: cosmetic: swap i and j in vty_dump_element() ...................................................................... vty/command: cosmetic: swap i and j in vty_dump_element() It's more convenient to use i in the outer loop, and j, k, etc. in the inner loops. Otherwise it looks a bit confusing. Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b --- M src/vty/command.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/19701/1 diff --git a/src/vty/command.c b/src/vty/command.c index d5e9d27..722b3e0 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -632,13 +632,13 @@ print_func(data, " %s", xml_string, newline); print_func(data, " %s", newline); - int j; - for (j = 0; j < vector_count(cmd->strvec); ++j) { - vector descvec = vector_slot(cmd->strvec, j); - int i; - for (i = 0; i < vector_active(descvec); ++i) { + int i; + for (i = 0; i < vector_count(cmd->strvec); ++i) { + vector descvec = vector_slot(cmd->strvec, i); + int j; + for (j = 0; j < vector_active(descvec); ++j) { char *xml_param, *xml_doc; - struct desc *desc = vector_slot(descvec, i); + struct desc *desc = vector_slot(descvec, j); if (desc == NULL) continue; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b Gerrit-Change-Number: 19701 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 Aug 18 13:03:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 13:03:32 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: swap i and j in vty_dump_element() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19701 ) Change subject: vty/command: cosmetic: swap i and j in vty_dump_element() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b Gerrit-Change-Number: 19701 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Aug 2020 13:03: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 Aug 18 14:29:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 14:29:04 +0000 Subject: Change in osmo-bts[master]: tests: tx_power: Extend and add extra power_ramp buggy case References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19702 ) Change subject: tests: tx_power: Extend and add extra power_ramp buggy case ...................................................................... tests: tx_power: Extend and add extra power_ramp buggy case The test code is extended to support testing more than one ramping loop. A new test ramping test is added, which shows buggy behavior, since being in -10dBm and targeting 10dBm with max_initial_pout_mdBm=0 should immediatelly jump -10->0 and then slowly ramp up (2dB) 0->10dB. The issue will be fixed in next commit. Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb --- M tests/tx_power/tx_power_test.c M tests/tx_power/tx_power_test.ok 2 files changed, 55 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/19702/1 diff --git a/tests/tx_power/tx_power_test.c b/tests/tx_power/tx_power_test.c index 12c51c6..dbabc87 100644 --- a/tests/tx_power/tx_power_test.c +++ b/tests/tx_power/tx_power_test.c @@ -20,6 +20,7 @@ */ #include +#include #include #include @@ -30,6 +31,7 @@ #include #include +static bool power_ramp_finished = false; static const struct trx_power_params tpp_1002 = { .trx_p_max_out_mdBm = to_mdB(23), @@ -182,25 +184,56 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm) { - struct trx_power_params *tpp = &trx->power_params; printf("CHANGE_POWER(%d)\n", p_trxout_mdBm); - if (tpp->ramp.attenuation_mdB == 0) - exit(0); - power_trx_change_compl(trx, p_trxout_mdBm); return 0; } -static void test_power_ramp(struct gsm_bts_trx *trx, int dBm) +static void test_ramp_compl_cb(struct gsm_bts_trx *trx) +{ + power_ramp_finished = true; + printf("power_ramp finished\n"); +} + +static int test_power_ramp(struct gsm_bts_trx *trx, int dBm) { printf("Testing tx_power ramping for sysmoBTS 1020\n"); + int rc; + trx->power_params = tpp_1020; trx->power_params.ramp.step_interval_sec = 0; /* speedup test */ trx->max_power_red = 0; - power_ramp_start(trx, to_mdB(dBm), 0, NULL); + power_ramp_finished = false; + if ((rc = power_ramp_start(trx, to_mdB(dBm), 0, test_ramp_compl_cb))) + return rc; + while (!power_ramp_finished) + osmo_select_main(0); + return 0; +} + + +static int test_power_ramp_from_minus10(struct gsm_bts_trx *trx, int dBm) +{ + printf("Testing tx_power ramping for osmo-bts-trx after lock\n"); + int rc; + + trx->power_params = tpp_1002; + trx->power_params.trx_p_max_out_mdBm = to_mdB(20); + trx->power_params.p_total_tgt_mdBm = to_mdB(-10); + trx->power_params.p_total_cur_mdBm = to_mdB(-10); + trx->power_params.ramp.max_initial_pout_mdBm = to_mdB(0); + trx->power_params.ramp.step_interval_sec = 0; /* speedup test */ + trx->max_power_red = 10; + + power_ramp_finished = false; + if ((rc = power_ramp_start(trx, to_mdB(dBm), 0, test_ramp_compl_cb))) + return rc; + while (!power_ramp_finished) + osmo_select_main(0); + return 0; } int main(int argc, char **argv) @@ -239,11 +272,10 @@ test_sbts2050(trx); /* test error case / excess power (40 dBm is too much) */ - test_power_ramp(trx, 40); + OSMO_ASSERT(test_power_ramp(trx, 40) == -ERANGE); /* test actual ramping to full 33 dBm */ test_power_ramp(trx, 33); + /* Test ramp up from -10dBm (locked) to 10dBm */ + test_power_ramp_from_minus10(trx, 10); - while (1) { - osmo_select_main(0); - } } diff --git a/tests/tx_power/tx_power_test.ok b/tests/tx_power/tx_power_test.ok index ceb88ab..ec3ea61 100644 --- a/tests/tx_power/tx_power_test.ok +++ b/tests/tx_power/tx_power_test.ok @@ -21,3 +21,16 @@ CHANGE_POWER(20000) CHANGE_POWER(22000) CHANGE_POWER(23000) +power_ramp finished +Testing tx_power ramping for osmo-bts-trx after lock +CHANGE_POWER(-8000) +CHANGE_POWER(-6000) +CHANGE_POWER(-4000) +CHANGE_POWER(-2000) +CHANGE_POWER(0) +CHANGE_POWER(2000) +CHANGE_POWER(4000) +CHANGE_POWER(6000) +CHANGE_POWER(8000) +CHANGE_POWER(10000) +power_ramp finished -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb Gerrit-Change-Number: 19702 Gerrit-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 Aug 18 14:29:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 14:29:05 +0000 Subject: Change in osmo-bts[master]: common: tx_power: Fix bug in power ramp up below max-initial value References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19703 ) Change subject: common: tx_power: Fix bug in power ramp up below max-initial value ...................................................................... common: tx_power: Fix bug in power ramp up below max-initial value See previous commit adding the unit test about the error description and expected behavior. The wrong behavior appeared due to step_size_mdB being unsigned and the whole addition at the left side of the comparison being turned too as unsigned, hence a small negative value turning into a big positive value, and tpp->p_total_cur_mdBm not being updated to speed up the power ramping. Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a --- M src/common/tx_power.c M tests/tx_power/tx_power_test.ok 2 files changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/19703/1 diff --git a/src/common/tx_power.c b/src/common/tx_power.c index c5ea7ed..08c4236 100644 --- a/src/common/tx_power.c +++ b/src/common/tx_power.c @@ -278,7 +278,7 @@ } else { /* We need to step it up. Start from the current value, shortcutting to max-initial. */ /* Set attenuation to cause no power change right now */ - if (tpp->p_total_cur_mdBm + tpp->ramp.step_size_mdB < tpp->ramp.max_initial_pout_mdBm) + if (tpp->p_total_cur_mdBm + (int)tpp->ramp.step_size_mdB < tpp->ramp.max_initial_pout_mdBm) tpp->p_total_cur_mdBm = tpp->ramp.max_initial_pout_mdBm - tpp->ramp.step_size_mdB; tpp->ramp.attenuation_mdB = tpp->p_total_tgt_mdBm - tpp->p_total_cur_mdBm; diff --git a/tests/tx_power/tx_power_test.ok b/tests/tx_power/tx_power_test.ok index ec3ea61..c8f0441 100644 --- a/tests/tx_power/tx_power_test.ok +++ b/tests/tx_power/tx_power_test.ok @@ -23,10 +23,6 @@ CHANGE_POWER(23000) power_ramp finished Testing tx_power ramping for osmo-bts-trx after lock -CHANGE_POWER(-8000) -CHANGE_POWER(-6000) -CHANGE_POWER(-4000) -CHANGE_POWER(-2000) CHANGE_POWER(0) CHANGE_POWER(2000) CHANGE_POWER(4000) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a Gerrit-Change-Number: 19703 Gerrit-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 Aug 18 15:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 15:22:45 +0000 Subject: Change in osmo-bts[master]: tests: tx_power: Extend and add extra power_ramp buggy case In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19702 to look at the new patch set (#2). Change subject: tests: tx_power: Extend and add extra power_ramp buggy case ...................................................................... tests: tx_power: Extend and add extra power_ramp buggy case The test code is extended to support testing more than one ramping loop. A new test ramping test is added, which shows buggy behavior, since being in -10dBm and targeting 10dBm with max_initial_pout_mdBm=0 should immediatelly jump -10->0 and then slowly ramp up (2dB) 0->10dB. The issue will be fixed in next commit. Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb --- M tests/tx_power/tx_power_test.c M tests/tx_power/tx_power_test.err M tests/tx_power/tx_power_test.ok 3 files changed, 76 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/19702/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb Gerrit-Change-Number: 19702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 15:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 15:22:45 +0000 Subject: Change in osmo-bts[master]: common: tx_power: Fix bug in power ramp up below max-initial value In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/19703 to look at the new patch set (#2). Change subject: common: tx_power: Fix bug in power ramp up below max-initial value ...................................................................... common: tx_power: Fix bug in power ramp up below max-initial value See previous commit adding the unit test about the error description and expected behavior. The wrong behavior appeared due to step_size_mdB being unsigned and the whole addition at the left side of the comparison being turned too as unsigned, hence a small negative value turning into a big positive value, and tpp->p_total_cur_mdBm not being updated to speed up the power ramping. Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a --- M src/common/tx_power.c M tests/tx_power/tx_power_test.err M tests/tx_power/tx_power_test.ok 3 files changed, 1 insertion(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/19703/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a Gerrit-Change-Number: 19703 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 15:33:53 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 15:33:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop "trunk 0" limitation In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 to look at the new patch set (#2). Change subject: mgcp_trunk: drop "trunk 0" limitation ...................................................................... mgcp_trunk: drop "trunk 0" limitation Due to the internal handling of the trunks it was not possible to allow an E1 trunk that has the ID 0. However this limitation is no longer present, so we now can allow an E1 trunk with ID 0. Change-Id: I302c2007628f607033686e277c407232351e66ad Related: OS#2659 --- M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 3 files changed, 5 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/19563/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I302c2007628f607033686e277c407232351e66ad Gerrit-Change-Number: 19563 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 18 16:44:32 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 18 Aug 2020 16:44:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 ) Change subject: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) ...................................................................... SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) According to RFC3261: 20 Header fields, Table 2, Page 161, the Contact headers is not allowed in BYE requests. Change-Id: Ida17247a90bf30b14d7a6587b92f14c1c7eb9f7a --- M library/SIP_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/19704/1 diff --git a/library/SIP_Templates.ttcn b/library/SIP_Templates.ttcn index 75681a9..241999b 100644 --- a/library/SIP_Templates.ttcn +++ b/library/SIP_Templates.ttcn @@ -343,7 +343,7 @@ template charstring body ) := { requestLine := tr_SIP_ReqLine(BYE_E, to_addr.addr.nameAddr.addrSpec), - msgHeader := tr_SIP_msgh_std(call_id, from_addr, to_addr, omit, "BYE", *, seq_nr), + msgHeader := tr_SIP_msgh_std(call_id, from_addr, to_addr, *, "BYE", *, seq_nr), messageBody := body, payload := omit } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida17247a90bf30b14d7a6587b92f14c1c7eb9f7a Gerrit-Change-Number: 19704 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 Aug 18 18:31:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 18:31:18 +0000 Subject: Change in osmo-pcu[master]: pdch: Drop unneeded notice log message in rcv pkt meas report References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19705 ) Change subject: pdch: Drop unneeded notice log message in rcv pkt meas report ...................................................................... pdch: Drop unneeded notice log message in rcv pkt meas report It's totally fine to receive Packet Measurement Report messages with no SBA present, since the MS also sends measurements on PACCH while transmitting data. Related: OS#4719 Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 --- M src/pdch.cpp 1 file changed, 2 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/19705/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 856da75..b34f532 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -652,15 +652,8 @@ void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn) { - struct gprs_rlcmac_sba *sba; - - sba = bts()->sba()->find(this, fn); - if (!sba) { - LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " - "in packet resource request of single " - "block, but there is no resource request " - "scheduled! TLLI=0x%08x\n", report->TLLI); - } else { + struct gprs_rlcmac_sba *sba = bts()->sba()->find(this, fn); + if (sba) { GprsMs *ms = bts()->ms_store().get_ms(report->TLLI); if (!ms) LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 Gerrit-Change-Number: 19705 Gerrit-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 Aug 18 18:31:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 18:31:19 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Introduce log macro helper LOGPMS Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 --- M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac_meas.cpp M tests/tbf/TbfTest.err 4 files changed, 29 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/19706/1 diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 494ed2e..f82026a 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -685,13 +685,12 @@ mcs_inc_kind(&new_cs_ul, mode()); if (m_current_cs_ul != new_cs_ul) { - LOGP(DRLCMACMEAS, LOGL_INFO, - "MS (IMSI %s): " - "Link quality %ddB (old %ddB) left window [%d, %d], " - "modifying uplink CS level: %s -> %s\n", - imsi(), meas->link_qual, old_link_qual, - low, high, - mcs_name(m_current_cs_ul), mcs_name(new_cs_ul)); + LOGPMS(this, DRLCMACMEAS, LOGL_INFO, + "Link quality %ddB (old %ddB) left window [%d, %d], " + "modifying uplink CS level: %s -> %s\n", + meas->link_qual, old_link_qual, + low, high, + mcs_name(m_current_cs_ul), mcs_name(new_cs_ul)); m_current_cs_ul = new_cs_ul; } diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 1e5a155..0a1dda7 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -39,6 +39,7 @@ #include #include +#include struct BTS; struct gprs_rlcmac_trx; @@ -296,3 +297,10 @@ { return m_current_trx; } + +#define LOGPMS(ms, category, level, fmt, args...) \ + LOGP(category, level, "MS(TLLI=0x%08x, IMSI=%s, TA=%" PRIu8 ", %" PRIu8 "/%" PRIu8 ",%s%s) " fmt, \ + (ms)->tlli(), (ms)->imsi(), (ms)->ta(), (ms)->ms_class(), (ms)->egprs_ms_class(), \ + (ms)->ul_tbf() ? " UL": "", \ + (ms)->dl_tbf() ? " DL": "", \ + ## args) diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index f4a7e47..e4df559 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -105,8 +106,8 @@ if (!tbf->meas.rssi_num) return -EINVAL; - LOGP(DRLCMACMEAS, LOGL_INFO, "UL RSSI of TLLI=0x%08x: %d dBm\n", - tbf->tlli(), tbf->meas.rssi_sum / tbf->meas.rssi_num); + LOGPMS(tbf->ms(), DRLCMACMEAS, LOGL_INFO, "UL RSSI: %d dBm\n", + tbf->meas.rssi_sum / tbf->meas.rssi_num); return 0; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 195d850..681e7a3 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1467,7 +1467,7 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0x00000000, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1820,7 +1820,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1835,7 +1835,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -1870,7 +1870,7 @@ 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 -UL RSSI of TLLI=0xf1223344: 31 dBm +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FIXME: Software error: Pending downlink assignment in state GPRS_RLCMAC_DL_ASS_SEND_ASS. This may not happen, because the assignment message never gets transmitted. Please be sure not to free in this state. PLEASE FIX! TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] @@ -1905,7 +1905,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI 0011223344): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1962,7 +1962,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1977,7 +1977,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -2012,7 +2012,7 @@ 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 -UL RSSI of TLLI=0xf1223344: 31 dBm +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FIXME: Software error: Pending downlink assignment in state GPRS_RLCMAC_DL_ASS_SEND_ASS. This may not happen, because the assignment message never gets transmitted. Please be sure not to free in this state. PLEASE FIX! TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] @@ -2045,7 +2045,7 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0x00000000, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2108,7 +2108,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2123,7 +2123,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -2787,7 +2787,7 @@ 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=0 -MS (IMSI 0011223344): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 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 +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-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 Aug 18 18:31:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Aug 2020 18:31:20 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv pkt meas rep: Allocate MS object early in path and use it References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19707 ) Change subject: pdch: rcv pkt meas rep: Allocate MS object early in path and use it ...................................................................... pdch: rcv pkt meas rep: Allocate MS object early in path and use it Let's create the MS object early if doesn't exist and fill in the information, so that we can operate on it in an early way (for instance, logging macros), this way it's easier to trace the lifecycle of subscribers. Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f --- M src/gprs_rlcmac.h M src/gprs_rlcmac_meas.cpp M src/pdch.cpp 3 files changed, 15 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/19707/1 diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 789b8db..45cbda9 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -75,7 +75,7 @@ int gprs_rlcmac_lost_rep(struct gprs_rlcmac_dl_tbf *tbf); -int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr); +int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr); int gprs_rlcmac_rssi(struct gprs_rlcmac_tbf *tbf, int8_t rssi); diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index e4df559..b9a324f 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -37,14 +37,13 @@ /* TODO: trigger the measurement report from the pollcontroller and use it for flow control */ /* received Measurement Report */ -int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr) +int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr) { NC_Measurement_Report_t *ncr; NC_Measurements_t *nc; int i; - LOGP(DRLCMACMEAS, LOGL_INFO, "Measurement Report of TLLI=0x%08x:", - pmr->TLLI); + LOGPMS(ms, DRLCMACMEAS, LOGL_INFO, "Rx Measurement Report:"); switch (pmr->UnionType) { case 0: diff --git a/src/pdch.cpp b/src/pdch.cpp index b34f532..d3156c9 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -652,18 +652,21 @@ void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn) { - struct gprs_rlcmac_sba *sba = bts()->sba()->find(this, fn); - if (sba) { - GprsMs *ms = bts()->ms_store().get_ms(report->TLLI); - if (!ms) - LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " - "but TLLI 0x%08x is unknown\n", report->TLLI); - else - ms->set_ta(sba->ta); + struct gprs_rlcmac_sba *sba; + GprsMs *ms; + ms = bts()->ms_by_tlli(report->TLLI); + if (!ms) { + LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " + "but TLLI 0x%08x is unknown\n", report->TLLI); + ms = bts()->ms_alloc(0, 0); + ms->set_tlli(report->TLLI); + } + if ((sba = bts()->sba()->find(this, fn))) { + ms->set_ta(sba->ta); bts()->sba()->free_sba(sba); } - gprs_rlcmac_meas_rep(report); + gprs_rlcmac_meas_rep(ms, report); } /* Received Uplink RLC control block. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f Gerrit-Change-Number: 19707 Gerrit-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 Aug 18 19:00:01 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 19:00:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: log when endpoint is unavailable References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19708 ) Change subject: mgcp_protocol: log when endpoint is unavailable ...................................................................... mgcp_protocol: log when endpoint is unavailable When endpoints become unavailable when MDCX/CRCX/DLCX are executed on them a major problem may be the cause, lets make sure that those events are logged. Change-Id: I059b7e29f960e75a53bfb5dfb2b83ab3d79e84f3 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/19708/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 6a533c3..4dc0f55 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -748,6 +748,8 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "CRCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "CRCX", p->trans); } @@ -1017,6 +1019,8 @@ if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "MDCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "MDCX", p->trans); } @@ -1243,6 +1247,8 @@ if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "DLCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "DLCX", p->trans); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I059b7e29f960e75a53bfb5dfb2b83ab3d79e84f3 Gerrit-Change-Number: 19708 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 Aug 18 19:00:01 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 19:00:01 +0000 Subject: Change in osmo-mgw[master]: cosmetic: add missing new-line References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19709 ) Change subject: cosmetic: add missing new-line ...................................................................... cosmetic: add missing new-line Change-Id: I4a4a7515e8d92ab39576c33765dd3dc581453ceb --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/09/19709/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 4dc0f55..9ec4aee 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -746,6 +746,7 @@ int rc; LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); + if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); LOGPENDP(endp, DLMGCP, LOGL_ERROR, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4a4a7515e8d92ab39576c33765dd3dc581453ceb Gerrit-Change-Number: 19709 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 Aug 18 19:00:02 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 19:00:02 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19710 ) Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... mgcp_e1: make E1 ts initalization more debugable The E1 timeslot initalization may fail silently in the last steps. There is an error code returned, but no log lines are printed. This can make debugging difficult. Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/10/19710/1 diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index b3db0b7..d5dfefd 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -400,11 +400,15 @@ /* Configure E1 timeslot */ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); - if (rc < 0) + if (rc < 0) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "failed to put E1 timeslot %u in raw mode.\n", ts_nr); return -EINVAL; + } rc = e1inp_line_update(e1_line); - if (rc < 0) + if (rc < 0) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "failed to update E1 timeslot %u.\n", ts_nr); return -EINVAL; + } LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u set up successfully.\n", ts_nr); trunk->e1.ts_in_use[ts_nr - 1] = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 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 Aug 18 19:00:02 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 19:00:02 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... mgcp_e1: remove unused struct member trunk->e1.line The struct member trunk->e1.line is never set. Also it is always possible to use e1inp_line_find() to get a pointer to the e1.line. Lets remove it. Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_e1.c 2 files changed, 6 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/11/19711/1 diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index d99f801..1002adb 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -60,7 +60,6 @@ /* E1 specific */ struct { unsigned int vty_line_nr; - struct e1inp_line *line; bool ts_in_use[31]; struct osmo_i460_timeslot i460_ts[31]; } e1; diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index d5dfefd..a935618 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -385,18 +385,13 @@ } /* Get E1 line */ - if (!trunk->e1.line) { - e1_line = e1inp_line_find(trunk->e1.vty_line_nr); - if (!e1_line) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", - trunk->e1.vty_line_nr); - return -EINVAL; - } - e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); - } else - e1_line = trunk->e1.line; - if (!e1_line) + e1_line = e1inp_line_find(trunk->e1.vty_line_nr); + if (!e1_line) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", + trunk->e1.vty_line_nr); return -EINVAL; + } + e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); /* Configure E1 timeslot */ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 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 Aug 18 19:22:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 18 Aug 2020 19:22:24 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: fix config file + add E1 trunk References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19712 ) Change subject: osmo-mgw.cfg: fix config file + add E1 trunk ...................................................................... osmo-mgw.cfg: fix config file + add E1 trunk The config file of osmo-mgw has an incorrect indentation. Also no E1 trunk is configured, so that the E1 related tests fail. Lets fix this. Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 26 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/12/19712/1 diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index c97f08a..8036058 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -23,22 +23,34 @@ no login bind 0.0.0.0 ! +e1_input + e1_line 0 driver ipa +! mgcp - bind ip 172.18.4.180 - bind port 2427 - rtp port-range 4002 16000 - rtp bind-ip 172.18.4.180 - rtp ip-probing - rtp ip-dscp 184 - no rtp keep-alive - no rtcp-omit - no rtp-patch - sdp audio-payload number 98 - sdp audio-payload name GSM + bind ip 172.18.4.180 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 172.18.4.180 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + conn-timeout 0 + loop 0 + number endpoints 31 + allow-transcoding + osmux off + trunk 1 sdp audio-payload send-ptime sdp audio-payload send-name - conn-timeout 0 + no rtp keep-alive loop 0 - number endpoints 31 + no rtcp-omit + no rtp-patch allow-transcoding - osmux off + line 0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd Gerrit-Change-Number: 19712 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 Aug 18 20:08:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 20:08:45 +0000 Subject: Change in osmo-pcu[master]: pdch: Drop unneeded notice log message in rcv pkt meas report In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19705 ) Change subject: pdch: Drop unneeded notice log message in rcv pkt meas report ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19705/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19705/1/src/pdch.cpp at a657 PS1, Line 657: sba = bts()->sba()->find(this, fn); Merging this into the variable definition is not really needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 Gerrit-Change-Number: 19705 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 Aug 2020 20:08: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 Tue Aug 18 20:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Aug 2020 20:12:43 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h at 302 PS1, Line 302: PRIu8 ", %" PRIu8 "/%" PRIu8 Why not just '%u'? What's wrong with it? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 18 Aug 2020 20:12: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 Aug 18 21:14:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Aug 2020 21:14:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Use random chosen unused local TCP port number for SMPP client References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 ) Change subject: msc: Use random chosen unused local TCP port number for SMPP client ...................................................................... msc: Use random chosen unused local TCP port number for SMPP client The existing code passed -1 as TCP port number to the SMPP client. This - very unintuitively - causes TITAN to always chose port number 9999, as that's the default value in IPL4asp. Let's use '0' instead. Change-Id: I4db38f4099c388bed23f9a3611619866ede9cbc5 --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/19713/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d59d165..5497c2d 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -210,7 +210,7 @@ vc_SMPP := SMPP_Emulation_CT.create(id); map(vc_SMPP:SMPP_PORT, system:SMPP_PORT); - vc_SMPP.start(SMPP_Emulation.main_client(pars, mp_msc_ip, mp_msc_smpp_port, "", -1)); + vc_SMPP.start(SMPP_Emulation.main_client(pars, mp_msc_ip, mp_msc_smpp_port, "", 0)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4db38f4099c388bed23f9a3611619866ede9cbc5 Gerrit-Change-Number: 19713 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 Aug 18 21:14:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Aug 2020 21:14:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Expect CommonID from MSC by default References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 ) Change subject: msc: Expect CommonID from MSC by default ...................................................................... msc: Expect CommonID from MSC by default As of osmo-msc Change-Id I2552736477663adb250c55728093500e8ae83ebb, osmo-msc is always sending BSSMAP CommonID to the BSC. Let's adjust our test expectation, while allowing the user to start the tests with BSC_ConnectionHandler.mp_expect_common_id := false to get the existing behavior (expect no bSSMAP CommonId) can be restored, e.g. for testing 'latest'. Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Related: OS#2969 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/19714/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index cc69a68..3d33ae7 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -61,6 +61,10 @@ import from TCCConversion_Functions { function f_strstr }; +modulepar { + boolean mp_expect_common_id := true; +} + /* this component represents a single subscriber connection */ type component BSC_ConnHdlr extends RAN_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, CTRL_Adapter_CT, SGsAP_ConnHdlr { var BSC_ConnHdlrPars g_pars; @@ -539,6 +543,9 @@ } /* FIXME: Send the best available algorithm */ } + if (mp_expect_common_id) { + BSSAP.receive(tr_BSSMAP_CommonId(g_pars.imsi)); + } } else { /* UTRAN */ alt { [g_pars.net.expect_ciph] BSSAP.receive(tr_RANAP_SecurityModeCmdEnc(uia_algs := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Gerrit-Change-Number: 19714 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 Aug 18 21:48:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Aug 2020 21:48:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Expect CommonID from MSC by default 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/+/19714 to look at the new patch set (#2). Change subject: msc: Expect CommonID from MSC by default ...................................................................... msc: Expect CommonID from MSC by default As of osmo-msc Change-Id I2552736477663adb250c55728093500e8ae83ebb, osmo-msc is always sending BSSMAP CommonID to the BSC. Let's adjust our test expectation, while allowing the user to start the tests with BSC_ConnectionHandler.mp_expect_common_id := false to get the existing behavior (expect no bSSMAP CommonId) can be restored, e.g. for testing 'latest'. Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Related: OS#2969 --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 24 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/19714/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Gerrit-Change-Number: 19714 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Aug 19 01:36:06 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Aug 2020 01:36:06 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f3c821c1c29c_46212ad2cf82e5fc6045c6@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: [ 179s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 179s] [COMPILING libboard/qmod/source/card_pres.c] [ 179s] [COMPILING libboard/qmod/source/wwan_led.c] [ 179s] [COMPILING libboard/qmod/source/i2c.c] [ 180s] [COMPILING libboard/qmod/source/board_qmod.c] [ 180s] [COMPILING apps/dfu/main.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 180s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 180s] Memory region Used Size Region Size %age Used [ 180s] rom: 16588 B 16 KB 101.25% [ 180s] 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' [ 180s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 180s] collect2: error: ld returned 1 exit status [ 180s] % [ 180s] make[2]: *** [Makefile:234: flash] Error 1 [ 180s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 180s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 180s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 180s] dh_auto_build: error: make -j1 returned exit code 2 [ 180s] make: *** [debian/rules:16: build] Error 25 [ 180s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 180s] ### VM INTERACTION START ### [ 184s] [ 173.874810] sysrq: Power Off [ 184s] [ 173.879760] reboot: Power down [ 184s] ### VM INTERACTION END ### [ 184s] [ 184s] lamb55 failed "build simtrace2_0.7.0.63.39070.dsc" at Wed Aug 19 01:36:02 UTC 2020. [ 184s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Aug 19 06:59:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 06:59:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Expect CommonID from MSC by default 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/+/19714 to look at the new patch set (#3). Change subject: msc: Expect CommonID from MSC by default ...................................................................... msc: Expect CommonID from MSC by default As of osmo-msc Change-Id I2552736477663adb250c55728093500e8ae83ebb, osmo-msc is always sending BSSMAP CommonID to the BSC. Let's adjust our test expectation, while allowing the user to start the tests with BSC_ConnectionHandler.mp_expect_common_id := false to get the existing behavior (expect no bSSMAP CommonId) can be restored, e.g. for testing 'latest'. Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Related: OS#2969 --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 23 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/19714/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Gerrit-Change-Number: 19714 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 Wed Aug 19 06:59:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 06:59:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable There is a race condition when shutting down, as a DLCX might arrive while we are half-shutdown. Expect both DLCX before terminating the ConnHdlr. Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf --- M msc/MSC_Tests.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/19715/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d668616..a2c3847 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -702,12 +702,15 @@ T_wait_iar.stop setverdict(pass); } - [] MGCP.receive(tr_DLCX(?)) { repeat; } [] T_wait_iar.timeout { setverdict(fail, "Timeout waiting for T(iar) triggered SCCP RSLD"); mtc.stop; } } + /* DLCX for both directions; if we don't do this, we might receive either of the two during + * shutdown causing race conditions */ + MGCP.receive(tr_DLCX(?)); + MGCP.receive(tr_DLCX(?)); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 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 Aug 19 06:59:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 06:59:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix repeated execution of TC_sgsap_unsol_ud() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 ) Change subject: msc: Fix repeated execution of TC_sgsap_unsol_ud() ...................................................................... msc: Fix repeated execution of TC_sgsap_unsol_ud() Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Closes: OS#4722 --- M msc/MSC_Tests.ttcn 1 file changed, 14 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/19716/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index a2c3847..3d7e8fa 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -962,23 +962,27 @@ vc_conn.done; } - -/* Test IMSI DETACH (MI=IMSI) */ -friend function f_tc_imsi_detach_by_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { - f_init_handler(pars); - +friend function f_imsi_detach_by_imsi() runs on BSC_ConnHdlr { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ f_cl3_or_initial_ue(valueof(ts_ML3_MO_MM_IMSI_DET_Ind(mi))); /* Send Early Classmark, just for the fun of it? */ - if (pars.ran_is_geran) { + if (g_pars.ran_is_geran) { BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)); } /* wait for normal teardown */ - f_expect_clear(); + f_expect_clear(verify_vlr_cell_id := false); +} + + +/* Test IMSI DETACH (MI=IMSI) */ +friend function f_tc_imsi_detach_by_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_imsi_detach_by_imsi(); } testcase TC_imsi_detach_by_imsi() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -4831,6 +4835,9 @@ f_sgsap_bssmap_screening(); + /* clean-up VLR state about this subscriber */ + f_imsi_detach_by_imsi(); + setverdict(pass); } testcase TC_sgsap_unsol_ud() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Gerrit-Change-Number: 19716 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 Aug 19 07:06:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:16 +0000 Subject: Change in osmo-msc[master]: Send "BSSMAP CommonID" to tell BSC about the IMSI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18949 ) Change subject: Send "BSSMAP CommonID" to tell BSC about the IMSI ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2552736477663adb250c55728093500e8ae83ebb Gerrit-Change-Number: 18949 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 07:06:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:06:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:20 +0000 Subject: Change in osmo-msc[master]: Send "BSSMAP CommonID" to tell BSC about the IMSI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18949 ) Change subject: Send "BSSMAP CommonID" to tell BSC about the IMSI ...................................................................... Send "BSSMAP CommonID" to tell BSC about the IMSI We're already sending the RANAP CommonID message to the RNC, let's do the same using BSSMAP CommonId towards the BSC. This way the BSC knows about the IMSI of the served subscriber, which is very useful for logging/debugging. Change-Id: I2552736477663adb250c55728093500e8ae83ebb Closes: OS#2969 Depends: libosmocore.git I353adc1aa72377f7d4b3336d2ff47791fb73d62c --- M src/libmsc/ran_msg_a.c M src/libvlr/vlr_access_req_fsm.c M src/libvlr/vlr_lu_fsm.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 14 files changed, 195 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 1fa8ccb..8158e91 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -1223,6 +1223,9 @@ case RAN_MSG_ASSIGNMENT_COMMAND: return ran_a_make_assignment_command(caller_fi, &ran_enc_msg->assignment_command); + case RAN_MSG_COMMON_ID: + return gsm0808_create_common_id(ran_enc_msg->common_id.imsi, NULL, NULL); + case RAN_MSG_CIPHER_MODE_COMMAND: return ran_a_make_cipher_mode_command(caller_fi, &ran_enc_msg->cipher_mode_command); diff --git a/src/libvlr/vlr_access_req_fsm.c b/src/libvlr/vlr_access_req_fsm.c index 73f3435..b3660ff 100644 --- a/src/libvlr/vlr_access_req_fsm.c +++ b/src/libvlr/vlr_access_req_fsm.c @@ -246,16 +246,13 @@ { struct proc_arq_priv *par = fi->priv; struct vlr_subscr *vsub = par->vsub; + int rc; LOGPFSM(fi, "%s()\n", __func__); - if (par->is_utran) { - int rc; - rc = par->vlr->ops.tx_common_id(par->msc_conn_ref); - if (rc) - LOGPFSML(fi, LOGL_ERROR, - "Error while sending Common ID (%d)\n", rc); - } + rc = par->vlr->ops.tx_common_id(par->msc_conn_ref); + if (rc) + LOGPFSML(fi, LOGL_ERROR, "Error while sending Common ID (%d)\n", rc); vsub->conf_by_radio_contact_ind = true; if (vsub->loc_conf_in_hlr_ind == false) { diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c index d5425e7..53e614d 100644 --- a/src/libvlr/vlr_lu_fsm.c +++ b/src/libvlr/vlr_lu_fsm.c @@ -818,18 +818,15 @@ { struct lu_fsm_priv *lfp = lu_fsm_fi_priv(fi); struct vlr_subscr *vsub = lfp->vsub; + int rc; LOGPFSM(fi, "%s()\n", __func__); OSMO_ASSERT(vsub); - if (lfp->is_utran) { - int rc; - rc = lfp->vlr->ops.tx_common_id(lfp->msc_conn_ref); - if (rc) - LOGPFSML(fi, LOGL_ERROR, - "Error while sending Common ID (%d)\n", rc); - } + rc = lfp->vlr->ops.tx_common_id(lfp->msc_conn_ref); + if (rc) + LOGPFSML(fi, LOGL_ERROR, "Error while sending Common ID (%d)\n", rc); vsub->conf_by_radio_contact_ind = true; /* Update LAI */ diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index 9b0dac2..f00470a 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -72,6 +72,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -261,6 +263,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -389,6 +393,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1108,6 +1114,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1297,6 +1305,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1413,6 +1423,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1529,6 +1541,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -2360,6 +2374,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2561,6 +2577,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index 3da091f..94a257d 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -97,6 +97,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -257,6 +259,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -410,6 +414,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -681,6 +687,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -888,6 +896,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1041,6 +1051,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1214,6 +1226,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1504,6 +1518,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1816,6 +1832,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2081,6 +2099,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2347,6 +2367,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2674,6 +2696,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2834,6 +2858,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -2987,6 +3013,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index edd4ee6..53e8ee6 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -105,6 +105,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -298,6 +300,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -479,6 +483,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -758,6 +764,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -998,6 +1006,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -1179,6 +1189,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -1457,6 +1469,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1781,6 +1795,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2060,6 +2076,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2401,6 +2419,8 @@ DBSSAP msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2576,6 +2596,8 @@ DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -2739,6 +2761,8 @@ DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -3009,6 +3033,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -3202,6 +3228,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -3383,6 +3411,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -3653,6 +3683,8 @@ DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -3846,6 +3878,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() @@ -4005,6 +4039,8 @@ DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-42342:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace() diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index 51fc0e8..d115d48 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -276,6 +276,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -438,6 +440,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -602,6 +606,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -868,6 +874,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1195,6 +1203,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1298,6 +1308,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index d68b4f7..07fb621 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -145,6 +145,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 653e56c..2405b65 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -201,6 +201,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -437,6 +439,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index a74c18f..236aacd 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -34,6 +34,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -168,6 +170,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -277,6 +281,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -485,6 +491,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -666,6 +674,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -775,6 +785,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -921,6 +933,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1168,6 +1182,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1419,6 +1435,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1722,6 +1740,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1954,6 +1974,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2175,6 +2197,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2374,6 +2398,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_WAIT_IMEISV}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2652,6 +2678,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_CHECK_IMEI_EARLY}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2895,6 +2923,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 4bad93e..9b780c5 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -34,6 +34,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -224,6 +226,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -365,6 +369,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -511,6 +517,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -654,6 +662,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -769,6 +779,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -890,6 +902,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1005,6 +1019,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -1131,6 +1147,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1246,6 +1264,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -1356,6 +1376,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1493,6 +1515,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -1656,6 +1680,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -1793,6 +1819,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -1980,6 +2008,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -2117,6 +2147,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index be1a888..51b27db 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -99,6 +99,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -238,6 +240,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -474,6 +478,8 @@ DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_WAIT_IMSI}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_WAIT_IMSI}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_WAIT_IMSI}: vlr_loc_upd_post_ciph() +DMSC msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(TMSI-0x23422342:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_WAIT_IMSI}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_WAIT_IMSI}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(TMSI-0x23422342:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index f7f3e78..ca18094 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -34,6 +34,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -153,6 +155,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() @@ -271,6 +275,8 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -412,6 +418,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace() diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index 0b049b9..7f345a1 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -72,6 +72,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated @@ -274,6 +276,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -428,6 +432,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph() +DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres() DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace() @@ -1942,6 +1948,8 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph() +DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on GERAN-A +DMSC dummy_msc_i(IMSI-901700000010650:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: Allocated -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2552736477663adb250c55728093500e8ae83ebb Gerrit-Change-Number: 18949 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Use random chosen unused local TCP port number for SMPP client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 ) Change subject: msc: Use random chosen unused local TCP port number for SMPP client ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4db38f4099c388bed23f9a3611619866ede9cbc5 Gerrit-Change-Number: 19713 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:06:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:06:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Expect CommonID from MSC by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 ) Change subject: msc: Expect CommonID from MSC by default ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Gerrit-Change-Number: 19714 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:06: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 Aug 19 07:06:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Use random chosen unused local TCP port number for SMPP client In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 ) Change subject: msc: Use random chosen unused local TCP port number for SMPP client ...................................................................... msc: Use random chosen unused local TCP port number for SMPP client The existing code passed -1 as TCP port number to the SMPP client. This - very unintuitively - causes TITAN to always chose port number 9999, as that's the default value in IPL4asp. Let's use '0' instead. Change-Id: I4db38f4099c388bed23f9a3611619866ede9cbc5 --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d59d165..5497c2d 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -210,7 +210,7 @@ vc_SMPP := SMPP_Emulation_CT.create(id); map(vc_SMPP:SMPP_PORT, system:SMPP_PORT); - vc_SMPP.start(SMPP_Emulation.main_client(pars, mp_msc_ip, mp_msc_smpp_port, "", -1)); + vc_SMPP.start(SMPP_Emulation.main_client(pars, mp_msc_ip, mp_msc_smpp_port, "", 0)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19713 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4db38f4099c388bed23f9a3611619866ede9cbc5 Gerrit-Change-Number: 19713 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 Aug 19 07:06:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:06:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Expect CommonID from MSC by default In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 ) Change subject: msc: Expect CommonID from MSC by default ...................................................................... msc: Expect CommonID from MSC by default As of osmo-msc Change-Id I2552736477663adb250c55728093500e8ae83ebb, osmo-msc is always sending BSSMAP CommonID to the BSC. Let's adjust our test expectation, while allowing the user to start the tests with BSC_ConnectionHandler.mp_expect_common_id := false to get the existing behavior (expect no bSSMAP CommonId) can be restored, e.g. for testing 'latest'. Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Related: OS#2969 --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 23 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index cc69a68..053a5f6 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -61,6 +61,10 @@ import from TCCConversion_Functions { function f_strstr }; +modulepar { + boolean mp_expect_common_id := true; +} + /* this component represents a single subscriber connection */ type component BSC_ConnHdlr extends RAN_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, CTRL_Adapter_CT, SGsAP_ConnHdlr { var BSC_ConnHdlrPars g_pars; @@ -519,6 +523,17 @@ } } +function f_expect_common_id() runs on BSC_ConnHdlr +{ + if (g_pars.ran_is_geran) { + if (mp_expect_common_id) { + BSSAP.receive(tr_BSSMAP_CommonId(g_pars.imsi)); + } + } else { + BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + } +} + function f_mm_common() runs on BSC_ConnHdlr { f_mm_auth(); @@ -539,6 +554,7 @@ } /* FIXME: Send the best available algorithm */ } + f_expect_common_id(); } else { /* UTRAN */ alt { [g_pars.net.expect_ciph] BSSAP.receive(tr_RANAP_SecurityModeCmdEnc(uia_algs := ?, @@ -549,7 +565,7 @@ var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1*/ var EncryptionAlgorithm uea_chosen := 1; /*standard_UMTS_encryption_algorith_UEA1*/ BSSAP.send(ts_RANAP_SecurityModeCompleteEnc(uia_chosen, uea_chosen)); - BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + f_expect_common_id(); } [g_pars.net.expect_ciph] BSSAP.receive(tr_RANAP_SecurityModeCmdEnc(?,?,?,?,?)) { setverdict(fail, "Invalid SecurityModeCommand (ciphering case)"); @@ -560,7 +576,7 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); - BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + f_expect_common_id(); } [not g_pars.net.expect_ciph] BSSAP.receive(tr_RANAP_SecurityModeCmd(?,?,?)) { setverdict(fail, "Invalid SecurityModeCommand (non-ciphering case)"); diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 5497c2d..d668616 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -807,6 +807,7 @@ /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ f_cl3_or_initial_ue(l3_lu); + f_expect_common_id(); /* Send Early Classmark, just for the fun of it */ BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)); @@ -926,6 +927,7 @@ BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI))); BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(overlong_imsi))); /* test for OS#2864 */ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi))); + f_expect_common_id(); /* Expect MSC to do UpdateLocation to HLR; respond to it */ GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); @@ -3972,6 +3974,7 @@ mtc.stop; } } + f_expect_common_id(); /* Expect LU reject from MSC. */ alt { @@ -4008,6 +4011,7 @@ /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ var PDU_ML3_MS_NW l3_lu := f_build_lu_imsi(g_pars.imsi) f_cl3_or_initial_ue(l3_lu); + f_expect_common_id(); /* Expect LU reject from MSC. */ alt { @@ -4066,6 +4070,7 @@ mtc.stop; } } + f_expect_common_id(); /* TODO: Verify MSC is using the best cipher available! How? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19714 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f Gerrit-Change-Number: 19714 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:09:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:09:22 +0000 Subject: Change in docker-playground[master]: msc: Disable expecting CommonID when testing 'latest' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19717 ) Change subject: msc: Disable expecting CommonID when testing 'latest' ...................................................................... msc: Disable expecting CommonID when testing 'latest' As of osmo-ttcn3-hacks.git Change-Id I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f the test suite expects the MSC to send a CommonID to the BSC. As older/existing tagged osmo-msc don't do that, we needt odisable that check when verifying 'latest'. Change-Id: If2e4cc41cb7b5758a78d694d62b34390a08e6387 Related: OS#2969 --- M ttcn3-msc-test/MSC_Tests.cfg M ttcn3-msc-test/jenkins.sh 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/19717/1 diff --git a/ttcn3-msc-test/MSC_Tests.cfg b/ttcn3-msc-test/MSC_Tests.cfg index 092e4cf..833e761 100644 --- a/ttcn3-msc-test/MSC_Tests.cfg +++ b/ttcn3-msc-test/MSC_Tests.cfg @@ -53,6 +53,7 @@ MSC_Tests.mp_mgw_ip := "172.18.20.103"; MSC_Tests.mp_enable_osmux_test := true; MSC_Tests.mp_enable_cell_id_test := true; +BSC_ConnectionHandler.mp_expect_common_id := true; [MAIN_CONTROLLER] diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index bbdc739..f229868 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -17,6 +17,8 @@ if [ "$IMAGE_SUFFIX" = "latest" ]; then sed "s/MSC_Tests.mp_enable_cell_id_test := true/MSC_Tests.mp_enable_cell_id_test := false/" -i \ "$VOL_BASE_DIR/msc-tester/MSC_Tests.cfg" + sed "s/BSC_ConnectionHandler.mp_expect_common_id := true/BSC_ConnectionHandler.mp_expect_common_id := false/" -i \ + "$VOL_BASE_DIR/msc-tester/MSC_Tests.cfg" fi mkdir $VOL_BASE_DIR/stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If2e4cc41cb7b5758a78d694d62b34390a08e6387 Gerrit-Change-Number: 19717 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 Aug 19 07:11:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:11:00 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:11: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 Aug 19 07:11:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:11:22 +0000 Subject: Change in osmo-pcu[master]: pdch: Drop unneeded notice log message in rcv pkt meas report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19705 ) Change subject: pdch: Drop unneeded notice log message in rcv pkt meas report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 Gerrit-Change-Number: 19705 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:11: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 Aug 19 07:12:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:12:22 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv pkt meas rep: Allocate MS object early in path and use it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19707 ) Change subject: pdch: rcv pkt meas rep: Allocate MS object early in path and use it ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19707/1/src/gprs_rlcmac_meas.cpp File src/gprs_rlcmac_meas.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19707/1/src/gprs_rlcmac_meas.cpp at 46 PS1, Line 46: LOGPMS(ms, DRLCMACMEAS, LOGL_INFO, "Rx Measurement Report:"); this looks like an unrelated change/hunk that might be better merged into the introduction of LOGPMS. But we can let that slip once. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f Gerrit-Change-Number: 19707 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:12:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:13:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:13:40 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: fix config file + add E1 trunk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19712 ) Change subject: osmo-mgw.cfg: fix config file + add E1 trunk ...................................................................... Patch Set 1: Code-Review+2 please make sure that the config file in osmo-ttcn3-hacks/mgw also reflects those changes. The file there is used for execution outside of docker, while this one here is for execution inside of docker. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd Gerrit-Change-Number: 19712 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:13: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 Aug 19 07:13:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:13:45 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: fix config file + add E1 trunk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19712 ) Change subject: osmo-mgw.cfg: fix config file + add E1 trunk ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd Gerrit-Change-Number: 19712 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:13: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 Aug 19 07:13:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:13:54 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: fix config file + add E1 trunk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19712 ) Change subject: osmo-mgw.cfg: fix config file + add E1 trunk ...................................................................... osmo-mgw.cfg: fix config file + add E1 trunk The config file of osmo-mgw has an incorrect indentation. Also no E1 trunk is configured, so that the E1 related tests fail. Lets fix this. Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 26 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index c97f08a..8036058 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -23,22 +23,34 @@ no login bind 0.0.0.0 ! +e1_input + e1_line 0 driver ipa +! mgcp - bind ip 172.18.4.180 - bind port 2427 - rtp port-range 4002 16000 - rtp bind-ip 172.18.4.180 - rtp ip-probing - rtp ip-dscp 184 - no rtp keep-alive - no rtcp-omit - no rtp-patch - sdp audio-payload number 98 - sdp audio-payload name GSM + bind ip 172.18.4.180 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 172.18.4.180 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + conn-timeout 0 + loop 0 + number endpoints 31 + allow-transcoding + osmux off + trunk 1 sdp audio-payload send-ptime sdp audio-payload send-name - conn-timeout 0 + no rtp keep-alive loop 0 - number endpoints 31 + no rtcp-omit + no rtp-patch allow-transcoding - osmux off + line 0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19712 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3b19afc0809bd56e9fe0f5e968e1c000d29f4abd Gerrit-Change-Number: 19712 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:19:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:19:09 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... Patch Set 1: In general, particularly in the context of efficiency, we should avoid looking up an object (such as the E1 line) again and again at runtime. Is this the case? Please verify. If we frequently end up calling e1inp_line_find(), we should do the look-up once and cache the result in a member variable, this is typically more efficient. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:19:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:19:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: log when endpoint is unavailable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19708 ) Change subject: mgcp_protocol: log when endpoint is unavailable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I059b7e29f960e75a53bfb5dfb2b83ab3d79e84f3 Gerrit-Change-Number: 19708 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:19: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 Aug 19 07:19:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:19:53 +0000 Subject: Change in osmo-mgw[master]: cosmetic: add missing new-line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19709 ) Change subject: cosmetic: add missing new-line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4a4a7515e8d92ab39576c33765dd3dc581453ceb Gerrit-Change-Number: 19709 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:19: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 Aug 19 07:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:20:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19710 ) Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/19710/1/src/libosmo-mgcp/mgcp_e1.c File src/libosmo-mgcp/mgcp_e1.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19710/1/src/libosmo-mgcp/mgcp_e1.c at 404 PS1, Line 404: LOGL_DEBUG this sounds like a serious error with serious consequences. LOGL_ERROR? https://gerrit.osmocom.org/c/osmo-mgw/+/19710/1/src/libosmo-mgcp/mgcp_e1.c at 409 PS1, Line 409: LOGL_DEBUG likewise here? Or are there non-erroneous situations when this happens? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:20: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 Aug 19 07:20:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:20:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: log when endpoint is unavailable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19708 ) Change subject: mgcp_protocol: log when endpoint is unavailable ...................................................................... mgcp_protocol: log when endpoint is unavailable When endpoints become unavailable when MDCX/CRCX/DLCX are executed on them a major problem may be the cause, lets make sure that those events are logged. Change-Id: I059b7e29f960e75a53bfb5dfb2b83ab3d79e84f3 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 6a533c3..4dc0f55 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -748,6 +748,8 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "CRCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "CRCX", p->trans); } @@ -1017,6 +1019,8 @@ if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "MDCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "MDCX", p->trans); } @@ -1243,6 +1247,8 @@ if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_FAIL_AVAIL]); + LOGPENDP(endp, DLMGCP, LOGL_ERROR, + "DLCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "DLCX", p->trans); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19708 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I059b7e29f960e75a53bfb5dfb2b83ab3d79e84f3 Gerrit-Change-Number: 19708 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:21:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:21:00 +0000 Subject: Change in osmo-mgw[master]: cosmetic: add missing new-line In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19709 ) Change subject: cosmetic: add missing new-line ...................................................................... cosmetic: add missing new-line Change-Id: I4a4a7515e8d92ab39576c33765dd3dc581453ceb --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 4dc0f55..9ec4aee 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -746,6 +746,7 @@ int rc; LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: creating new connection ...\n"); + if (!mgcp_endp_avail(endp)) { rate_ctr_inc(&rate_ctrs->ctr[MGCP_CRCX_FAIL_AVAIL]); LOGPENDP(endp, DLMGCP, LOGL_ERROR, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4a4a7515e8d92ab39576c33765dd3dc581453ceb Gerrit-Change-Number: 19709 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:21:52 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5abdce5daef43dad772bf52576b47c0867d65c98 Gerrit-Change-Number: 19698 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:21:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:22:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:22:20 +0000 Subject: Change in osmo-sgsn[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 ) Change subject: doc: Update VTY reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I787bbc254ef10766fe8d480ffd93a16d9926a50e Gerrit-Change-Number: 19699 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:22:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 07:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:28:56 +0000 Subject: Change in docker-playground[master]: msc: Disable expecting CommonID when testing 'latest' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19717 ) Change subject: msc: Disable expecting CommonID when testing 'latest' ...................................................................... Patch Set 1: Verified+1 Code-Review+2 tested execution of 'master' test suite against 'latest': Tests still pass (all would fail if CommonID was expected) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If2e4cc41cb7b5758a78d694d62b34390a08e6387 Gerrit-Change-Number: 19717 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 07:28: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 Aug 19 07:29:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 07:29:31 +0000 Subject: Change in docker-playground[master]: msc: Disable expecting CommonID when testing 'latest' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19717 ) Change subject: msc: Disable expecting CommonID when testing 'latest' ...................................................................... msc: Disable expecting CommonID when testing 'latest' As of osmo-ttcn3-hacks.git Change-Id I4976d9bb1f07c8ab4ffa02848414f8ddd1bdfd3f the test suite expects the MSC to send a CommonID to the BSC. As older/existing tagged osmo-msc don't do that, we needt odisable that check when verifying 'latest'. Change-Id: If2e4cc41cb7b5758a78d694d62b34390a08e6387 Related: OS#2969 --- M ttcn3-msc-test/MSC_Tests.cfg M ttcn3-msc-test/jenkins.sh 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-msc-test/MSC_Tests.cfg b/ttcn3-msc-test/MSC_Tests.cfg index 092e4cf..833e761 100644 --- a/ttcn3-msc-test/MSC_Tests.cfg +++ b/ttcn3-msc-test/MSC_Tests.cfg @@ -53,6 +53,7 @@ MSC_Tests.mp_mgw_ip := "172.18.20.103"; MSC_Tests.mp_enable_osmux_test := true; MSC_Tests.mp_enable_cell_id_test := true; +BSC_ConnectionHandler.mp_expect_common_id := true; [MAIN_CONTROLLER] diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index bbdc739..f229868 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -17,6 +17,8 @@ if [ "$IMAGE_SUFFIX" = "latest" ]; then sed "s/MSC_Tests.mp_enable_cell_id_test := true/MSC_Tests.mp_enable_cell_id_test := false/" -i \ "$VOL_BASE_DIR/msc-tester/MSC_Tests.cfg" + sed "s/BSC_ConnectionHandler.mp_expect_common_id := true/BSC_ConnectionHandler.mp_expect_common_id := false/" -i \ + "$VOL_BASE_DIR/msc-tester/MSC_Tests.cfg" fi mkdir $VOL_BASE_DIR/stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19717 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If2e4cc41cb7b5758a78d694d62b34390a08e6387 Gerrit-Change-Number: 19717 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 Wed Aug 19 08:49:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:49:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... Patch Set 1: I'm sorry but I don't really get the issue or why this patch solves it :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 08:49:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 08:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:52:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix repeated execution of TC_sgsap_unsol_ud() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 ) Change subject: msc: Fix repeated execution of TC_sgsap_unsol_ud() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Gerrit-Change-Number: 19716 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 08:52:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 08:55:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:55:51 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h at 302 PS1, Line 302: PRIu8 ", %" PRIu8 "/%" PRIu8 > Why not just '%u'? What's wrong with it? If there's a specific standard format for uint8_t, why not use it? IMHo it's good practice to always use those, because despite in this specific case not needed due to promotion to word size, in others it does make a difference. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 08:55:51 +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 Aug 19 08:56:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:56:00 +0000 Subject: Change in osmo-pcu[master]: pdch: Drop unneeded notice log message in rcv pkt meas report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19705 ) Change subject: pdch: Drop unneeded notice log message in rcv pkt meas report ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 Gerrit-Change-Number: 19705 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 08: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 Wed Aug 19 08:56:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:56:09 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 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 Wed Aug 19 08:58:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 08:58:14 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv pkt meas rep: Allocate MS object early in path and use it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19707 ) Change subject: pdch: rcv pkt meas rep: Allocate MS object early in path and use it ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19707/1/src/gprs_rlcmac_meas.cpp File src/gprs_rlcmac_meas.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19707/1/src/gprs_rlcmac_meas.cpp at 46 PS1, Line 46: LOGPMS(ms, DRLCMACMEAS, LOGL_INFO, "Rx Measurement Report:"); > this looks like an unrelated change/hunk that might be better merged into the introduction of LOGPMS [?] Well the other changes in this patch are a prerequisite for this line change (having ms object in all cases), and imho it goes well in this same patch as a user of the refactoring done in the other place. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f Gerrit-Change-Number: 19707 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 08:58: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 Wed Aug 19 09:00:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 09:00:02 +0000 Subject: Change in osmo-sgsn[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I5abdce5daef43dad772bf52576b47c0867d65c98 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 9432715..db2e1ad 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19698 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5abdce5daef43dad772bf52576b47c0867d65c98 Gerrit-Change-Number: 19698 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 Aug 19 09:00:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 09:00:03 +0000 Subject: Change in osmo-sgsn[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I787bbc254ef10766fe8d480ffd93a16d9926a50e --- M doc/manuals/vty/sgsn_vty_reference.xml 1 file changed, 188 insertions(+), 87 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index 38e21c2..e49d278 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -187,7 +188,7 @@ - + @@ -204,6 +205,7 @@ + @@ -262,6 +264,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -378,6 +424,13 @@ + + + + + + + @@ -397,6 +450,13 @@ + + + + + + + @@ -734,7 +794,7 @@ - + @@ -751,6 +811,7 @@ + @@ -809,6 +870,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -888,6 +993,18 @@ + + + + + + + + + + + + @@ -925,6 +1042,13 @@ + + + + + + + @@ -1008,6 +1132,13 @@ + + + + + + + @@ -1412,11 +1543,11 @@ - + - + @@ -1521,7 +1652,7 @@ - + @@ -1538,6 +1669,7 @@ + @@ -1686,6 +1818,12 @@ + + + + + + config-line @@ -1805,6 +1943,15 @@ + + + + + + + + + @@ -1984,6 +2131,12 @@ + + + + + + @@ -2054,6 +2207,15 @@ + + + + + + + + + config-cs7-asp @@ -2081,6 +2243,21 @@ + + + + + + + + + + + + + + + @@ -2366,88 +2543,12 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19699 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I787bbc254ef10766fe8d480ffd93a16d9926a50e Gerrit-Change-Number: 19699 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 Aug 19 09:00:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Aug 2020 09:00:43 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/c/osmo-pcu/+/19706/1/src/gprs_ms.h at 302 PS1, Line 302: PRIu8 ", %" PRIu8 "/%" PRIu8 > If there's a specific standard format for uint8_t, why not use it? IMHo it's good practice to always [?] At least because such format string looks cumbersome and harder to read compared to 'inline' format specifiers. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 09:00:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 09:01:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 09:01:28 +0000 Subject: Change in osmo-pcu[master]: pdch: Drop unneeded notice log message in rcv pkt meas report In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19705 ) Change subject: pdch: Drop unneeded notice log message in rcv pkt meas report ...................................................................... pdch: Drop unneeded notice log message in rcv pkt meas report It's totally fine to receive Packet Measurement Report messages with no SBA present, since the MS also sends measurements on PACCH while transmitting data. Related: OS#4719 Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 --- M src/pdch.cpp 1 file changed, 2 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 856da75..b34f532 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -652,15 +652,8 @@ void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn) { - struct gprs_rlcmac_sba *sba; - - sba = bts()->sba()->find(this, fn); - if (!sba) { - LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " - "in packet resource request of single " - "block, but there is no resource request " - "scheduled! TLLI=0x%08x\n", report->TLLI); - } else { + struct gprs_rlcmac_sba *sba = bts()->sba()->find(this, fn); + if (sba) { GprsMs *ms = bts()->ms_store().get_ms(report->TLLI); if (!ms) LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19705 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f642d9cdeb342df7d5f2fa30516ea69554a6270 Gerrit-Change-Number: 19705 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 09:01:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 09:01:29 +0000 Subject: Change in osmo-pcu[master]: Introduce log macro helper LOGPMS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19706 ) Change subject: Introduce log macro helper LOGPMS ...................................................................... Introduce log macro helper LOGPMS Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 --- M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac_meas.cpp M tests/tbf/TbfTest.err 4 files changed, 29 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 494ed2e..f82026a 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -685,13 +685,12 @@ mcs_inc_kind(&new_cs_ul, mode()); if (m_current_cs_ul != new_cs_ul) { - LOGP(DRLCMACMEAS, LOGL_INFO, - "MS (IMSI %s): " - "Link quality %ddB (old %ddB) left window [%d, %d], " - "modifying uplink CS level: %s -> %s\n", - imsi(), meas->link_qual, old_link_qual, - low, high, - mcs_name(m_current_cs_ul), mcs_name(new_cs_ul)); + LOGPMS(this, DRLCMACMEAS, LOGL_INFO, + "Link quality %ddB (old %ddB) left window [%d, %d], " + "modifying uplink CS level: %s -> %s\n", + meas->link_qual, old_link_qual, + low, high, + mcs_name(m_current_cs_ul), mcs_name(new_cs_ul)); m_current_cs_ul = new_cs_ul; } diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 1e5a155..0a1dda7 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -39,6 +39,7 @@ #include #include +#include struct BTS; struct gprs_rlcmac_trx; @@ -296,3 +297,10 @@ { return m_current_trx; } + +#define LOGPMS(ms, category, level, fmt, args...) \ + LOGP(category, level, "MS(TLLI=0x%08x, IMSI=%s, TA=%" PRIu8 ", %" PRIu8 "/%" PRIu8 ",%s%s) " fmt, \ + (ms)->tlli(), (ms)->imsi(), (ms)->ta(), (ms)->ms_class(), (ms)->egprs_ms_class(), \ + (ms)->ul_tbf() ? " UL": "", \ + (ms)->dl_tbf() ? " DL": "", \ + ## args) diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index f4a7e47..e4df559 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -105,8 +106,8 @@ if (!tbf->meas.rssi_num) return -EINVAL; - LOGP(DRLCMACMEAS, LOGL_INFO, "UL RSSI of TLLI=0x%08x: %d dBm\n", - tbf->tlli(), tbf->meas.rssi_sum / tbf->meas.rssi_num); + LOGPMS(tbf->ms(), DRLCMACMEAS, LOGL_INFO, "UL RSSI: %d dBm\n", + tbf->meas.rssi_sum / tbf->meas.rssi_num); return 0; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 195d850..681e7a3 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1467,7 +1467,7 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0x00000000, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1820,7 +1820,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1835,7 +1835,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -1870,7 +1870,7 @@ 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 -UL RSSI of TLLI=0xf1223344: 31 dBm +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FIXME: Software error: Pending downlink assignment in state GPRS_RLCMAC_DL_ASS_SEND_ASS. This may not happen, because the assignment message never gets transmitted. Please be sure not to free in this state. PLEASE FIX! TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] @@ -1905,7 +1905,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI 0011223344): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1962,7 +1962,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1977,7 +1977,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -2012,7 +2012,7 @@ 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 -UL RSSI of TLLI=0xf1223344: 31 dBm +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FIXME: Software error: Pending downlink assignment in state GPRS_RLCMAC_DL_ASS_SEND_ASS. This may not happen, because the assignment message never gets transmitted. Please be sure not to free in this state. PLEASE FIX! TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] @@ -2045,7 +2045,7 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0x00000000, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2108,7 +2108,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2123,7 +2123,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW 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 (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-2 -> CS-3 +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [0, 0], 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=0 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) @@ -2787,7 +2787,7 @@ 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=0 -MS (IMSI 0011223344): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-3 -> CS-4 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 +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19706 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib304ced06531a5154b7ec8bf87f9717dfd7d1397 Gerrit-Change-Number: 19706 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 09:04:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Aug 2020 09:04:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix repeated execution of TC_sgsap_unsol_ud() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 ) Change subject: msc: Fix repeated execution of TC_sgsap_unsol_ud() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Gerrit-Change-Number: 19716 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 09:04:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 12:56:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 12:56:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() The test currently fails with osmo-msc master. It uncovers the evil twin aspect of osmo-msc's VLR, for an attached IMSI re-attaching with an unknown TMSI. Related: OS#4721 Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d --- M msc/MSC_Tests.ttcn 1 file changed, 88 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19718/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d668616..9e5f067 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -959,6 +959,93 @@ vc_conn.done; } +/* Test LU by TMSI with unknown TMSI, while the IMSI is already attached: osmo-msc should switch to the attached vlr_subscr. */ +private function f_tc_attached_imsi_does_lu_by_unknown_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + var PDU_ML3_MS_NW l3_lu := f_build_lu_tmsi('11111111'O); + var PDU_DTAP_MT dtap_mt; + + /* tell GSUP dispatcher to send this IMSI to us */ + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_lu); + + /* Send Early Classmark, just for the fun of it */ + BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)); + + /* Wait for + respond to ID REQ (IMSI) */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi))); + f_expect_common_id(); + + /* Expect MSC to do UpdateLocation to HLR; respond to it */ + GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn)); + GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi)); + GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); + + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Acc)) { + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_TmsiRealloc_Cmpl)); + } + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { + setverdict(fail, "Expected LU ACK, but received REJ"); + mtc.stop; + } + } + + /* Wait for MM-Information (if enabled) */ + f_expect_mm_info(); + + /* wait for normal teardown */ + f_expect_clear(); + + /* Now the same IMSI is still attached in the VLR, and a LU with an unknown TMSI reveals the same IMSI only + * later during ID Response. osmo-msc first creates a new vlr_subscr for the unknown TMSI, and as soon as the + * IMSI becomes known, must notice that this IMSI is still regarded as attached, and must not create evil twins. + */ + + /* (since the TMSI Reallocation happened, we could do this with exactly the same TMSI as above, but for test + * readability just use a different one.) */ + l3_lu := f_build_lu_tmsi('22222222'O); + f_cl3_or_initial_ue(l3_lu); + + /* Wait for + respond to ID REQ (IMSI) */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi))); + f_expect_common_id(); + + /* Expect MSC to do UpdateLocation to HLR; respond to it */ + GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn)); + GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi)); + GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); + + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Acc)) { + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_TmsiRealloc_Cmpl)); + } + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { + setverdict(fail, "Expected LU ACK, but received REJ"); + mtc.stop; + } + } + + /* Wait for MM-Information (if enabled) */ + f_expect_mm_info(); + + /* wait for normal teardown */ + f_expect_clear(); +} +testcase TC_attached_imsi_does_lu_by_unknown_tmsi() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + + vc_conn := f_start_handler(refers(f_tc_attached_imsi_does_lu_by_unknown_tmsi), 56); + vc_conn.done; +} /* Test IMSI DETACH (MI=IMSI) */ friend function f_tc_imsi_detach_by_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -6069,6 +6156,7 @@ execute( TC_lu_disconnect() ); execute( TC_lu_by_imei() ); execute( TC_lu_by_tmsi_noauth_unknown() ); + execute( TC_attached_imsi_does_lu_by_unknown_tmsi() ); execute( TC_imsi_detach_by_imsi() ); execute( TC_imsi_detach_by_tmsi() ); execute( TC_imsi_detach_by_imei() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:15:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 13:15:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/1/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/1/msc/MSC_Tests.ttcn at 963 PS1, Line 963: private function f_tc_attached_imsi_does_lu_by_unknown_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_tc_attached_imsi_lu_unknown_tmsi ? Let's avoid writing complete books in function names ;) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/1/msc/MSC_Tests.ttcn at 1042 PS1, Line 1042: testcase TC_attached_imsi_does_lu_by_unknown_tmsi() runs on MTC_CT { same. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 13:15: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 Aug 19 13:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:19:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() 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/+/19718 to look at the new patch set (#2). Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() The test currently fails with osmo-msc master. It uncovers the evil twin aspect of osmo-msc's VLR, for an attached IMSI re-attaching with an unknown TMSI. Related: OS#4721 Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d --- M msc/MSC_Tests.ttcn 1 file changed, 88 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19718/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:19:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 ) Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... msc: add TC_cmserv_tmsi_unknown() We already have TC_cmserv_imsi_unknown, but lack a test that shows CM Service Request behavior for an unknown TMSI. Looking at OS#4721 I vaguely expected an ID Request to also happen during CM Service Request, but instead we reject the unknown TMSI completely, and require the MS to perform a proper LU subsequently. Related: OS#4721 Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 --- M msc/MSC_Tests.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/19719/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 6a2f01b..be8bf77 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -673,6 +673,44 @@ } +/* Send CM SERVICE REQ for TMSI that has never performed LU before */ +friend function f_tc_cmserv_tmsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_TMSI_LV('57111111'O)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + f_mm_auth(); + + timer T := 10.0; + T.start; + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ)) { } + //[] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_ACC)) { } + [] BSSAP.receive { + setverdict(fail, "Received unexpected BSSAP"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for CM SERV REJ"); + mtc.stop; + } + } + + f_expect_clear(); +} +testcase TC_cmserv_tmsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_cmserv_tmsi_unknown), 57, verify_cell_id := false); + vc_conn.done; +} + + friend function f_tc_lu_and_mo_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); var CallParameters cpars := valueof(t_CallParams); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:19:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:19:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix log typo in f_tc_cmserv_imsi_unknown() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 ) Change subject: msc: fix log typo in f_tc_cmserv_imsi_unknown() ...................................................................... msc: fix log typo in f_tc_cmserv_imsi_unknown() Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/19720/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index be8bf77..82ec056 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -658,7 +658,7 @@ mtc.stop; } [] T.timeout { - setverdict(fail, "Timeout waiting for CM SERV REQ"); + setverdict(fail, "Timeout waiting for CM SERV REJ"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e Gerrit-Change-Number: 19720 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:21:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:21:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() 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/+/19719 to look at the new patch set (#2). Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... msc: add TC_cmserv_tmsi_unknown() We already have TC_cmserv_imsi_unknown, but lack a test that shows CM Service Request behavior for an unknown TMSI. Looking at OS#4721 I vaguely expected an ID Request to also happen during CM Service Request, but instead we reject the unknown TMSI completely, and require the MS to perform a proper LU subsequently. Related: OS#4721 Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 --- M msc/MSC_Tests.ttcn 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/19719/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:44:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 13:44:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix log typo in f_tc_cmserv_imsi_unknown() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 ) Change subject: msc: fix log typo in f_tc_cmserv_imsi_unknown() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e Gerrit-Change-Number: 19720 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 13:44:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:53:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:53:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_paging_response_[it]msi_unknown References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 ) Change subject: msc: add TC_paging_response_[it]msi_unknown ...................................................................... msc: add TC_paging_response_[it]msi_unknown These uncover crashes of current osmo-msc master, when a Paging Response contains an unknown mobile identity. Hence run them last. The crash is fixed by osmo-msc Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Related: OS#4724 Related: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 (osmo-msc) Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 --- M msc/MSC_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/19721/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 806d4bd..10410cc 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -710,6 +710,50 @@ vc_conn.done; } +/* Send Paging Response for IMSI that has never performed LU before */ +friend function f_tc_paging_response_imsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_PAG_RESP(mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + + /* The Paging Response gets rejected by a direct Clear Command */ + f_expect_clear(); +} +testcase TC_paging_response_imsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_paging_response_imsi_unknown), 58, verify_cell_id := false); + vc_conn.done; +} + +/* Send Paging Response for TMSI that has never performed LU before */ +friend function f_tc_paging_response_tmsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_TMSI_LV('59111111'O)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_PAG_RESP(mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + + /* The Paging Response gets rejected by a direct Clear Command */ + f_expect_clear(); +} +testcase TC_paging_response_tmsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_paging_response_tmsi_unknown), 59, verify_cell_id := false); + vc_conn.done; +} + friend function f_tc_lu_and_mo_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); @@ -6319,6 +6363,8 @@ execute( TC_invalid_mgcp_crash() ); execute( TC_mm_id_resp_no_identity() ); execute( TC_lu_and_expire_while_paging() ); + execute( TC_paging_response_imsi_unknown() ); + execute( TC_paging_response_tmsi_unknown() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 Gerrit-Change-Number: 19721 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 13:54:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 13:54:08 +0000 Subject: Change in osmo-msc[master]: fix crash for unknown MI during Paging Response References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19722 ) Change subject: fix crash for unknown MI during Paging Response ...................................................................... fix crash for unknown MI during Paging Response Related: OS#4724 Related: I40496bbccbbd9c496cfa57df49e26f124a2b1554 (osmo-ttcn3-hacks) Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 --- M src/libmsc/gsm_04_08.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/22/19722/1 diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 15303b5..6bd82d0 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -1185,7 +1185,12 @@ vsub = msc_a_vsub(msc_a); if (!vsub) { LOG_MSC_A_CAT(msc_a, DRR, LOGL_ERROR, "subscriber not allowed to do a Paging Response\n"); - msc_a_put(msc_a, MSC_A_USE_PAGING_RESPONSE); + + /* Above MSC_A_USE_PAGING_RESPONSE may already have been removed by a forced release, put that use only + * if it still exists. (see msc_a_fsm_releasing_onenter()) */ + if (osmo_use_count_by(&msc_a->use_count, MSC_A_USE_PAGING_RESPONSE)) + msc_a_put(msc_a, MSC_A_USE_PAGING_RESPONSE); + return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Gerrit-Change-Number: 19722 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 14:20:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 14:20:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() 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/+/19719 to look at the new patch set (#3). Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... msc: add TC_cmserv_tmsi_unknown() We already have TC_cmserv_imsi_unknown, but lack a test that shows CM Service Request behavior for an unknown TMSI. Looking at OS#4721 I vaguely expected an ID Request to also happen during CM Service Request, but instead we reject the unknown TMSI completely, and require the MS to perform a proper LU subsequently. Related: OS#4721 Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 --- M msc/MSC_Tests.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/19719/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 14:20:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 14:20:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix log typo in f_tc_cmserv_imsi_unknown() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 ) Change subject: msc: fix log typo in f_tc_cmserv_imsi_unknown() ...................................................................... Patch Set 2: Code-Review+2 triviality -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e Gerrit-Change-Number: 19720 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 14: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 Wed Aug 19 14:20:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 14:20:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix log typo in f_tc_cmserv_imsi_unknown() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 ) Change subject: msc: fix log typo in f_tc_cmserv_imsi_unknown() ...................................................................... msc: fix log typo in f_tc_cmserv_imsi_unknown() Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d668616..63e90f4 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -658,7 +658,7 @@ mtc.stop; } [] T.timeout { - setverdict(fail, "Timeout waiting for CM SERV REQ"); + setverdict(fail, "Timeout waiting for CM SERV REJ"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19720 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7aa20cd7fea81107f3748251070c32bb08f1f4e Gerrit-Change-Number: 19720 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 14:22:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 19 Aug 2020 14:22:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/1/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/1/msc/MSC_Tests.ttcn at 963 PS1, Line 963: private function f_tc_attached_imsi_does_lu_by_unknown_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { > f_tc_attached_imsi_lu_unknown_tmsi ? Let's avoid writing complete books in function names ;) also avoid review cycles for minor cosmetics? ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 14:22:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 15:42:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 15:42:13 +0000 Subject: Change in osmo-msc[master]: fix crash for unknown MI during Paging Response In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19722 ) Change subject: fix crash for unknown MI during Paging Response ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/19722/1/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/c/osmo-msc/+/19722/1/src/libmsc/gsm_04_08.c at 1189 PS1, Line 1189: /* Above MSC_A_USE_PAGING_RESPONSE may already have been removed by a forced release, put that use only Shouldn't we simply avoid destroying the object during that forced release, to avoid this kind of problems? That's why refcount is for right, to avoid this kind of stuff happening... -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Gerrit-Change-Number: 19722 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 15:42:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 16:02:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:02:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... Patch Set 3: Well given that the test name ends up showing up in result charts we regularly check, I think it makes sense to fix it. Specially since later fixing the name will mean an extra row showing up in the jenkins UI. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 16:02:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 16:03:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:03:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 ) Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 16:03: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 Aug 19 16:04:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:04:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_paging_response_[it]msi_unknown In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 ) Change subject: msc: add TC_paging_response_[it]msi_unknown ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 Gerrit-Change-Number: 19721 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 16:04:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 16:14:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:14:41 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation Address resolution is done first and once we have the information, it proceeds to create the socket. This separation in steps will help when adding support for IPv6+IPv4 sets, where AF_UNSEPC is passed and created socket needs to be AF_INET6 in order to handle addr of both versions. Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a --- M src/socket.c 1 file changed, 42 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/19723/1 diff --git a/src/socket.c b/src/socket.c index 9c60821..d92c670 100644 --- a/src/socket.c +++ b/src/socket.c @@ -483,7 +483,7 @@ unsigned int flags) { - struct addrinfo *result[OSMO_SOCK_MAX_ADDRS]; + struct addrinfo *res_loc[OSMO_SOCK_MAX_ADDRS], *res_rem[OSMO_SOCK_MAX_ADDRS]; int sfd = -1, rc, on = 1; int i; struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; @@ -519,21 +519,31 @@ /* figure out local side of socket */ if (flags & OSMO_SOCK_F_BIND) { - rc = addrinfo_helper_multi(result, family, type, proto, local_hosts, + rc = addrinfo_helper_multi(res_loc, family, type, proto, local_hosts, local_hosts_cnt, local_port, true); if (rc < 0) return -EINVAL; + } + /* figure out remote side of socket */ + if (flags & OSMO_SOCK_F_CONNECT) { + rc = addrinfo_helper_multi(res_rem, family, type, proto, remote_hosts, + remote_hosts_cnt, remote_port, false); + if (rc < 0) + return -EINVAL; + } + + /* figure out local side of socket */ + if (flags & OSMO_SOCK_F_BIND) { /* Since addrinfo_helper sets ai_family, socktype and ai_protocol in hints, we know all results will use same values, so simply pick the first one and pass it to create the socket: */ - sfd = socket_helper(result[0], flags); + sfd = socket_helper(res_loc[0], flags); if (sfd < 0) { - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - return sfd; + rc = sfd; + goto ret_freeaddrinfo; } /* Since so far we only allow IPPROTO_SCTP in this function, @@ -547,22 +557,17 @@ " %s:%u: %s\n", strbuf, local_port, strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return rc; + goto ret_close; } /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ - rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_loc, local_hosts, local_hosts_cnt, addrs4, addrs6); if (rc < 0) { - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } if (family == AF_INET) @@ -573,13 +578,9 @@ multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", strbuf, local_port, strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); } /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it @@ -588,38 +589,27 @@ /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { - rc = addrinfo_helper_multi(result, family, type, proto, remote_hosts, - remote_hosts_cnt, remote_port, false); - if (rc < 0) { - if (sfd >= 0) - close(sfd); - return -EINVAL; - } - if (sfd < 0) { /* Since addrinfo_helper sets ai_family, socktype and ai_protocol in hints, we know all results will use same values, so simply pick the first one and pass it to create the socket: */ - sfd = socket_helper(result[0], flags); + sfd = socket_helper(res_rem[0], flags); if (sfd < 0) { - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - return sfd; + rc = sfd; + goto ret_freeaddrinfo; } } /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ - rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_rem, remote_hosts, remote_hosts_cnt, addrs4, addrs6); if (rc < 0) { - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } if (family == AF_INET) @@ -631,13 +621,9 @@ multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", strbuf, remote_port, strerror(errno)); - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); } rc = osmo_sock_init_tail(sfd, type, flags); @@ -646,7 +632,18 @@ sfd = -1; } - return sfd; + rc = sfd; + goto ret_freeaddrinfo; + +ret_close: + if (sfd >= 0) + close(sfd); +ret_freeaddrinfo: + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(res_loc[i]); + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(res_rem[i]); + return rc; } #endif /* HAVE_LIBSCTP */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-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 Aug 19 16:14:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:14:41 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations The function is improved to support AF_INET:v4->v4, AF_INET6:v6->v6 and AF_UNSPEC:v4+v6->v4+v6. Unit tests for the function are added to make sure function behaves correctly in several scenarios. Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 4 files changed, 294 insertions(+), 66 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/19724/1 diff --git a/src/socket.c b/src/socket.c index d92c670..57ff843 100644 --- a/src/socket.c +++ b/src/socket.c @@ -79,7 +79,7 @@ hints.ai_socktype = type; hints.ai_protocol = proto; } - + hints.ai_flags = AI_ADDRCONFIG; if (passive) hints.ai_flags |= AI_PASSIVE; @@ -428,24 +428,62 @@ #ifdef HAVE_LIBSCTP +/* Check whether there's an IPv6 Addr as first option of any addrinfo item in the addrinfo set */ +static void addrinfo_has_v4v6addr(const struct addrinfo **result, int result_count, bool *has_v4, bool *has_v6) { + size_t host_idx; + *has_v4 = false; + *has_v6 = false; + + for (host_idx = 0; host_idx < result_count; host_idx++) { + if (result[host_idx]->ai_family == AF_INET) + *has_v4 = true; + else if (result[host_idx]->ai_family == AF_INET6) + *has_v6 = true; + } +} + +static int socket_helper_multiaddr(uint16_t family, uint16_t type, uint8_t proto, unsigned int flags) +{ + int sfd, on = 1; + + sfd = socket(family, type, proto); + if (sfd == -1) { + LOGP(DLGLOBAL, LOGL_ERROR, + "unable to create socket: %s\n", strerror(errno)); + return sfd; + } + if (flags & OSMO_SOCK_F_NONBLOCK) { + if (ioctl(sfd, FIONBIO, (unsigned char *)&on) < 0) { + LOGP(DLGLOBAL, LOGL_ERROR, + "cannot set this socket unblocking: %s\n", + strerror(errno)); + close(sfd); + sfd = -EINVAL; + } + } + return sfd; +} /* Build array of addresses taking first addrinfo result of the requested family - * for each host in hosts. addrs4 or addrs6 are filled based on family type. */ + * for each host in addrs_buf. */ static int addrinfo_to_sockaddr(uint16_t family, const struct addrinfo **result, const char **hosts, int host_cont, - struct sockaddr_in *addrs4, struct sockaddr_in6 *addrs6) { - size_t host_idx; + uint8_t *addrs_buf, size_t addrs_buf_len) { + size_t host_idx, offset = 0; const struct addrinfo *rp; - OSMO_ASSERT(family == AF_INET || family == AF_INET6); for (host_idx = 0; host_idx < host_cont; host_idx++) { + /* Addresses are ordered based on RFC 3484, see man getaddrinfo */ for (rp = result[host_idx]; rp != NULL; rp = rp->ai_next) { - if (rp->ai_family != family) + if (family != AF_UNSPEC && rp->ai_family != family) continue; - if (family == AF_INET) - memcpy(&addrs4[host_idx], rp->ai_addr, sizeof(addrs4[host_idx])); - else - memcpy(&addrs6[host_idx], rp->ai_addr, sizeof(addrs6[host_idx])); + if (offset + rp->ai_addrlen > addrs_buf_len) { + LOGP(DLGLOBAL, LOGL_ERROR, "output buffer to small: %zu\n", + addrs_buf_len); + return -ENOSPC; + } + memcpy(addrs_buf + offset, rp->ai_addr, rp->ai_addrlen); + offset += rp->ai_addrlen; break; } if (!rp) { /* No addr could be bound for this host! */ @@ -486,25 +524,20 @@ struct addrinfo *res_loc[OSMO_SOCK_MAX_ADDRS], *res_rem[OSMO_SOCK_MAX_ADDRS]; int sfd = -1, rc, on = 1; int i; - struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; - struct sockaddr_in6 addrs6[OSMO_SOCK_MAX_ADDRS]; - struct sockaddr *addrs; + bool loc_has_v4addr, rem_has_v4addr; + bool loc_has_v6addr, rem_has_v6addr; + struct sockaddr_in6 addrs_buf[OSMO_SOCK_MAX_ADDRS]; char strbuf[512]; + /* updated later in case of AF_UNSPEC */ + loc_has_v4addr = rem_has_v4addr = (family == AF_INET); + loc_has_v6addr = rem_has_v6addr = (family == AF_INET6); + /* TODO: So far this function is only aimed for SCTP, but could be reused in the future for other protocols with multi-addr support */ if (proto != IPPROTO_SCTP) return -ENOTSUP; - /* TODO: Let's not support AF_UNSPEC for now. sctp_bindx() actually - supports binding both types of addresses on a AF_INET6 soscket, but - that would mean we could get both AF_INET and AF_INET6 addresses for - each host, and makes complexity of this function increase a lot since - we'd need to find out which subsets to use, use v4v6 mapped socket, - etc. */ - if (family == AF_UNSPEC) - return -ENOTSUP; - if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == 0) { LOGP(DLGLOBAL, LOGL_ERROR, "invalid: you have to specify either " "BIND or CONNECT flags\n"); @@ -523,6 +556,10 @@ local_hosts_cnt, local_port, true); if (rc < 0) return -EINVAL; + /* Figure out if there's any IPV4 or IPv6 addr in the set */ + if (family == AF_UNSPEC) + addrinfo_has_v4v6addr((const struct addrinfo **)res_loc, local_hosts_cnt, + &loc_has_v4addr, &loc_has_v6addr); } /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { @@ -530,22 +567,27 @@ remote_hosts_cnt, remote_port, false); if (rc < 0) return -EINVAL; + /* Figure out if there's any IPv4 or IPv6 addr in the set */ + if (family == AF_UNSPEC) + addrinfo_has_v4v6addr((const struct addrinfo **)res_rem, remote_hosts_cnt, + &rem_has_v4addr, &rem_has_v6addr); } - /* figure out local side of socket */ + if (((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) && + (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) { + LOGP(DLGLOBAL, LOGL_ERROR, "invalid v4 vs v6 in local vs remote addresses\n"); + rc = -EINVAL; + goto ret_freeaddrinfo; + } + + sfd = socket_helper_multiaddr(loc_has_v6addr ? AF_INET6 : AF_INET, + type, proto, flags); + if (sfd < 0) { + rc = sfd; + goto ret_freeaddrinfo; + } + if (flags & OSMO_SOCK_F_BIND) { - - /* Since addrinfo_helper sets ai_family, socktype and - ai_protocol in hints, we know all results will use same - values, so simply pick the first one and pass it to create - the socket: - */ - sfd = socket_helper(res_loc[0], flags); - if (sfd < 0) { - rc = sfd; - goto ret_freeaddrinfo; - } - /* Since so far we only allow IPPROTO_SCTP in this function, no need to check below for "proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR" */ rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, @@ -560,21 +602,20 @@ goto ret_close; } - /* Build array of addresses taking first of same family for each host. + /* Build array of addresses taking first entry for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ + /* We could alternatively use v4v6 mapped addresses and call sctp_bindx once with an array od sockaddr_in6 */ rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_loc, - local_hosts, local_hosts_cnt, addrs4, addrs6); + local_hosts, local_hosts_cnt, + (uint8_t*)addrs_buf, sizeof(addrs_buf)); if (rc < 0) { rc = -ENODEV; goto ret_close; } - if (family == AF_INET) - addrs = (struct sockaddr *)addrs4; - else - addrs = (struct sockaddr *)addrs6; - if (sctp_bindx(sfd, addrs, local_hosts_cnt, SCTP_BINDX_ADD_ADDR) == -1) { + rc = sctp_bindx(sfd, (struct sockaddr *)addrs_buf, local_hosts_cnt, SCTP_BINDX_ADD_ADDR); + if (rc == -1) { multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", strbuf, local_port, strerror(errno)); @@ -583,40 +624,19 @@ } } - /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it - was already closed and func returned. If OSMO_SOCK_F_BIND is not - set, then sfd = -1 */ - - /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { - if (sfd < 0) { - /* Since addrinfo_helper sets ai_family, socktype and - ai_protocol in hints, we know all results will use same - values, so simply pick the first one and pass it to create - the socket: - */ - sfd = socket_helper(res_rem[0], flags); - if (sfd < 0) { - rc = sfd; - goto ret_freeaddrinfo; - } - } - /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_rem, - remote_hosts, remote_hosts_cnt, addrs4, addrs6); + remote_hosts, remote_hosts_cnt, + (uint8_t*)addrs_buf, sizeof(addrs_buf)); if (rc < 0) { rc = -ENODEV; goto ret_close; } - if (family == AF_INET) - addrs = (struct sockaddr *)addrs4; - else - addrs = (struct sockaddr *)addrs6; - rc = sctp_connectx(sfd, addrs, remote_hosts_cnt, NULL); + rc = sctp_connectx(sfd, (struct sockaddr *)addrs_buf, remote_hosts_cnt, NULL); if (rc != 0 && errno != EINPROGRESS) { multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index e68243c..1d4253c 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include "../config.h" @@ -146,6 +148,175 @@ return 0; } +#ifdef HAVE_LIBSCTP +static uint16_t sock_get_local_port(int fd, bool is_v6) { + struct sockaddr_storage sa; + struct sockaddr_in *sin = (struct sockaddr_in *)&sa; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; + socklen_t len = sizeof(sa); + int local_port; + + OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); + if(!is_v6) + local_port = osmo_load16be(&sin->sin_port); + else + local_port = osmo_load16be(&sin6->sin6_port); + //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); + return local_port; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, + const char **addrv4_rem, const char **addrv6_rem, + size_t addrv4_size, size_t addrv6_size) +{ + int fd, rc; + int listen_fd_v4, listen_fd_v6; + int listen_port_v4, listen_port_v6; + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); + + listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v4 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v4, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v4 = sock_get_local_port(listen_fd_v4, false); + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); + + listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addrv6_loc, addrv6_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v6 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v6, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v6 = sock_get_local_port(listen_fd_v6, true); + + printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + OSMO_ASSERT(fd >= 0); + /* expect it to be blocking */ + rc = fcntl(fd, F_GETFL); + OSMO_ASSERT(rc & O_NONBLOCK); + close(fd); + + printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, 0); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + close(listen_fd_v4); + close(listen_fd_v6); + printf("Done\n"); + return 0; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr_simple(void) +{ + const char *addrv4_loc[] = { "0.0.0.0" }; + const char *addrv6_loc[] = { "::" }; + const char *addrv4_rem[] = { "127.0.0.1" }; + const char *addrv6_rem[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, + addrv4_rem, addrv6_rem, 1, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address */ +static int test_sockinit2_multiaddr_several(void) +{ + const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; + const char *addrv6_localhost[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, + addrv4_localhost, addrv6_localhost, 2, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ +static int test_sockinit2_multiaddr_mixed(void) +{ + const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; + size_t addr_size = ARRAY_SIZE(addr_localhost); + + int listen_fd, listen_port, fd; + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd >= 0); + + listen_port = sock_get_local_port(listen_fd, true); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + addr_localhost, addr_size, listen_port, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + close(fd); + + close(listen_fd); + return 0; +} +#endif /* ifdef HAVE_LIBSCTP */ const struct log_info_cat default_categories[] = { }; @@ -164,6 +335,11 @@ test_sockinit(); test_sockinit2(); +#ifdef HAVE_LIBSCTP + test_sockinit2_multiaddr_simple(); + test_sockinit2_multiaddr_several(); + test_sockinit2_multiaddr_mixed(); +#endif /* ifdef HAVE_LIBSCTP */ return EXIT_SUCCESS; } diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 0f0f8da..a240196 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,3 +2,11 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. +invalid: you have to specify either BIND or CONNECT flags +invalid v4 vs v6 in local vs remote addresses +invalid v4 vs v6 in local vs remote addresses +invalid: you have to specify either BIND or CONNECT flags +invalid v4 vs v6 in local vs remote addresses +invalid v4 vs v6 in local vs remote addresses +getaddrinfo returned NULL: ::1:0: Transport endpoint is not connected +getaddrinfo returned NULL: 127.0.0.1:0: Transport endpoint is not connected diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 4265be8..959fa84 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -9,3 +9,27 @@ Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-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 Aug 19 16:20:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 16:20:36 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... stream: Support creating sockets with IPv6 addresses In the case of SCTP, an association supports now containing both IPv4 and v6 addresses. Depends: libosmocore.git Change-Id I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af --- M TODO-RELEASE M src/stream.c 2 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/25/19725/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..c89dec9 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 +libosmo-netif ipv6 Depends on libosmocore > 1.4.0 for IPv6 osmo_sock_inti2_multiaddr AF_UNSPEC (IPv6) support. diff --git a/src/stream.c b/src/stream.c index cfe8cfe..e265ee1 100644 --- a/src/stream.c +++ b/src/stream.c @@ -658,14 +658,14 @@ switch (cli->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, cli->proto, (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, (const char **)cli->addr, cli->addrcnt, cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); break; #endif default: - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2(AF_UNSPEC, SOCK_STREAM, cli->proto, cli->local_addr[0], cli->local_port, cli->addr[0], cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); @@ -731,14 +731,14 @@ switch (cli->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, cli->proto, (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, (const char **)cli->addr, cli->addrcnt, cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); break; #endif default: - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2(AF_UNSPEC, SOCK_STREAM, cli->proto, cli->local_addr[0], cli->local_port, cli->addr[0], cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); @@ -1055,13 +1055,13 @@ switch (link->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, link->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, link->proto, (const char **)link->addr, link->addrcnt, link->port, NULL, 0, 0, OSMO_SOCK_F_BIND); break; #endif default: - ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, + ret = osmo_sock_init(AF_UNSPEC, SOCK_STREAM, link->proto, link->addr[0], link->port, OSMO_SOCK_F_BIND); } if (ret < 0) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 Gerrit-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 Aug 19 16:26:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 16:26:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... Patch Set 1: > Patch Set 1: > > I'm sorry but I don't really get the issue or why this patch solves it :/ old: any number of DLCX are matched *until* SCCP DISC_IND is received from the BSSMAP side. If this was 0 or 1, then we start to shutdown the test suite. If meanwhile another MGCP message is received, the MGCP emulation is sending it to a component that has already terminated -> boom. The new code explicitly waits until both DLCX are received, before shutting down. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 16:26:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 16:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 16:28:35 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c at 535 PS1, Line 535: / I thought we had it figured out already above? (comment is duplicated buy doesn't really make much sense?) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 16:28: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 Wed Aug 19 16:29:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Aug 2020 16:29:37 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Aug 2020 16:29:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 16:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Aug 2020 16:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/3/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718/3/msc/MSC_Tests.ttcn at 6159 PS3, Line 6159: TC_attached_imsi_does_lu_by_unknown_tmsi I agree with Pau that the test name could be shorter, e.g. 'TC_attached_lu_by_unknown_tmsi', but in general it's not critical. The test case itself looks good. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 16:43: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 Wed Aug 19 17:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Aug 2020 17:10:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... Patch Set 1: Code-Review+1 Thanks, now it's clear. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 17:10:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 17:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Aug 2020 17:18:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 ) Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 17:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 19 17:22:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Aug 2020 17:22:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_paging_response_[it]msi_unknown In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 ) Change subject: msc: add TC_paging_response_[it]msi_unknown ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 Gerrit-Change-Number: 19721 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Aug 2020 17:22:46 +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 Aug 20 01:40:19 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Aug 2020 01:40:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f3dd48ce3a3d_1bc02af2435965f4240221@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: [ 251s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 252s] [COMPILING libboard/qmod/source/card_pres.c] [ 252s] [COMPILING libboard/qmod/source/wwan_led.c] [ 252s] [COMPILING libboard/qmod/source/i2c.c] [ 252s] [COMPILING libboard/qmod/source/board_qmod.c] [ 252s] [COMPILING apps/dfu/main.c] [ 253s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 253s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 253s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 253s] Memory region Used Size Region Size %age Used [ 253s] rom: 16588 B 16 KB 101.25% [ 253s] 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' [ 253s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 253s] collect2: error: ld returned 1 exit status [ 253s] % [ 253s] make[2]: *** [Makefile:234: flash] Error 1 [ 253s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 253s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 253s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 253s] dh_auto_build: error: make -j1 returned exit code 2 [ 253s] make: *** [debian/rules:16: build] Error 25 [ 253s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 253s] ### VM INTERACTION START ### [ 256s] [ 244.555476] sysrq: Power Off [ 256s] [ 244.606910] reboot: Power down [ 257s] ### VM INTERACTION END ### [ 257s] [ 257s] lamb61 failed "build simtrace2_0.7.0.63.39070.dsc" at Thu Aug 20 01:40:18 UTC 2020. [ 257s] -- 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 Aug 20 06:09:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:09:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 ) Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:09: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 Aug 20 06:10:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:10:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_paging_response_[it]msi_unknown In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 ) Change subject: msc: add TC_paging_response_[it]msi_unknown ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 Gerrit-Change-Number: 19721 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:10: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 Aug 20 06:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:10:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:10: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 Aug 20 06:10:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:10:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix repeated execution of TC_sgsap_unsol_ud() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 ) Change subject: msc: Fix repeated execution of TC_sgsap_unsol_ud() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Gerrit-Change-Number: 19716 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:10:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:10:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:10:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 ) Change subject: msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable ...................................................................... msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable There is a race condition when shutting down, as a DLCX might arrive while we are half-shutdown. Expect both DLCX before terminating the ConnHdlr. Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf --- M msc/MSC_Tests.ttcn 1 file changed, 4 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/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 63e90f4..bdd9f62 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -702,12 +702,15 @@ T_wait_iar.stop setverdict(pass); } - [] MGCP.receive(tr_DLCX(?)) { repeat; } [] T_wait_iar.timeout { setverdict(fail, "Timeout waiting for T(iar) triggered SCCP RSLD"); mtc.stop; } } + /* DLCX for both directions; if we don't do this, we might receive either of the two during + * shutdown causing race conditions */ + MGCP.receive(tr_DLCX(?)); + MGCP.receive(tr_DLCX(?)); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19715 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf Gerrit-Change-Number: 19715 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 Thu Aug 20 06:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:10:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix repeated execution of TC_sgsap_unsol_ud() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 ) Change subject: msc: Fix repeated execution of TC_sgsap_unsol_ud() ...................................................................... msc: Fix repeated execution of TC_sgsap_unsol_ud() Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Closes: OS#4722 --- M msc/MSC_Tests.ttcn 1 file changed, 14 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index bdd9f62..a801db9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -962,23 +962,27 @@ vc_conn.done; } - -/* Test IMSI DETACH (MI=IMSI) */ -friend function f_tc_imsi_detach_by_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { - f_init_handler(pars); - +friend function f_imsi_detach_by_imsi() runs on BSC_ConnHdlr { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ f_cl3_or_initial_ue(valueof(ts_ML3_MO_MM_IMSI_DET_Ind(mi))); /* Send Early Classmark, just for the fun of it? */ - if (pars.ran_is_geran) { + if (g_pars.ran_is_geran) { BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)); } /* wait for normal teardown */ - f_expect_clear(); + f_expect_clear(verify_vlr_cell_id := false); +} + + +/* Test IMSI DETACH (MI=IMSI) */ +friend function f_tc_imsi_detach_by_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_imsi_detach_by_imsi(); } testcase TC_imsi_detach_by_imsi() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -4831,6 +4835,9 @@ f_sgsap_bssmap_screening(); + /* clean-up VLR state about this subscriber */ + f_imsi_detach_by_imsi(); + setverdict(pass); } testcase TC_sgsap_unsol_ud() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19716 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c2f1a5d5b5316ffe462335f8461c31564ce4274 Gerrit-Change-Number: 19716 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 Thu Aug 20 06:12:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:12:58 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19723/1//COMMIT_MSG at 11 PS1, Line 11: AF_UNSEPC typo -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 20 Aug 2020 06:12:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:19:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:19:02 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 06:19:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:20:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:20:31 +0000 Subject: Change in osmo-bts[master]: common: tx_power: Fix bug in power ramp up below max-initial value In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19703 ) Change subject: common: tx_power: Fix bug in power ramp up below max-initial value ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a Gerrit-Change-Number: 19703 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 06:20: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 Aug 20 06:20:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:20:47 +0000 Subject: Change in osmo-bts[master]: tests: tx_power: Extend and add extra power_ramp buggy case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19702 ) Change subject: tests: tx_power: Extend and add extra power_ramp buggy case ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb Gerrit-Change-Number: 19702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 06: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 Thu Aug 20 06:20:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:20:51 +0000 Subject: Change in osmo-bts[master]: tests: tx_power: Extend and add extra power_ramp buggy case In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19702 ) Change subject: tests: tx_power: Extend and add extra power_ramp buggy case ...................................................................... tests: tx_power: Extend and add extra power_ramp buggy case The test code is extended to support testing more than one ramping loop. A new test ramping test is added, which shows buggy behavior, since being in -10dBm and targeting 10dBm with max_initial_pout_mdBm=0 should immediatelly jump -10->0 and then slowly ramp up (2dB) 0->10dB. The issue will be fixed in next commit. Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb --- M tests/tx_power/tx_power_test.c M tests/tx_power/tx_power_test.err M tests/tx_power/tx_power_test.ok 3 files changed, 76 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/tx_power/tx_power_test.c b/tests/tx_power/tx_power_test.c index 12c51c6..dbabc87 100644 --- a/tests/tx_power/tx_power_test.c +++ b/tests/tx_power/tx_power_test.c @@ -20,6 +20,7 @@ */ #include +#include #include #include @@ -30,6 +31,7 @@ #include #include +static bool power_ramp_finished = false; static const struct trx_power_params tpp_1002 = { .trx_p_max_out_mdBm = to_mdB(23), @@ -182,25 +184,56 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm) { - struct trx_power_params *tpp = &trx->power_params; printf("CHANGE_POWER(%d)\n", p_trxout_mdBm); - if (tpp->ramp.attenuation_mdB == 0) - exit(0); - power_trx_change_compl(trx, p_trxout_mdBm); return 0; } -static void test_power_ramp(struct gsm_bts_trx *trx, int dBm) +static void test_ramp_compl_cb(struct gsm_bts_trx *trx) +{ + power_ramp_finished = true; + printf("power_ramp finished\n"); +} + +static int test_power_ramp(struct gsm_bts_trx *trx, int dBm) { printf("Testing tx_power ramping for sysmoBTS 1020\n"); + int rc; + trx->power_params = tpp_1020; trx->power_params.ramp.step_interval_sec = 0; /* speedup test */ trx->max_power_red = 0; - power_ramp_start(trx, to_mdB(dBm), 0, NULL); + power_ramp_finished = false; + if ((rc = power_ramp_start(trx, to_mdB(dBm), 0, test_ramp_compl_cb))) + return rc; + while (!power_ramp_finished) + osmo_select_main(0); + return 0; +} + + +static int test_power_ramp_from_minus10(struct gsm_bts_trx *trx, int dBm) +{ + printf("Testing tx_power ramping for osmo-bts-trx after lock\n"); + int rc; + + trx->power_params = tpp_1002; + trx->power_params.trx_p_max_out_mdBm = to_mdB(20); + trx->power_params.p_total_tgt_mdBm = to_mdB(-10); + trx->power_params.p_total_cur_mdBm = to_mdB(-10); + trx->power_params.ramp.max_initial_pout_mdBm = to_mdB(0); + trx->power_params.ramp.step_interval_sec = 0; /* speedup test */ + trx->max_power_red = 10; + + power_ramp_finished = false; + if ((rc = power_ramp_start(trx, to_mdB(dBm), 0, test_ramp_compl_cb))) + return rc; + while (!power_ramp_finished) + osmo_select_main(0); + return 0; } int main(int argc, char **argv) @@ -239,11 +272,10 @@ test_sbts2050(trx); /* test error case / excess power (40 dBm is too much) */ - test_power_ramp(trx, 40); + OSMO_ASSERT(test_power_ramp(trx, 40) == -ERANGE); /* test actual ramping to full 33 dBm */ test_power_ramp(trx, 33); + /* Test ramp up from -10dBm (locked) to 10dBm */ + test_power_ramp_from_minus10(trx, 10); - while (1) { - osmo_select_main(0); - } } diff --git a/tests/tx_power/tx_power_test.err b/tests/tx_power/tx_power_test.err index 344fa16..3ef12c9 100644 --- a/tests/tx_power/tx_power_test.err +++ b/tests/tx_power/tx_power_test.err @@ -35,3 +35,24 @@ (bts=0,trx=1) ramping TRX board output power to 22000 mdBm. (bts=0,trx=1) ramp_timer_cb(cur_pout=33000, tgt_pout=33000, ramp_att=0, therm_att=0, user_gain=0) (bts=0,trx=1) ramping TRX board output power to 23000 mdBm. +(bts=0,trx=1) power_ramp_start(cur=-10000, tgt=10000) +(bts=0,trx=1) ramp_timer_cb(cur_pout=-8000, tgt_pout=10000, ramp_att=18000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to -8000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=-6000, tgt_pout=10000, ramp_att=16000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to -6000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=-4000, tgt_pout=10000, ramp_att=14000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to -4000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=-2000, tgt_pout=10000, ramp_att=12000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to -2000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=0, tgt_pout=10000, ramp_att=10000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 0 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=2000, tgt_pout=10000, ramp_att=8000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 2000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=4000, tgt_pout=10000, ramp_att=6000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 4000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=6000, tgt_pout=10000, ramp_att=4000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 6000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=8000, tgt_pout=10000, ramp_att=2000, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 8000 mdBm. +(bts=0,trx=1) ramp_timer_cb(cur_pout=10000, tgt_pout=10000, ramp_att=0, therm_att=0, user_gain=0) +(bts=0,trx=1) ramping TRX board output power to 10000 mdBm. diff --git a/tests/tx_power/tx_power_test.ok b/tests/tx_power/tx_power_test.ok index ceb88ab..ec3ea61 100644 --- a/tests/tx_power/tx_power_test.ok +++ b/tests/tx_power/tx_power_test.ok @@ -21,3 +21,16 @@ CHANGE_POWER(20000) CHANGE_POWER(22000) CHANGE_POWER(23000) +power_ramp finished +Testing tx_power ramping for osmo-bts-trx after lock +CHANGE_POWER(-8000) +CHANGE_POWER(-6000) +CHANGE_POWER(-4000) +CHANGE_POWER(-2000) +CHANGE_POWER(0) +CHANGE_POWER(2000) +CHANGE_POWER(4000) +CHANGE_POWER(6000) +CHANGE_POWER(8000) +CHANGE_POWER(10000) +power_ramp finished -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19702 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5adc9008ac415eb23274755fc8270df8eebdc6fb Gerrit-Change-Number: 19702 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:20:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:20:51 +0000 Subject: Change in osmo-bts[master]: common: tx_power: Fix bug in power ramp up below max-initial value In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19703 ) Change subject: common: tx_power: Fix bug in power ramp up below max-initial value ...................................................................... common: tx_power: Fix bug in power ramp up below max-initial value See previous commit adding the unit test about the error description and expected behavior. The wrong behavior appeared due to step_size_mdB being unsigned and the whole addition at the left side of the comparison being turned too as unsigned, hence a small negative value turning into a big positive value, and tpp->p_total_cur_mdBm not being updated to speed up the power ramping. Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a --- M src/common/tx_power.c M tests/tx_power/tx_power_test.err M tests/tx_power/tx_power_test.ok 3 files changed, 1 insertion(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/tx_power.c b/src/common/tx_power.c index c5ea7ed..08c4236 100644 --- a/src/common/tx_power.c +++ b/src/common/tx_power.c @@ -278,7 +278,7 @@ } else { /* We need to step it up. Start from the current value, shortcutting to max-initial. */ /* Set attenuation to cause no power change right now */ - if (tpp->p_total_cur_mdBm + tpp->ramp.step_size_mdB < tpp->ramp.max_initial_pout_mdBm) + if (tpp->p_total_cur_mdBm + (int)tpp->ramp.step_size_mdB < tpp->ramp.max_initial_pout_mdBm) tpp->p_total_cur_mdBm = tpp->ramp.max_initial_pout_mdBm - tpp->ramp.step_size_mdB; tpp->ramp.attenuation_mdB = tpp->p_total_tgt_mdBm - tpp->p_total_cur_mdBm; diff --git a/tests/tx_power/tx_power_test.err b/tests/tx_power/tx_power_test.err index 3ef12c9..72a3d85 100644 --- a/tests/tx_power/tx_power_test.err +++ b/tests/tx_power/tx_power_test.err @@ -36,14 +36,6 @@ (bts=0,trx=1) ramp_timer_cb(cur_pout=33000, tgt_pout=33000, ramp_att=0, therm_att=0, user_gain=0) (bts=0,trx=1) ramping TRX board output power to 23000 mdBm. (bts=0,trx=1) power_ramp_start(cur=-10000, tgt=10000) -(bts=0,trx=1) ramp_timer_cb(cur_pout=-8000, tgt_pout=10000, ramp_att=18000, therm_att=0, user_gain=0) -(bts=0,trx=1) ramping TRX board output power to -8000 mdBm. -(bts=0,trx=1) ramp_timer_cb(cur_pout=-6000, tgt_pout=10000, ramp_att=16000, therm_att=0, user_gain=0) -(bts=0,trx=1) ramping TRX board output power to -6000 mdBm. -(bts=0,trx=1) ramp_timer_cb(cur_pout=-4000, tgt_pout=10000, ramp_att=14000, therm_att=0, user_gain=0) -(bts=0,trx=1) ramping TRX board output power to -4000 mdBm. -(bts=0,trx=1) ramp_timer_cb(cur_pout=-2000, tgt_pout=10000, ramp_att=12000, therm_att=0, user_gain=0) -(bts=0,trx=1) ramping TRX board output power to -2000 mdBm. (bts=0,trx=1) ramp_timer_cb(cur_pout=0, tgt_pout=10000, ramp_att=10000, therm_att=0, user_gain=0) (bts=0,trx=1) ramping TRX board output power to 0 mdBm. (bts=0,trx=1) ramp_timer_cb(cur_pout=2000, tgt_pout=10000, ramp_att=8000, therm_att=0, user_gain=0) diff --git a/tests/tx_power/tx_power_test.ok b/tests/tx_power/tx_power_test.ok index ec3ea61..c8f0441 100644 --- a/tests/tx_power/tx_power_test.ok +++ b/tests/tx_power/tx_power_test.ok @@ -23,10 +23,6 @@ CHANGE_POWER(23000) power_ramp finished Testing tx_power ramping for osmo-bts-trx after lock -CHANGE_POWER(-8000) -CHANGE_POWER(-6000) -CHANGE_POWER(-4000) -CHANGE_POWER(-2000) CHANGE_POWER(0) CHANGE_POWER(2000) CHANGE_POWER(4000) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I36a34362ebc90226fd8e1e190f898c3718fd923a Gerrit-Change-Number: 19703 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:21:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:21:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop "trunk 0" limitation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19563 ) Change subject: mgcp_trunk: drop "trunk 0" limitation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I302c2007628f607033686e277c407232351e66ad Gerrit-Change-Number: 19563 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:21: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 Aug 20 06:21:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:21:41 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop "trunk 0" limitation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19563 ) Change subject: mgcp_trunk: drop "trunk 0" limitation ...................................................................... mgcp_trunk: drop "trunk 0" limitation Due to the internal handling of the trunks it was not possible to allow an E1 trunk that has the ID 0. However this limitation is no longer present, so we now can allow an E1 trunk with ID 0. Change-Id: I302c2007628f607033686e277c407232351e66ad Related: OS#2659 --- M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 3 files changed, 5 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 617993f..84ad220 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -190,7 +190,7 @@ errno = 0; trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); - if (errno == ERANGE || trunk_nr > 64 || trunk_nr == 0 + if (errno == ERANGE || trunk_nr > 64 || epname + prefix_len == str_trunk_nr_end || str_trunk_nr_end[0] != '/') return -EINVAL; @@ -217,7 +217,7 @@ } trunk_nr = e1_trunk_nr_from_epname(epname); - if (trunk_nr > 0) + if (trunk_nr >= 0) return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr); /* Earlier versions of osmo-mgw were accepting endpoint names diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index d2d4b23..22863c7 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -866,16 +866,11 @@ "IPv4 Address of the callagent\n") DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd, - "trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") + "trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { struct mgcp_trunk *trunk; int index = atoi(argv[0]); - /* Due to historical reasons, the trunk id number 0 is reserved for the - * virtual trunk. This trunk is configured with separate VTY - * parameters, so we restrict the access to trunks with id numbers - * greater than 0. */ - trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index); if (!trunk) { trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 5ae321f..c5b6d17 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -2124,6 +2124,8 @@ /* Note: e1_trunk_nr_from_epname does not check the text * after the E1 trunk number, after the delimiter * character "/" arbitrary text may follow. */ + trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0"); + OSMO_ASSERT(trunk_nr == 0); trunk_nr = e1_trunk_nr_from_epname("ds/e1-1/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 1); trunk_nr = e1_trunk_nr_from_epname("ds/e1-2/s-2/su16-0"); @@ -2141,8 +2143,6 @@ * trunk number exceeds the valid range or the trunk prefix * is wrong. Also when the delimiter character "/" at the * end of the trunk is wrong the parsing should fail. */ - trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); trunk_nr = e1_trunk_nr_from_epname("ds/e1-65/s-1/su16-0"); OSMO_ASSERT(trunk_nr == -EINVAL); trunk_nr = e1_trunk_nr_from_epname("ds/e1--1/s-1/su16-0"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I302c2007628f607033686e277c407232351e66ad Gerrit-Change-Number: 19563 Gerrit-PatchSet: 3 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 Thu Aug 20 06:23:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:23:03 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: swap i and j in vty_dump_element() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19701 ) Change subject: vty/command: cosmetic: swap i and j in vty_dump_element() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b Gerrit-Change-Number: 19701 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:23: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 Aug 20 06:23:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:23:11 +0000 Subject: Change in libosmocore[master]: vty/command: fix switch / case coding style in vty_go_parent() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19666 ) Change subject: vty/command: fix switch / case coding style in vty_go_parent() ...................................................................... vty/command: fix switch / case coding style in vty_go_parent() Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 --- M src/vty/command.c 1 file changed, 15 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/vty/command.c b/src/vty/command.c index d8fe463..d5e9d27 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2217,23 +2217,23 @@ int vty_go_parent(struct vty *vty) { switch (vty->node) { - case AUTH_NODE: - case VIEW_NODE: - case ENABLE_NODE: - case CONFIG_NODE: - vty_clear_parents(vty); - break; + case AUTH_NODE: + case VIEW_NODE: + case ENABLE_NODE: + case CONFIG_NODE: + vty_clear_parents(vty); + break; - case AUTH_ENABLE_NODE: - vty->node = VIEW_NODE; - vty_clear_parents(vty); - break; + case AUTH_ENABLE_NODE: + vty->node = VIEW_NODE; + vty_clear_parents(vty); + break; - default: - if (host.app_info->go_parent_cb) - host.app_info->go_parent_cb(vty); - vty_pop_parent(vty); - break; + default: + if (host.app_info->go_parent_cb) + host.app_info->go_parent_cb(vty); + vty_pop_parent(vty); + break; } return vty->node; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6f7f5af6879d91811be6f0edf3feb2ebae185ac7 Gerrit-Change-Number: 19666 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 06:23:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:23:11 +0000 Subject: Change in libosmocore[master]: vty/command: cosmetic: swap i and j in vty_dump_element() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19701 ) Change subject: vty/command: cosmetic: swap i and j in vty_dump_element() ...................................................................... vty/command: cosmetic: swap i and j in vty_dump_element() It's more convenient to use i in the outer loop, and j, k, etc. in the inner loops. Otherwise it looks a bit confusing. Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b --- M src/vty/command.c 1 file changed, 6 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/vty/command.c b/src/vty/command.c index d5e9d27..722b3e0 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -632,13 +632,13 @@ print_func(data, " %s", xml_string, newline); print_func(data, " %s", newline); - int j; - for (j = 0; j < vector_count(cmd->strvec); ++j) { - vector descvec = vector_slot(cmd->strvec, j); - int i; - for (i = 0; i < vector_active(descvec); ++i) { + int i; + for (i = 0; i < vector_count(cmd->strvec); ++i) { + vector descvec = vector_slot(cmd->strvec, i); + int j; + for (j = 0; j < vector_active(descvec); ++j) { char *xml_param, *xml_doc; - struct desc *desc = vector_slot(descvec, i); + struct desc *desc = vector_slot(descvec, j); if (desc == NULL) continue; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19701 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I61ef48fcf977d6a872e288571a4ff2c3dfe3184b Gerrit-Change-Number: 19701 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 Thu Aug 20 06:25:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 06:25:00 +0000 Subject: Change in libosmocore[master]: vty: print program specific attributes in the XML reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19668 ) Change subject: vty: print program specific attributes in the XML reference ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19668/9/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/19668/9/src/vty/command.c at 652 PS9, Line 652: print maybe it's a good idea to also let the user application register an array of 32 flag letters? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f35368ba9178e1454f2e3ddfcad9d96576143ef Gerrit-Change-Number: 19668 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 06:25:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:38:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:38:41 +0000 Subject: Change in osmo-bts[master]: Update dependency on libosmocore 1.4.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19678 ) Change subject: Update dependency on libosmocore 1.4.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I992f7e6d5884e53eab8da839d8e77736f9d751c3 Gerrit-Change-Number: 19678 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:38: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 Aug 20 08:38:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:38:45 +0000 Subject: Change in osmo-bts[master]: Update dependency on libosmocore 1.4.0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19678 ) Change subject: Update dependency on libosmocore 1.4.0 ...................................................................... Update dependency on libosmocore 1.4.0 Latest code relied on features from libosmocore master (> 1.3.0). New libosmocore release 1.4.0 is now available, so drop the TODO and update it now, since we can already refer to it. Change-Id: I992f7e6d5884e53eab8da839d8e77736f9d751c3 --- M TODO-RELEASE M configure.ac M debian/control 3 files changed, 7 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 72e4757..03c11eb 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,2 +1 @@ -* update libosmocore dependency to > 1.3.x for lapdm_channel_init3(), osmo_cpu_sched_vty_init() * update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include. diff --git a/configure.ac b/configure.ac index ef73b51..00810b8 100644 --- a/configure.ac +++ b/configure.ac @@ -67,12 +67,12 @@ fi dnl checks for libraries -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) diff --git a/debian/control b/debian/control index a7559cd..8559400 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ dh-systemd (>= 1.5), autotools-dev, pkg-config, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-abis-dev, libgps-dev, txt2man, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I992f7e6d5884e53eab8da839d8e77736f9d751c3 Gerrit-Change-Number: 19678 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:39:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:39:44 +0000 Subject: Change in osmo-sgsn[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-sgsn/+/19700 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1af1b154d14de6d6d6fba08f15f167f4b2ed9aa2 Gerrit-Change-Number: 19700 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:39:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:39:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:39:47 +0000 Subject: Change in osmo-sgsn[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-sgsn/+/19700 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I1af1b154d14de6d6d6fba08f15f167f4b2ed9aa2 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/vty/sgsn_vty_reference.xml M src/sgsn/sgsn_main.c 5 files changed, 49 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index e5e3b39..6b29a87 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,4 +1,2 @@ #component what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 -osmo-bsc Mobile Identity Coding OsmoBSC is stricter in rejecting invalid coding of Mobile Identity IEs +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/configure.ac b/configure.ac index db2e1ad..12af7e6 100644 --- a/configure.ac +++ b/configure.ac @@ -47,11 +47,11 @@ AC_SUBST(LIBRARY_DLSYM) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.2.0) -PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.2.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.4.0) PKG_CHECK_MODULES(LIBOSMOGSUPCLIENT, libosmo-gsup-client >= 1.0.0) diff --git a/debian/control b/debian/control index 1b659eb..e512c8f 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ libtalloc-dev, libc-ares-dev, libgtp-dev (>= 1.5.0), - libosmocore-dev (>= 1.2.0), + libosmocore-dev (>= 1.4.0), libosmo-abis-dev (>= 0.6.0), libosmo-netif-dev (>= 0.4.0), libosmo-gsup-client-dev (>= 1.0.0), diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index e49d278..8ffc607 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -431,6 +431,13 @@ + + + + + + + @@ -1113,6 +1120,13 @@ + + + + + + + @@ -1560,6 +1574,11 @@ + + + + + @@ -2348,6 +2367,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-sgsn diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 5b53815..257c3a2 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -49,6 +49,7 @@ #include #include #include +#include #include @@ -414,6 +415,7 @@ osmo_stats_vty_add_cmds(); sgsn_vty_init(&sgsn->cfg); ctrl_vty_init(tall_sgsn_ctx); + osmo_cpu_sched_vty_init(tall_sgsn_ctx); #if BUILD_IU OSMO_ASSERT(osmo_ss7_init() == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19700 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1af1b154d14de6d6d6fba08f15f167f4b2ed9aa2 Gerrit-Change-Number: 19700 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 Aug 20 08:39:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:39:56 +0000 Subject: Change in osmo-bts[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19679 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I028ebb9faf68d084759fcfae3ea84f7bdd2d0364 Gerrit-Change-Number: 19679 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:39:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:40:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:00 +0000 Subject: Change in osmo-bts[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19679 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I028ebb9faf68d084759fcfae3ea84f7bdd2d0364 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 00810b8..7ea97d1 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I028ebb9faf68d084759fcfae3ea84f7bdd2d0364 Gerrit-Change-Number: 19679 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:40:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:14 +0000 Subject: Change in osmo-bsc[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-bsc/+/19682 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie68883666657fc8faa76e2422335c0ceb98c5a88 Gerrit-Change-Number: 19682 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:40: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 Aug 20 08:40:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:18 +0000 Subject: Change in osmo-bsc[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-bsc/+/19682 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ie68883666657fc8faa76e2422335c0ceb98c5a88 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmobsc-usermanual.adoc M src/osmo-bsc/osmo_bsc_main.c 5 files changed, 10 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index b822f8a..f5d70c2 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,9 +7,5 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore struct gsm0808_diagnostics Depends on libosmocore > 1.3.0 -libosmocore gsm0808_diagnostics_octet_location_str() Depends on libosmocore > 1.3.0 -libosmocore gsm0808_diagnostics_bit_location_str() Depends on libosmocore > 1.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 osmo-bsc Mobile Identity Coding OsmoBSC is stricter in rejecting invalid coding of Mobile Identity IEs diff --git a/configure.ac b/configure.ac index 4a58079..ed9b2cb 100644 --- a/configure.ac +++ b/configure.ac @@ -49,10 +49,10 @@ AM_CONDITIONAL(BUILD_IPA_UTILS, test "x$osmo_ac_ipa_utils" = "xyes") AC_SUBST(osmo_ac_ipa_utils) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) diff --git a/debian/control b/debian/control index d1adc4b..d2ecea0 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ python3-minimal, libcdk5-dev, libtalloc-dev, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), libosmo-sccp-dev (>= 0.10.0), libosmo-sigtran-dev (>= 0.10.0), libosmo-abis-dev (>= 0.6.0), diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index cb939cc..a34d3d4 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -42,6 +42,8 @@ include::{srcdir}/chapters/osmux_bsc.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 84b44f7..95eab4a 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -53,6 +53,7 @@ #include #include #include +#include #include @@ -843,6 +844,7 @@ vty_init(&vty_info); bsc_vty_init(bsc_gsmnet); ctrl_vty_init(tall_bsc_ctx); + osmo_cpu_sched_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "nat"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie68883666657fc8faa76e2422335c0ceb98c5a88 Gerrit-Change-Number: 19682 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:40:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:27 +0000 Subject: Change in libosmocore[master]: vty: Fix cpu-sched VTY node name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19683 ) Change subject: vty: Fix cpu-sched VTY node name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0709fee12cc8ddc4d57efb4ea40b0b79b7ea4151 Gerrit-Change-Number: 19683 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:40: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 Aug 20 08:40:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:30 +0000 Subject: Change in libosmocore[master]: vty: Fix cpu-sched VTY node name In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19683 ) Change subject: vty: Fix cpu-sched VTY node name ...................................................................... vty: Fix cpu-sched VTY node name Durin dev cycle, node was initially called "sched" instead of "cpu-sched", and when it was renamed, this specific part was missed. Change-Id: I0709fee12cc8ddc4d57efb4ea40b0b79b7ea4151 --- M src/vty/cpu_sched_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c index 8cd11fe..f608738 100644 --- a/src/vty/cpu_sched_vty.c +++ b/src/vty/cpu_sched_vty.c @@ -82,7 +82,7 @@ static struct cmd_node sched_node = { L_CPU_SCHED_NODE, - "%s(config-sched)# ", + "%s(config-cpu-sched)# ", 1, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0709fee12cc8ddc4d57efb4ea40b0b79b7ea4151 Gerrit-Change-Number: 19683 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:40:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:40:45 +0000 Subject: Change in libosmo-sccp[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 ) Change subject: doc: Update VTY reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I83312c3f22af54db346f4babc9470ff9432ceae4 Gerrit-Change-Number: 19684 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:40: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 Aug 20 08:41:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:41:06 +0000 Subject: Change in libosmo-sccp[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/libosmo-sccp/+/19681 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 Gerrit-Change-Number: 19681 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:41:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:41:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:41:52 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia7b0ff11e58375842be15823d6b5dcaafc0f1f82 Gerrit-Change-Number: 19685 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:41:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:41:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:41:56 +0000 Subject: Change in osmo-ggsn[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 ) Change subject: doc: Update VTY reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2e8bebb67e63000c6f571a23baec04a68fc2974e Gerrit-Change-Number: 19686 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:41: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 Aug 20 08:42:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:13 +0000 Subject: Change in osmo-ggsn[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-ggsn/+/19687 ) 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-ggsn/+/19687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Gerrit-Change-Number: 19687 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:42: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 Aug 20 08:42:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:17 +0000 Subject: Change in osmo-ggsn[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: Ia7b0ff11e58375842be15823d6b5dcaafc0f1f82 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index e31cef1..861a977 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ AC_PROG_CPP LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia7b0ff11e58375842be15823d6b5dcaafc0f1f82 Gerrit-Change-Number: 19685 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 Aug 20 08:42:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:17 +0000 Subject: Change in osmo-ggsn[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I2e8bebb67e63000c6f571a23baec04a68fc2974e --- M doc/manuals/vty/ggsn_vty_reference.xml 1 file changed, 30 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index 64bd07a..c899ed9 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -763,6 +764,18 @@ + + + + + + + + + + + + @@ -1033,11 +1046,11 @@ - + - + @@ -1269,6 +1282,12 @@ + + + + + + config-line @@ -1386,10 +1405,16 @@ - + - + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2e8bebb67e63000c6f571a23baec04a68fc2974e Gerrit-Change-Number: 19686 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 Aug 20 08:42:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:17 +0000 Subject: Change in osmo-ggsn[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-ggsn/+/19687 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmoggsn-usermanual.adoc M doc/manuals/vty/ggsn_vty_reference.xml M ggsn/ggsn_main.c 6 files changed, 49 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..dd0df1a 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 +osmo-ggsn update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 861a977..9d8b4bf 100644 --- a/configure.ac +++ b/configure.ac @@ -152,9 +152,9 @@ AM_INIT_AUTOMAKE([foreign]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( diff --git a/debian/control b/debian/control index 970b314..0822773 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ pkg-config, libdpkg-perl, git, dh-autoreconf, - libosmocore-dev (>= 1.1.0), + libosmocore-dev (>= 1.4.0), osmo-gsm-manuals-dev Standards-Version: 3.9.6 Vcs-Browser: http://git.osmocom.org/osmo-ggsn/ diff --git a/doc/manuals/osmoggsn-usermanual.adoc b/doc/manuals/osmoggsn-usermanual.adoc index 9bc3885..30cd542 100644 --- a/doc/manuals/osmoggsn-usermanual.adoc +++ b/doc/manuals/osmoggsn-usermanual.adoc @@ -20,6 +20,8 @@ include::./common/chapters/control_if.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index c899ed9..bbc8471 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -415,6 +415,13 @@ + + + + + + + enable @@ -822,6 +829,13 @@ + + + + + + + config @@ -1071,6 +1085,11 @@ + + + + + config-log @@ -1319,6 +1338,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-ggsn diff --git a/ggsn/ggsn_main.c b/ggsn/ggsn_main.c index 81a8ab1..d9fb4e6 100644 --- a/ggsn/ggsn_main.c +++ b/ggsn/ggsn_main.c @@ -45,6 +45,7 @@ #include #include #include +#include #include "ggsn.h" @@ -158,6 +159,7 @@ osmo_stats_vty_add_cmds(); ggsn_vty_init(); ctrl_vty_init(tall_ggsn_ctx); + osmo_cpu_sched_vty_init(tall_ggsn_ctx); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/19687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic8d38a5f64c661ce650004c68d73bd77149caef4 Gerrit-Change-Number: 19687 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:54 +0000 Subject: Change in osmo-hlr[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19688 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If0569167922695bb88c8f168f89fa300dd181c72 Gerrit-Change-Number: 19688 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:42: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 Aug 20 08:42:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:42:56 +0000 Subject: Change in osmo-hlr[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19689 ) Change subject: doc: Update VTY reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ifdefba331ae2542b1cdc5860d0f9e53ef9f703c4 Gerrit-Change-Number: 19689 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:42: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 Aug 20 08:43:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:13 +0000 Subject: Change in osmo-hlr[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-hlr/+/19690 ) 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-hlr/+/19690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Gerrit-Change-Number: 19690 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:43:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:43:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:15 +0000 Subject: Change in osmo-hlr[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19688 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: If0569167922695bb88c8f168f89fa300dd181c72 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 4ed6978..b920790 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ AC_PROG_CC AC_PROG_INSTALL -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If0569167922695bb88c8f168f89fa300dd181c72 Gerrit-Change-Number: 19688 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 Aug 20 08:43:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:16 +0000 Subject: Change in osmo-hlr[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19689 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: Ifdefba331ae2542b1cdc5860d0f9e53ef9f703c4 --- M doc/manuals/vty/hlr_vty_reference.xml 1 file changed, 313 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index 71a0236..8e56f4b 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -187,7 +188,7 @@ - + @@ -195,6 +196,9 @@ + + + @@ -253,6 +257,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -360,6 +401,13 @@ + + + + + + + enable @@ -528,7 +576,7 @@ - + @@ -536,6 +584,9 @@ + + + @@ -564,7 +615,8 @@ - + + @@ -593,6 +645,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -672,6 +761,18 @@ + + + + + + + + + + + + @@ -827,6 +928,13 @@ + + + + + + + config @@ -1056,11 +1164,11 @@ - + - + @@ -1068,6 +1176,11 @@ + + + + + config-log @@ -1143,7 +1256,7 @@ - + @@ -1151,6 +1264,9 @@ + + + @@ -1278,6 +1394,12 @@ + + + + + + config-line @@ -1424,8 +1546,192 @@ + + + + + + config-hlr-euse + + config-mslookup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-server-msc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mslookup-client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ifdefba331ae2542b1cdc5860d0f9e53ef9f703c4 Gerrit-Change-Number: 19689 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 Aug 20 08:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:17 +0000 Subject: Change in osmo-hlr[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-hlr/+/19690 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- A TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmohlr-usermanual.adoc M doc/manuals/vty/hlr_vty_reference.xml M src/hlr.c M tests/test_nodes.vty M tests/test_subscriber.vty 8 files changed, 66 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..810a346 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# 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 +osmo-hlr update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index b920790..341e925 100644 --- a/configure.ac +++ b/configure.ac @@ -39,10 +39,10 @@ PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(SQLITE3, sqlite3) diff --git a/debian/control b/debian/control index c737d8d..68d789e 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ dh-systemd (>= 1.5), autotools-dev, python3-minimal, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-abis-dev, libosmo-netif-dev, libsqlite3-dev, diff --git a/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc index 68db1a7..f651f06 100644 --- a/doc/manuals/osmohlr-usermanual.adoc +++ b/doc/manuals/osmohlr-usermanual.adoc @@ -28,6 +28,8 @@ include::./common/chapters/gsup.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] @@ -35,4 +37,3 @@ include::./common/chapters/glossary.adoc[] include::./common/chapters/gfdl.adoc[] - diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index 8e56f4b..7a9eb03 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -408,6 +408,13 @@ + + + + + + + enable @@ -935,6 +942,13 @@ + + + + + + + config @@ -1181,6 +1195,11 @@ + + + + + config-log @@ -1431,6 +1450,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-hlr diff --git a/src/hlr.c b/src/hlr.c index e4d6c23..ac5c1ec 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -732,6 +733,7 @@ handle_options(argc, argv); hlr_vty_init(); dgsm_vty_init(); + osmo_cpu_sched_vty_init(hlr_ctx); rc = vty_read_config_file(cmdline_opts.config_file, NULL); if (rc < 0) { diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index cf41207..d9971f7 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -16,6 +16,7 @@ subscriber (imsi|msisdn|id|imei) IDENT show show subscriber (imsi|msisdn|id|imei) IDENT show mslookup services +... OsmoHLR> enable OsmoHLR# ? @@ -25,12 +26,15 @@ OsmoHLR# configure terminal OsmoHLR(config)# ? ... - hlr Configure the HLR - mslookup Configure Distributed GSM mslookup + hlr Configure the HLR + mslookup Configure Distributed GSM mslookup +... + OsmoHLR(config)# list ... hlr mslookup +... OsmoHLR(config)# hlr OsmoHLR(config-hlr)# ? diff --git a/tests/test_subscriber.vty b/tests/test_subscriber.vty index fb5da0e..4082700 100644 --- a/tests/test_subscriber.vty +++ b/tests/test_subscriber.vty @@ -14,6 +14,7 @@ subscriber (imsi|msisdn|id|imei) IDENT update imei (none|IMEI) subscriber (imsi|msisdn|id|imei) IDENT update network-access-mode (none|cs|ps|cs+ps) show mslookup services +... OsmoHLR# subscriber? subscriber Subscriber management commands -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df Gerrit-Change-Number: 19690 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:43:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:29 +0000 Subject: Change in osmo-mgw[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-mgw/+/19691 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icfafea073a0cdac289a651d61632b4c6af39c6a9 Gerrit-Change-Number: 19691 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:43: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 Aug 20 08:43:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:52 +0000 Subject: Change in osmo-mgw[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-mgw/+/19691 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: Icfafea073a0cdac289a651d61632b4c6af39c6a9 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmomgw-usermanual.adoc M src/osmo-mgw/mgw_main.c 5 files changed, 11 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index c5a3b36..e44305b 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,3 +24,4 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line +osmo-mgw update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index db44893..9aba2ed 100644 --- a/configure.ac +++ b/configure.ac @@ -47,10 +47,10 @@ AC_SUBST(LIBRARY_DLSYM) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) diff --git a/debian/control b/debian/control index 00dcf38..83860df 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ dh-autoreconf, pkg-config, autotools-dev, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-netif-dev, libosmo-abis-dev, osmo-gsm-manuals-dev diff --git a/doc/manuals/osmomgw-usermanual.adoc b/doc/manuals/osmomgw-usermanual.adoc index 0c26449..36d4049 100644 --- a/doc/manuals/osmomgw-usermanual.adoc +++ b/doc/manuals/osmomgw-usermanual.adoc @@ -24,6 +24,8 @@ //include::{srcdir}/chapters/counters.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index d4bcb3a..af73380 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -60,6 +60,8 @@ #include #include #include +#include + #include #include "../../bscconfig.h" @@ -311,6 +313,7 @@ mgcp_vty_init(); ctrl_vty_init(cfg); e1inp_vty_init(); + osmo_cpu_sched_vty_init(tall_bsc_ctx); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icfafea073a0cdac289a651d61632b4c6af39c6a9 Gerrit-Change-Number: 19691 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:43:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:43:52 +0000 Subject: Change in osmo-mgw[master]: cosmetic: Rename main talloc ctx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19692 ) Change subject: cosmetic: Rename main talloc ctx ...................................................................... cosmetic: Rename main talloc ctx It contained name from a different program, probably due to main.c being copied over during project start. Change-Id: I4bfa40eec0277705f5d3335d779bff35518470a8 --- M src/osmo-mgw/mgw_main.c 1 file changed, 11 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index af73380..7f4df2e 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -93,7 +93,7 @@ static char *config_file = "osmo-mgw.cfg"; /* used by msgb and mgcp */ -void *tall_bsc_ctx = NULL; +void *tall_mgw_ctx = NULL; static void print_help() { @@ -141,7 +141,7 @@ exit(2); } case 'c': - config_file = talloc_strdup(tall_bsc_ctx, optarg); + config_file = talloc_strdup(tall_mgw_ctx, optarg); break; case 's': log_set_use_color(osmo_stderr_target, 0); @@ -292,14 +292,14 @@ unsigned int flags; int rc; - tall_bsc_ctx = talloc_named_const(NULL, 1, "mgcp-callagent"); - vty_info.tall_ctx = tall_bsc_ctx; + tall_mgw_ctx = talloc_named_const(NULL, 1, "mgcp-callagent"); + vty_info.tall_ctx = tall_mgw_ctx; - msgb_talloc_ctx_init(tall_bsc_ctx, 0); + msgb_talloc_ctx_init(tall_mgw_ctx, 0); osmo_init_ignore_signals(); - osmo_init_logging2(tall_bsc_ctx, &log_info); - libosmo_abis_init(tall_bsc_ctx); + osmo_init_logging2(tall_mgw_ctx, &log_info); + libosmo_abis_init(tall_mgw_ctx); cfg = mgcp_config_alloc(); if (!cfg) @@ -313,19 +313,19 @@ mgcp_vty_init(); ctrl_vty_init(cfg); e1inp_vty_init(); - osmo_cpu_sched_vty_init(tall_bsc_ctx); + osmo_cpu_sched_vty_init(tall_mgw_ctx); handle_options(argc, argv); - rate_ctr_init(tall_bsc_ctx); - osmo_stats_init(tall_bsc_ctx); + rate_ctr_init(tall_mgw_ctx); + osmo_stats_init(tall_mgw_ctx); rc = mgcp_parse_config(config_file, cfg, MGCP_BSC); if (rc < 0) return rc; /* start telnet after reading config for vty_get_bind_addr() */ - rc = telnet_init_dynif(tall_bsc_ctx, NULL, + rc = telnet_init_dynif(tall_mgw_ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_MGW); if (rc < 0) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4bfa40eec0277705f5d3335d779bff35518470a8 Gerrit-Change-Number: 19692 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 Thu Aug 20 08:44:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:08 +0000 Subject: Change in osmo-msc[master]: configure.ac: Drop trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19693 ) Change subject: configure.ac: Drop trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I48dee161f6951777dc86b61da13793d6309b86bb Gerrit-Change-Number: 19693 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:44: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 Aug 20 08:44:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:18 +0000 Subject: Change in osmo-msc[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-msc/+/19694 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I40cf8a86961c1e350b5cd74d6e2cf64a22b7a2b1 Gerrit-Change-Number: 19694 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08: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 Thu Aug 20 08:44:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:20 +0000 Subject: Change in osmo-msc[master]: configure.ac: Drop trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19693 ) Change subject: configure.ac: Drop trailing whitespace ...................................................................... configure.ac: Drop trailing whitespace Change-Id: I48dee161f6951777dc86b61da13793d6309b86bb --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 1e0740e..5244055 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I48dee161f6951777dc86b61da13793d6309b86bb Gerrit-Change-Number: 19693 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:44:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:21 +0000 Subject: Change in osmo-msc[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-msc/+/19694 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I40cf8a86961c1e350b5cd74d6e2cf64a22b7a2b1 Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmomsc-usermanual.adoc M src/osmo-msc/msc_main.c 5 files changed, 10 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 17dc17a..78a03ff 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,6 +7,5 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line -manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 -libosmocore osmo_mobile_identity Depends on libosmocore > 1.3.0 +manual needs common chapter cs7-config.adoc, vty_cpu_sched.adoc from osmo-gsm-manuals > 0.3.0 osmo-msc Mobile Identity Coding OsmoMSC is stricter in rejecting invalid coding of Mobile Identity IEs diff --git a/configure.ac b/configure.ac index 5244055..eea7f4b 100644 --- a/configure.ac +++ b/configure.ac @@ -40,10 +40,10 @@ ]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 1.1.0) diff --git a/debian/control b/debian/control index 606fbaf..0f3da25 100644 --- a/debian/control +++ b/debian/control @@ -15,7 +15,7 @@ libtalloc-dev, libsmpp34-dev (>= 1.14.0), libasn1c-dev (>= 0.9.30), - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), libosmo-sccp-dev (>= 1.1.0), libosmo-sigtran-dev (>= 1.1.0), libosmo-abis-dev (>= 0.6.0), diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc index 848d9c0..7ba45d4 100644 --- a/doc/manuals/osmomsc-usermanual.adoc +++ b/doc/manuals/osmomsc-usermanual.adoc @@ -36,6 +36,8 @@ include::./common/chapters/gsup.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index f2ccff5..98d29c3 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -549,6 +550,7 @@ ctrl_vty_init(tall_msc_ctx); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); + osmo_cpu_sched_vty_init(tall_msc_ctx); /* Allocate global gsm_network struct. * At first set the internal MNCC as default, may be changed below according to cfg or cmdline option. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19694 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I40cf8a86961c1e350b5cd74d6e2cf64a22b7a2b1 Gerrit-Change-Number: 19694 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:44:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:34 +0000 Subject: Change in osmo-pcu[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19695 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91 Gerrit-Change-Number: 19695 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:44: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 Aug 20 08:44:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:38 +0000 Subject: Change in osmo-pcu[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19696 ) Change subject: doc: Update VTY reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5800f1607878ab764323dc12c537a8e28d387cc9 Gerrit-Change-Number: 19696 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08: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 Thu Aug 20 08:44:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:50 +0000 Subject: Change in osmo-pcu[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-pcu/+/19697 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec Gerrit-Change-Number: 19697 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Aug 2020 08:44: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 Aug 20 08:44:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:54 +0000 Subject: Change in osmo-pcu[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19695 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 3d126ce..3f403b8 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19695 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91 Gerrit-Change-Number: 19695 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:44:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:54 +0000 Subject: Change in osmo-pcu[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19696 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I5800f1607878ab764323dc12c537a8e28d387cc9 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 107 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index da6c76c..7b33cbb 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -350,6 +350,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -773,6 +810,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1101,11 +1187,11 @@ - + - + @@ -1348,6 +1434,12 @@ + + + + + + config-line @@ -1467,6 +1559,15 @@ + + + + + + + + + @@ -1835,7 +1936,7 @@ - + @@ -1852,9 +1953,10 @@ + - + @@ -1872,6 +1974,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19696 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5800f1607878ab764323dc12c537a8e28d387cc9 Gerrit-Change-Number: 19696 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:44:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:44:54 +0000 Subject: Change in osmo-pcu[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-pcu/+/19697 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 --- A TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmopcu-usermanual.adoc M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/pcu_main.cpp 6 files changed, 59 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..17c6a34 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# 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 +osmo-pcu update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 3f403b8..2e99a15 100644 --- a/configure.ac +++ b/configure.ac @@ -82,10 +82,10 @@ fi dnl checks for libraries -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0) AC_MSG_CHECKING([whether to enable direct DSP access for PDCH of sysmocom-bts]) AC_ARG_ENABLE(sysmocom-dsp, diff --git a/debian/control b/debian/control index b9dad0c..0d69a9a 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ dh-systemd (>= 1.5), autotools-dev, pkg-config, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), osmo-gsm-manuals-dev Standards-Version: 3.9.8 Homepage: http://osmocom.org/projects/osmopcu diff --git a/doc/manuals/osmopcu-usermanual.adoc b/doc/manuals/osmopcu-usermanual.adoc index bf25cfd..e202e33 100644 --- a/doc/manuals/osmopcu-usermanual.adoc +++ b/doc/manuals/osmopcu-usermanual.adoc @@ -21,6 +21,8 @@ include::./common/chapters/gb.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index 7b33cbb..afb9d47 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -440,6 +440,13 @@ + + + + + + + @@ -912,6 +919,13 @@ + + + + + + + @@ -1199,6 +1213,11 @@ + + + + + @@ -1586,6 +1605,27 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + config-pcu diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 3912204..c5ff3dc 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -272,6 +273,7 @@ pcu_vty_info.tall_ctx = tall_pcu_ctx; vty_init(&pcu_vty_info); pcu_vty_init(); + osmo_cpu_sched_vty_init(tall_pcu_ctx); handle_options(argc, argv); if ((!!spoof_mcc) + (!!spoof_mnc) == 1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19697 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec Gerrit-Change-Number: 19697 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:45:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:45:30 +0000 Subject: Change in libosmo-sccp[master]: doc: Update VTY reference xml file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 ) Change subject: doc: Update VTY reference xml file ...................................................................... doc: Update VTY reference xml file Change-Id: I83312c3f22af54db346f4babc9470ff9432ceae4 --- M doc/manuals/vty/osmo-stp_vty_reference.xml 1 file changed, 126 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index 9a26316..ebe8b29 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -249,6 +250,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -310,6 +341,13 @@ + + + + + + + @@ -687,6 +725,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -729,6 +797,18 @@ + + + + + + + + + + + + @@ -748,6 +828,13 @@ + + + + + + + @@ -1119,11 +1206,11 @@ - + - + @@ -1339,6 +1426,12 @@ + + + + + + config-line @@ -1535,6 +1628,12 @@ + + + + + + @@ -1605,6 +1704,15 @@ + + + + + + + + + config-cs7-asp @@ -1632,6 +1740,21 @@ + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I83312c3f22af54db346f4babc9470ff9432ceae4 Gerrit-Change-Number: 19684 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 08:45:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 08:45:31 +0000 Subject: Change in libosmo-sccp[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/libosmo-sccp/+/19681 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c Related: SYS#4986 Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 --- M TODO-RELEASE M configure.ac M debian/control M doc/manuals/osmostp-usermanual.adoc M doc/manuals/vty/osmo-stp_vty_reference.xml M stp/stp_main.c 6 files changed, 49 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..b274427 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 +osmo-stp update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index 33b71b7..1ec3b01 100644 --- a/configure.ac +++ b/configure.ac @@ -34,9 +34,9 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.7.0) old_LIBS=$LIBS diff --git a/debian/control b/debian/control index fd23fbd..f8d25f6 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Build-Depends: debhelper (>= 9), autotools-dev, pkg-config, - libosmocore-dev (>= 1.3.0), + libosmocore-dev (>= 1.4.0), autoconf, automake, libtool, diff --git a/doc/manuals/osmostp-usermanual.adoc b/doc/manuals/osmostp-usermanual.adoc index 9f41e5d..a34c2b1 100644 --- a/doc/manuals/osmostp-usermanual.adoc +++ b/doc/manuals/osmostp-usermanual.adoc @@ -18,6 +18,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + //include::./common/chapters/bts.adoc[] //include::../OsmoNITB/chapters/bts-examples.adoc[] @@ -31,4 +33,3 @@ include::./common/chapters/glossary.adoc[] include::./common/chapters/gfdl.adoc[] - diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index ebe8b29..e904469 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -430,6 +430,13 @@ + + + + + + + @@ -917,6 +924,13 @@ + + + + + + + @@ -1220,6 +1234,11 @@ + + + + + config-log @@ -1893,4 +1912,25 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + diff --git a/stp/stp_main.c b/stp/stp_main.c index 19420c0..33305b3 100644 --- a/stp/stp_main.c +++ b/stp/stp_main.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -186,6 +187,7 @@ osmo_stats_vty_add_cmds(); osmo_ss7_vty_init_sg(tall_stp_ctx); osmo_sccp_vty_init(); + osmo_cpu_sched_vty_init(tall_stp_ctx); osmo_fsm_vty_add_cmds(); osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3 Gerrit-Change-Number: 19681 Gerrit-PatchSet: 4 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 Aug 20 10:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 10:31:13 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 Gerrit-Change-Number: 19680 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 10:31:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 10:35:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 10:35:52 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 Gerrit-Change-Number: 19680 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 10:35:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 10:35:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 10:35:54 +0000 Subject: Change in libosmo-sccp[master]: configure.ac: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 ) Change subject: configure.ac: Fix trailing whitespace ...................................................................... configure.ac: Fix trailing whitespace Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 1ec3b01..725014d 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PROG_INSTALL LT_INIT -dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang AS_CASE(["$LD"],[*clang*], [AS_CASE(["${host_os}"], [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4 Gerrit-Change-Number: 19680 Gerrit-PatchSet: 3 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 Aug 20 10:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 10:51:43 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: Hello lynxis lazus, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19723 to look at the new patch set (#2). Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation Address resolution is done first and once we have the information, it proceeds to create the socket. This separation in steps will help when adding support for IPv6+IPv4 sets, where AF_UNSPEC is passed and created socket needs to be AF_INET6 in order to handle addr of both versions. Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a --- M src/socket.c 1 file changed, 42 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/19723/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Thu Aug 20 11:07:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:00 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... pcu_l1_if: use proper format specifier for PCUIF version Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c --- M src/pcu_l1_if.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/19726/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 7fa82fb..c683e30 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -496,8 +496,8 @@ int i; if (info_ind->version != PCU_IF_VERSION) { - fprintf(stderr, "PCU interface version number of BTS (%d) is " - "different (%d).\nPlease re-compile!\n", + fprintf(stderr, "PCU interface version number of BTS (%u) is " + "different (%u).\nPlease re-compile!\n", info_ind->version, PCU_IF_VERSION); exit(-1); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 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 Aug 20 11:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:01 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: constify the argument of pcu_rx_info_ind() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19727 ) Change subject: pcu_l1_if: constify the argument of pcu_rx_info_ind() ...................................................................... pcu_l1_if: constify the argument of pcu_rx_info_ind() Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/19727/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index c683e30..f01f0e9 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -485,7 +485,7 @@ return rc; } -static int pcu_rx_info_ind(struct gsm_pcu_if_info_ind *info_ind) +static int pcu_rx_info_ind(const struct gsm_pcu_if_info_ind *info_ind) { struct gprs_rlcmac_bts *bts = bts_main_data(); struct gprs_bssgp_pcu *pcu; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f Gerrit-Change-Number: 19727 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 Aug 20 11:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:01 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19728 ) Change subject: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' ...................................................................... pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b --- M src/pcu_l1_if.cpp 1 file changed, 23 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/19728/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index f01f0e9..c0fc727 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -492,7 +492,7 @@ struct gprs_rlcmac_pdch *pdch; struct in_addr ia; int rc = 0; - unsigned int trx, ts; + unsigned int trx_nr, ts_nr; int i; if (info_ind->version != PCU_IF_VERSION) { @@ -511,10 +511,10 @@ bssgp_failed: bts->active = false; /* free all TBF */ - for (trx = 0; trx < ARRAY_SIZE(bts->trx); trx++) { - bts->trx[trx].arfcn = info_ind->trx[trx].arfcn; - for (ts = 0; ts < ARRAY_SIZE(bts->trx[0].pdch); ts++) - bts->trx[trx].pdch[ts].free_resources(); + for (trx_nr = 0; trx_nr < ARRAY_SIZE(bts->trx); trx_nr++) { + bts->trx[trx_nr].arfcn = info_ind->trx[trx_nr].arfcn; + for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) + bts->trx[trx_nr].pdch[ts_nr].free_resources(); } gprs_bssgp_destroy(); exit(0); @@ -605,19 +605,19 @@ bts->initial_cs_ul = bts->initial_cs_dl; } - for (trx = 0; trx < ARRAY_SIZE(bts->trx); trx++) { - bts->trx[trx].arfcn = info_ind->trx[trx].arfcn; + for (trx_nr = 0; trx_nr < ARRAY_SIZE(bts->trx); trx_nr++) { + bts->trx[trx_nr].arfcn = info_ind->trx[trx_nr].arfcn; if ((info_ind->flags & PCU_IF_FLAG_SYSMO) - && info_ind->trx[trx].hlayer1) { + && info_ind->trx[trx_nr].hlayer1) { #ifdef ENABLE_DIRECT_PHY - LOGP(DL1IF, LOGL_DEBUG, " TRX %d hlayer1=%x\n", trx, - info_ind->trx[trx].hlayer1); - if (!bts->trx[trx].fl1h) - bts->trx[trx].fl1h = l1if_open_pdch( - trx, - info_ind->trx[trx].hlayer1, + LOGP(DL1IF, LOGL_DEBUG, " TRX %d hlayer1=%x\n", trx_nr, + info_ind->trx[trx_nr].hlayer1); + if (!bts->trx[trx_nr].fl1h) + bts->trx[trx_nr].fl1h = l1if_open_pdch( + trx_nr, + info_ind->trx[trx_nr].hlayer1, bts->gsmtap); - if (!bts->trx[trx].fl1h) { + if (!bts->trx[trx_nr].fl1h) { LOGP(DL1IF, LOGL_FATAL, "Failed to open direct " "DSP access for PDCH.\n"); exit(0); @@ -630,26 +630,26 @@ #endif } - for (ts = 0; ts < ARRAY_SIZE(bts->trx[0].pdch); ts++) { - pdch = &bts->trx[trx].pdch[ts]; - if ((info_ind->trx[trx].pdch_mask & (1 << ts))) { + for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) { + pdch = &bts->trx[trx_nr].pdch[ts_nr]; + if ((info_ind->trx[trx_nr].pdch_mask & (1 << ts_nr))) { /* FIXME: activate dynamically at RLCMAC */ if (!pdch->is_enabled()) { #ifdef ENABLE_DIRECT_PHY if ((info_ind->flags & PCU_IF_FLAG_SYSMO)) l1if_connect_pdch( - bts->trx[trx].fl1h, ts); + bts->trx[trx_nr].fl1h, ts_nr); #endif - pcu_tx_act_req(trx, ts, 1); + pcu_tx_act_req(trx_nr, ts_nr, 1); pdch->enable(); } - pdch->tsc = info_ind->trx[trx].tsc[ts]; + pdch->tsc = info_ind->trx[trx_nr].tsc[ts_nr]; LOGP(DL1IF, LOGL_INFO, "PDCH: trx=%d ts=%d\n", - trx, ts); + trx_nr, ts_nr); } else { if (pdch->is_enabled()) { - pcu_tx_act_req(trx, ts, 0); + pcu_tx_act_req(trx_nr, ts_nr, 0); pdch->free_resources(); pdch->disable(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b Gerrit-Change-Number: 19728 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 Aug 20 11:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:01 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19729 ) Change subject: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop ...................................................................... pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/19729/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index c0fc727..fb6393a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -489,7 +489,6 @@ { struct gprs_rlcmac_bts *bts = bts_main_data(); struct gprs_bssgp_pcu *pcu; - struct gprs_rlcmac_pdch *pdch; struct in_addr ia; int rc = 0; unsigned int trx_nr, ts_nr; @@ -631,7 +630,7 @@ } for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) { - pdch = &bts->trx[trx_nr].pdch[ts_nr]; + struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_nr].pdch[ts_nr]; if ((info_ind->trx[trx_nr].pdch_mask & (1 << ts_nr))) { /* FIXME: activate dynamically at RLCMAC */ if (!pdch->is_enabled()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 Gerrit-Change-Number: 19729 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 Aug 20 11:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:01 +0000 Subject: Change in osmo-pcu[master]: encoding: constify 'tbf' in UL/DL assignment functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19730 ) Change subject: encoding: constify 'tbf' in UL/DL assignment functions ...................................................................... encoding: constify 'tbf' in UL/DL assignment functions Change-Id: I9b80ce22914a355592502c936046b233c3ba216d --- M src/encoding.cpp M src/encoding.h 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/19730/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 9dfd7c9..cc9fd0a 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -537,7 +537,7 @@ void Encoding::write_packet_uplink_assignment( bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, - struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, + const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, int8_t use_egprs) { // TODO We should use our implementation of encode RLC/MAC Control messages. @@ -628,7 +628,7 @@ /* generate downlink assignment */ void Encoding::write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, - struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, uint8_t ta_ts, bool use_egprs) { diff --git a/src/encoding.h b/src/encoding.h index 5bdd4ef..bb9944c 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -59,13 +59,13 @@ static void write_packet_uplink_assignment( bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, - struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, int8_t use_egprs); static void write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, - struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, uint8_t ta_ts, bool use_egprs); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b80ce22914a355592502c936046b233c3ba216d Gerrit-Change-Number: 19730 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 Aug 20 11:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:07:02 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... encoding: do not encode out of range Timing Advance values According to 3GPP TS 44.060, section 12.12 "Packet Timing Advance", the 'TIMING_ADVANCE_VALUE' field is optional, and takes 6 bits if present. This means that a value that fits in range 0..63 (inclusive) can be encoded (0b111111 == 63). It's possible that tbf->ta() returns GSM48_TA_INVALID == 220, so the bitvec API would encode only 6 LSBs of it: 220 & 0b111111 == 28 Let's ensure that the 'TIMING_ADVANCE_VALUE' is present iff tbf->ta() returns a correct (0 <= x <= 63), and absent otherwise. Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa --- M src/encoding.cpp 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/19731/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index cc9fd0a..bbc80bc 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -144,7 +144,7 @@ /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ static inline void write_ta(bitvec *dest, unsigned& wp, uint8_t ta) { - if (ta >= GSM48_TA_INVALID) /* No TIMING_ADVANCE_VALUE: */ + if (ta > 63) /* No TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 0, 1); else { /* TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 1, 1); @@ -666,8 +666,13 @@ block->u.Packet_Downlink_Assignment.TIMESLOT_ALLOCATION |= 0x80 >> tn; // timeslot(s) } - block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x1; // TIMING_ADVANCE_VALUE = on - block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.TIMING_ADVANCE_VALUE = tbf->ta(); // TIMING_ADVANCE_VALUE + if (tbf->ta() > 63) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x0; // TIMING_ADVANCE_VALUE = off + } else { + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x1; // TIMING_ADVANCE_VALUE = on + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.TIMING_ADVANCE_VALUE = tbf->ta(); // TIMING_ADVANCE_VALUE + } + if (ta_idx < 0) { block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_IndexAndtimeSlot = 0x0; // TIMING_ADVANCE_INDEX = off } else { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 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 Aug 20 11:13:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:13:04 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp at 499 PS1, Line 499: fprintf(stderr, "PCU interface version number of BTS (%u) is " This should actually be a PRIu32: 123:struct gsm_pcu_if_info_ind { 124- uint32_t version; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:13:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 11:13:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:13:14 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: constify the argument of pcu_rx_info_ind() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19727 ) Change subject: pcu_l1_if: constify the argument of pcu_rx_info_ind() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f Gerrit-Change-Number: 19727 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:13: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 Aug 20 11:13:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:13:33 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19728 ) Change subject: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b Gerrit-Change-Number: 19728 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:13: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 Aug 20 11:14:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:14:08 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19729 ) Change subject: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop ...................................................................... Patch Set 1: Code-Review+1 Not sure what we win with this, but OK. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 Gerrit-Change-Number: 19729 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:14: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 Aug 20 11:14:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:14:27 +0000 Subject: Change in osmo-pcu[master]: encoding: constify 'tbf' in UL/DL assignment functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19730 ) Change subject: encoding: constify 'tbf' in UL/DL assignment functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b80ce22914a355592502c936046b233c3ba216d Gerrit-Change-Number: 19730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:14:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 11:16:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 11:16:53 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19731/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19731/1/src/encoding.cpp at 147 PS1, Line 147: if (ta > 63) /* No TIMING_ADVANCE_VALUE: */ As we discussed before when I submitted last related patches, I would rather do this kind of checks when storing them inside a MS object rather than here, since we should never expect MS to return something else than (0,62)||GSM48_TA_INVALID. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:16: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 Thu Aug 20 11:19:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:19:36 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp at 499 PS1, Line 499: fprintf(stderr, "PCU interface version number of BTS (%u) is " > This should actually be a PRIu32: [?] Again, '%u' works fine for 'uint32_t', and we use it in many places (e.g. to print TDMA frame number). Please point me to a man page / documentation where it's stated that 'PRIu32' shall be used instead of '%u'. Currently I am not convinced. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 11:19: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 Thu Aug 20 11:29:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:29:10 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19731/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19731/1/src/encoding.cpp at 147 PS1, Line 147: if (ta > 63) /* No TIMING_ADVANCE_VALUE: */ > I would rather do this kind of checks when storing them inside a MS object Well, feel free to do so. For now it's the easiest solution, and I don't see a reason why it should not be done here [too]. API wise, we're accepting 0..255 from some caller here, and we cannot blindly trust that the MS/TBF API would never give us a wrong value, ever after you fix it. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 11:29:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 11:30:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:30:16 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19724/2/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19724/2/src/socket.c at 432 PS2, Line 432: int size_t? https://gerrit.osmocom.org/c/libosmocore/+/19724/2/src/socket.c at 432 PS2, Line 432: ) { coding style -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 20 Aug 2020 11:30: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 Thu Aug 20 11:35:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:35:32 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 2: Also, would be nice to keep the code consistent and start all logging messages with a Capital letter. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 20 Aug 2020 11:35:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 11:39:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 11:39:19 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/2/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19723/2/src/socket.c at 530 PS2, Line 530: alignment -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 20 Aug 2020 11:39:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 12:45:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 12:45:16 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19726/1/src/pcu_l1_if.cpp at 499 PS1, Line 499: fprintf(stderr, "PCU interface version number of BTS (%u) is " > Again, '%u' works fine for 'uint32_t', and we use it in many places (e.g. [?] Because if you use %u instead of PRIu32 AFAIU you are assuming you always run on architectures where word size is 32bit, and that parameters are expanded to word size when stored and passed to functions with variable number of parameters (for uint8_t and uint16_t). So you see, lots of assumptions, which happen to work for probably 99.9% of cpu architectures running nowadays, but which may hit you back at some point. It's easy, instead of following assumptions, if you want to print a uint32_t, use its standard printf indicator PRIu32 and be done with it, same as if you want to print an unsigned long you would use %lu and not %u. Otherwise, cast the value to (unsigned int) and use %u. If using %u is fine for you then so be it, I'm just pointing out what I think is formally better from maintainment and portability point of view. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 12:45:16 +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 Aug 20 12:48:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 12:48:05 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 12:48: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 Aug 20 13:17:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 13:17:13 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19723 to look at the new patch set (#3). Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation Address resolution is done first and once we have the information, it proceeds to create the socket. This separation in steps will help when adding support for IPv6+IPv4 sets, where AF_UNSPEC is passed and created socket needs to be AF_INET6 in order to handle addr of both versions. Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a --- M src/socket.c 1 file changed, 43 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/19723/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 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 Thu Aug 20 13:17:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 13:17:13 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: Hello lynxis lazus, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19724 to look at the new patch set (#3). Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations The function is improved to support AF_INET:v4->v4, AF_INET6:v6->v6 and AF_UNSPEC:v4+v6->v4+v6. Unit tests for the function are added to make sure function behaves correctly in several scenarios. Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 4 files changed, 295 insertions(+), 66 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/19724/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 14:00:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 14:00:11 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Introduce SS7 IPv6 support In osmo_ss7_vty_go_parent, "127.0.0.1" is changed to "localhost" to let local DNS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, this change doesn't affect users of osmo_sccp_simple_client because the APIs set both src and dst addresses. Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Depends: libosmo-netif.git Change-Id Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 38 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/32/19732/1 diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 5b0c84f..64874da 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,3 +20,4 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 + local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index e904469..ff8103a 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,16 +1741,18 @@ - + - + + - + - + + @@ -1787,10 +1789,11 @@ config-cs7-listen - + - + + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 9c31c00..fad93f5 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,9 +470,10 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Configure the Local IP Address for xUA\n" - "IP Address to use for XUA\n") + "IPv4 Address to use for XUA\n" + "IPv6 Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -623,9 +624,10 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Specify Local IP Address from which to contact ASP\n" - "Local IP Address from which to contact of ASP\n") + "Local IPv4 Address from which to contact of ASP\n" + "Local IPv6 Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); @@ -633,9 +635,10 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip A.B.C.D", + "remote-ip " VTY_IPV46_CMD, "Specify Remote IP Address of ASP\n" - "Remote IP Address of ASP\n") + "Remote IPv4 Address of ASP\n" + "Remote IPv6 Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); @@ -1806,10 +1809,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 7411b1f..ee1b3e5 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip A.B.C.D - local-ip A.B.C.D + remote-ip (A.B.C.D|X:X::X:X) + local-ip (A.B.C.D|X:X::X:X) qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index 605bc93..dff26c3 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,7 +111,9 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', + '0000:0000:0000:0000:0000:0000:0000:0001'], + 2905): found = True break else: @@ -122,6 +124,7 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 + # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -129,7 +132,17 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP") + print("Connected to STP through SCTP (IPv4)") + s.close() + # IPv6: + s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) + s.bind(('::1', 0)) + try: + s.connect(('::1',2905)) + except socket.error as msg: + s.close() + self.assertTrue(False) + print("Connected to STP through SCTP (IPv6)") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-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 Aug 20 15:05:46 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:05:46 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19733 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Count handover per BTS as well as per BSC Our current handover counters only count success/failures per BSC. It would be nice (and in the case of JMA required) to also count which BTS is part of a (successful/failed) handover. This patch duplicates the BSC counters for the BTS and changes the ho_count and related macros to also count per BTS. If a BTS is NULL (when conn->lchan is NULL) counting for the BTS is ignored. Change-Id: I808c4667ee22f238617294380f2f992e76598d32 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 3 files changed, 137 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/19733/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 16053a3..fb8139b 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -68,6 +68,26 @@ BTS_CTR_ASSIGNMENT_TIMEOUT, BTS_CTR_ASSIGNMENT_FAILED, BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_HANDOVER_ATTEMPTED, + BTS_CTR_HANDOVER_COMPLETED, + BTS_CTR_HANDOVER_STOPPED, + BTS_CTR_HANDOVER_NO_CHANNEL, + BTS_CTR_HANDOVER_TIMEOUT, + BTS_CTR_HANDOVER_FAILED, + BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, + BTS_CTR_INTER_BSC_HO_OUT_STOPPED, + BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_ERROR, + BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_IN_COMPLETED, + BTS_CTR_INTER_BSC_HO_IN_STOPPED, + BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BTS_CTR_INTER_BSC_HO_IN_FAILED, + BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, + BTS_CTR_INTER_BSC_HO_IN_ERROR, + }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -127,6 +147,35 @@ [BTS_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, [BTS_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, + [BTS_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, + [BTS_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed."}, + [BTS_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO."}, + [BTS_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO."}, + [BTS_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out."}, + [BTS_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, + [BTS_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", + "Attempts to handover to remote BSS."}, + [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", + "Handover to remote BSS completed."}, + [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO."}, + [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out."}, + [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", + "Handover to remote BSS failed for other reason."}, + + [BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", + "Attempts to handover from remote BSS."}, + [BTS_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", + "Handover from remote BSS completed."}, + [BTS_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO."}, + [BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO."}, + [BTS_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out."}, + [BTS_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message."}, + [BTS_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", + "Handover from remote BSS failed for other reason."}, + }; static const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index bd0b534..04718da 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -382,7 +382,11 @@ return; case GSCON_EV_HANDOVER_START: + bts = conn_get_bts(conn); rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); + if (bts) + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); + /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) LOGPFSML(fi, LOGL_ERROR, "Cannot transition to HANDOVER state, discarding\n"); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8ed5945..512e40b 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -80,13 +80,29 @@ /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * This is a macro to preserve the source file and line number in logging. */ -#define ho_count(counter) do { \ - LOG_HO(conn, LOGL_DEBUG, "incrementing rate counter: %s %s\n", \ +#define ho_count_bsc(counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ } while(0) +/* Assume presence of local var 'conn' as struct gsm_subscriber_connection. + * Assume conn_get_bts() is not NULL + * This is a macro to preserve the source file and line number in logging. */ +#define ho_count_bts(bts, counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ + bts_ctr_description[counter].name, \ + bts_ctr_description[counter].description); \ + if (bts) \ + rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + } while(0) + +#define ho_count(bts, counter) do { \ + ho_count_bsc(BSC_##counter); \ + ho_count_bts(bts, BTS_##counter); \ +} while(0) + static uint8_t g_next_ho_ref = 1; const char *handover_status(struct gsm_subscriber_connection *conn) @@ -341,6 +357,7 @@ struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; struct lchan_activate_info info; + struct gsm_bts *bts = conn_get_bts(conn); OSMO_ASSERT(ho->new_bts); OSMO_ASSERT(ho->new_lchan_type != GSM_LCHAN_NONE); @@ -357,7 +374,7 @@ else ho_fsm_update_id(fi, "intraBSC"); - ho_count(BSC_CTR_HANDOVER_ATTEMPTED); + ho_count(bts, CTR_HANDOVER_ATTEMPTED); if (!ho->new_lchan) { ho_fail(HO_RESULT_FAIL_NO_CHANNEL, @@ -570,8 +587,6 @@ return; } - ho_count(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); - /* Figure out which cell to handover to. */ for (match_idx = 0; ; match_idx++) { struct gsm_bts *bts; @@ -612,12 +627,17 @@ break; } + ho_count_bsc(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); + /* ho_count_bts(bts, ) handles the bts == NULL case */ + ho_count_bts(ho->new_bts, BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED); + if (!ho->new_bts) { ho_fail(HO_RESULT_ERROR, "No local cell matches the target %s", req->cell_id_target_name); return; } + if (!ho->new_lchan) { ho_fail(HO_RESULT_ERROR, "No free/matching lchan found for %s %s (speech codec list len = %u)", req->cell_id_target_name, gsm0808_channel_type_name(&req->ct), req->scl.len); @@ -660,31 +680,31 @@ lchan_activate(ho->new_lchan, &info); } -#define FUNC_RESULT_COUNTER(name) \ -static int result_counter_##name(enum handover_result result) \ +#define FUNC_RESULT_COUNTER(obj, name) \ +static int result_counter_##obj##_##name(enum handover_result result) \ { \ switch (result) { \ case HO_RESULT_OK: \ - return BSC_CTR_##name##_COMPLETED; \ + return obj##_CTR_##name##_COMPLETED; \ case HO_RESULT_FAIL_NO_CHANNEL: \ - return BSC_CTR_##name##_NO_CHANNEL; \ + return obj##_CTR_##name##_NO_CHANNEL; \ case HO_RESULT_FAIL_RR_HO_FAIL: \ - return BSC_CTR_##name##_FAILED; \ + return obj##_CTR_##name##_FAILED; \ case HO_RESULT_FAIL_TIMEOUT: \ - return BSC_CTR_##name##_TIMEOUT; \ + return obj##_CTR_##name##_TIMEOUT; \ case HO_RESULT_CONN_RELEASE: \ - return BSC_CTR_##name##_STOPPED; \ + return obj##_CTR_##name##_STOPPED; \ default: \ case HO_RESULT_ERROR: \ - return BSC_CTR_##name##_ERROR; \ + return obj##_CTR_##name##_ERROR; \ } \ } -FUNC_RESULT_COUNTER(ASSIGNMENT) -FUNC_RESULT_COUNTER(HANDOVER) -FUNC_RESULT_COUNTER(INTER_BSC_HO_IN) +FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) +FUNC_RESULT_COUNTER(BSC, HANDOVER) +FUNC_RESULT_COUNTER(BSC, INTER_BSC_HO_IN) -static int result_counter_INTER_BSC_HO_OUT(enum handover_result result) { +static int result_counter_BSC_INTER_BSC_HO_OUT(enum handover_result result) { switch (result) { case HO_RESULT_OK: return BSC_CTR_INTER_BSC_HO_OUT_COMPLETED; @@ -698,22 +718,59 @@ } } -static int result_counter(enum handover_scope scope, enum handover_result result) +static int result_counter_bsc(enum handover_scope scope, enum handover_result result) { switch (scope) { case HO_INTRA_CELL: - return result_counter_ASSIGNMENT(result); + return result_counter_BSC_ASSIGNMENT(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); /* use "normal" HO_INTRA_BSC counter... */ case HO_NO_HANDOVER: case HO_INTRA_BSC: - return result_counter_HANDOVER(result); + return result_counter_BSC_HANDOVER(result); case HO_INTER_BSC_OUT: - return result_counter_INTER_BSC_HO_OUT(result); + return result_counter_BSC_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: - return result_counter_INTER_BSC_HO_IN(result); + return result_counter_BSC_INTER_BSC_HO_IN(result); + } +} + +FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) +FUNC_RESULT_COUNTER(BTS, HANDOVER) +FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN) + +static int result_counter_BTS_INTER_BSC_HO_OUT(enum handover_result result) { + switch (result) { + case HO_RESULT_OK: + return BTS_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_TIMEOUT: + return BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT; + case HO_RESULT_CONN_RELEASE: + return BTS_CTR_INTER_BSC_HO_OUT_STOPPED; + default: + case HO_RESULT_ERROR: + return BTS_CTR_INTER_BSC_HO_OUT_ERROR; + } +} + +static int result_counter_bts(enum handover_scope scope, enum handover_result result) +{ + switch (scope) { + case HO_INTRA_CELL: + return result_counter_BTS_ASSIGNMENT(result); + default: + LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", + handover_scope_name(scope)); + /* use "normal" HO_INTRA_BSC counter... */ + case HO_NO_HANDOVER: + case HO_INTRA_BSC: + return result_counter_BTS_HANDOVER(result); + case HO_INTER_BSC_OUT: + return result_counter_BTS_INTER_BSC_HO_OUT(result); + case HO_INTER_BSC_IN: + return result_counter_BTS_INTER_BSC_HO_IN(result); } } @@ -787,6 +844,7 @@ { struct handover_decision_callbacks *hdc; struct handover *ho = &conn->ho; + struct gsm_bts *bts = conn_get_bts(conn); /* Sanity -- an error result ensures beyond doubt that we don't use the new lchan below * when the handover isn't actually allowed to change this conn. */ @@ -858,7 +916,8 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); - ho_count(result_counter(ho->scope, result)); + ho_count_bsc(result_counter_bsc(ho->scope, result)); + ho_count_bts(bts, result_counter_bts(ho->scope, result)); LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); @@ -1143,10 +1202,11 @@ int rc; struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; + struct gsm_bts *bts = conn_get_bts(conn); ho->scope = HO_INTER_BSC_OUT; ho_fsm_update_id(fi, "interBSCout"); - ho_count(BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED); + ho_count(bts, CTR_INTER_BSC_HO_OUT_ATTEMPTED); rc = bsc_tx_bssmap_ho_required(conn->lchan, target_cells); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19733 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I808c4667ee22f238617294380f2f992e76598d32 Gerrit-Change-Number: 19733 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 Aug 20 15:05:47 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:05:47 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Count intra-cell and intra-bsc handover separately Currently the counters don't distinguish between intra-cell and intra-bsc handover. Add _CTR_INTRA_CELL_HO_ and _CTR_INTRA_BSC_HO_ counters to track intra-cell/bsc handover separately. Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 131 insertions(+), 66 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/19734/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index fb8139b..867979f 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -75,6 +75,20 @@ BTS_CTR_HANDOVER_TIMEOUT, BTS_CTR_HANDOVER_FAILED, BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTRA_CELL_HO_ATTEMPTED, + BTS_CTR_INTRA_CELL_HO_COMPLETED, + BTS_CTR_INTRA_CELL_HO_STOPPED, + BTS_CTR_INTRA_CELL_HO_NO_CHANNEL, + BTS_CTR_INTRA_CELL_HO_TIMEOUT, + BTS_CTR_INTRA_CELL_HO_FAILED, + BTS_CTR_INTRA_CELL_HO_ERROR, + BTS_CTR_INTRA_BSC_HO_ATTEMPTED, + BTS_CTR_INTRA_BSC_HO_COMPLETED, + BTS_CTR_INTRA_BSC_HO_STOPPED, + BTS_CTR_INTRA_BSC_HO_NO_CHANNEL, + BTS_CTR_INTRA_BSC_HO_TIMEOUT, + BTS_CTR_INTRA_BSC_HO_FAILED, + BTS_CTR_INTRA_BSC_HO_ERROR, BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, BTS_CTR_INTER_BSC_HO_OUT_STOPPED, @@ -155,6 +169,22 @@ [BTS_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, [BTS_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts."}, + [BTS_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed."}, + [BTS_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO."}, + [BTS_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO."}, + [BTS_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out."}, + [BTS_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages."}, + [BTS_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason."}, + + [BTS_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts."}, + [BTS_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed."}, + [BTS_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO."}, + [BTS_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO."}, + [BTS_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out."}, + [BTS_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages."}, + [BTS_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason."}, + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", "Attempts to handover to remote BSS."}, [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", @@ -213,6 +243,62 @@ BTS_STAT_TS_BORKEN, }; +static const struct osmo_stat_item_desc bts_stat_desc[] = { + [BTS_STAT_CHAN_LOAD_AVERAGE] = { "chanloadavg", "Channel load average", "%", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = { "chan_ccch_sdcch4:used", + "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = { "chan_ccch_sdcch4:total", + "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_USED] = { "chan_tch_f:used", + "Number of TCH/F channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_TOTAL] = { "chan_tch_f:total", + "Number of TCH/F channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_H_USED] = { "chan_tch_h:used", + "Number of TCH/H channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_H_TOTAL] = { "chan_tch_h:total", + "Number of TCH/H channels total", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_USED] = { "chan_sdcch8:used", + "Number of SDCCH8 channels used", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_TOTAL] = { "chan_sdcch8:total", + "Number of SDCCH8 channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_USED] = { "chan_tch_f_pdch:used", + "Number of TCH/F_PDCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = { "chan_tch_f_pdch:total", + "Number of TCH/F_PDCH channels total", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = { "chan_ccch_sdcch4_cbch:used", + "Number of CCCH+SDCCH4+CBCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = { "chan_ccch_sdcch4_cbch:total", + "Number of CCCH+SDCCH4+CBCH channels total", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = { "chan_sdcch8_cbch:used", + "Number of SDCCH8+CBCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = { "chan_sdcch8_cbch:total", + "Number of SDCCH8+CBCH channels total", "", 16, 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 }, + [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 }, + [BTS_STAT_T3122] = { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", + "s", 16, GSM_T3122_DEFAULT }, + [BTS_STAT_RACH_BUSY] = { "rach_busy", + "RACH slots with signal above threshold", "%", 16, 0 }, + [BTS_STAT_RACH_ACCESS] = { "rach_access", + "RACH slots with access bursts in them", "%", 16, 0 }, + [BTS_STAT_OML_CONNECTED] = { "oml_connected", "Number of OML links connected", "", 16, 0 }, + [BTS_STAT_RSL_CONNECTED] = { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, + [BTS_STAT_LCHAN_BORKEN] = { "lchan_borken", + "Number of lchans in the BORKEN state", "", 16, 0 }, + [BTS_STAT_TS_BORKEN] = { "ts_borken", + "Number of timeslots in the BORKEN state", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc bts_statg_desc = { + .group_name_prefix = "bts", + .group_description = "base transceiver station", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bts_stat_desc), + .item_desc = bts_stat_desc, +}; + enum gsm_bts_type { GSM_BTS_TYPE_UNKNOWN, GSM_BTS_TYPE_BS11, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index cfed1f8..60db07b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -969,6 +969,20 @@ BSC_CTR_HANDOVER_TIMEOUT, BSC_CTR_HANDOVER_FAILED, BSC_CTR_HANDOVER_ERROR, + BSC_CTR_INTRA_CELL_HO_ATTEMPTED, + BSC_CTR_INTRA_CELL_HO_COMPLETED, + BSC_CTR_INTRA_CELL_HO_STOPPED, + BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, + BSC_CTR_INTRA_CELL_HO_TIMEOUT, + BSC_CTR_INTRA_CELL_HO_FAILED, + BSC_CTR_INTRA_CELL_HO_ERROR, + BSC_CTR_INTRA_BSC_HO_ATTEMPTED, + BSC_CTR_INTRA_BSC_HO_COMPLETED, + BSC_CTR_INTRA_BSC_HO_STOPPED, + BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, + BSC_CTR_INTRA_BSC_HO_TIMEOUT, + BSC_CTR_INTRA_BSC_HO_FAILED, + BSC_CTR_INTRA_BSC_HO_ERROR, BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, BSC_CTR_INTER_BSC_HO_OUT_STOPPED, @@ -1000,14 +1014,30 @@ [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message."}, [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason."}, - [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, - [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed."}, + [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Handover attempts."}, + [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Handover completed."}, [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO."}, [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO."}, [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out."}, [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts."}, + [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed."}, + [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO."}, + [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO."}, + [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out."}, + [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages."}, + [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason."}, + + [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts."}, + [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed."}, + [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO."}, + [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO."}, + [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out."}, + [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages."}, + [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason."}, + [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", "Attempts to handover to remote BSS."}, [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 4318b7e..a17143d 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -120,62 +120,6 @@ return 0; } -static const struct osmo_stat_item_desc bts_stat_desc[] = { - [BTS_STAT_CHAN_LOAD_AVERAGE] = { "chanloadavg", "Channel load average", "%", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = { "chan_ccch_sdcch4:used", - "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = { "chan_ccch_sdcch4:total", - "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_USED] = { "chan_tch_f:used", - "Number of TCH/F channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_TOTAL] = { "chan_tch_f:total", - "Number of TCH/F channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_H_USED] = { "chan_tch_h:used", - "Number of TCH/H channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_H_TOTAL] = { "chan_tch_h:total", - "Number of TCH/H channels total", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_USED] = { "chan_sdcch8:used", - "Number of SDCCH8 channels used", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_TOTAL] = { "chan_sdcch8:total", - "Number of SDCCH8 channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_USED] = { "chan_tch_f_pdch:used", - "Number of TCH/F_PDCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = { "chan_tch_f_pdch:total", - "Number of TCH/F_PDCH channels total", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = { "chan_ccch_sdcch4_cbch:used", - "Number of CCCH+SDCCH4+CBCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = { "chan_ccch_sdcch4_cbch:total", - "Number of CCCH+SDCCH4+CBCH channels total", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = { "chan_sdcch8_cbch:used", - "Number of SDCCH8+CBCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = { "chan_sdcch8_cbch:total", - "Number of SDCCH8+CBCH channels total", "", 16, 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 }, - [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 }, - [BTS_STAT_T3122] = { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", - "s", 16, GSM_T3122_DEFAULT }, - [BTS_STAT_RACH_BUSY] = { "rach_busy", - "RACH slots with signal above threshold", "%", 16, 0 }, - [BTS_STAT_RACH_ACCESS] = { "rach_access", - "RACH slots with access bursts in them", "%", 16, 0 }, - [BTS_STAT_OML_CONNECTED] = { "oml_connected", "Number of OML links connected", "", 16, 0 }, - [BTS_STAT_RSL_CONNECTED] = { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, - [BTS_STAT_LCHAN_BORKEN] = { "lchan_borken", - "Number of lchans in the BORKEN state", "", 16, 0 }, - [BTS_STAT_TS_BORKEN] = { "ts_borken", - "Number of timeslots in the BORKEN state", "", 16, 0 }, -}; - -static const struct osmo_stat_item_group_desc bts_statg_desc = { - .group_name_prefix = "bts", - .group_description = "base transceiver station", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(bts_stat_desc), - .item_desc = bts_stat_desc, -}; - static const uint8_t bts_nse_timer_default[] = { 3, 3, 3, 3, 30, 3, 10 }; static const uint8_t bts_cell_timer_default[] = { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 512e40b..edf91e7 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -369,12 +369,13 @@ ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type); - if (ho->scope & HO_INTRA_CELL) + if (ho->scope & HO_INTRA_CELL) { + ho_count(bts, CTR_INTRA_CELL_HO_ATTEMPTED); ho_fsm_update_id(fi, "intraCell"); - else + } else { + ho_count(bts, CTR_INTRA_BSC_HO_ATTEMPTED); ho_fsm_update_id(fi, "intraBSC"); - - ho_count(bts, CTR_HANDOVER_ATTEMPTED); + } if (!ho->new_lchan) { ho_fail(HO_RESULT_FAIL_NO_CHANNEL, @@ -702,6 +703,8 @@ FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) FUNC_RESULT_COUNTER(BSC, HANDOVER) +FUNC_RESULT_COUNTER(BSC, INTRA_CELL_HO) +FUNC_RESULT_COUNTER(BSC, INTRA_BSC_HO) FUNC_RESULT_COUNTER(BSC, INTER_BSC_HO_IN) static int result_counter_BSC_INTER_BSC_HO_OUT(enum handover_result result) { @@ -722,14 +725,14 @@ { switch (scope) { case HO_INTRA_CELL: - return result_counter_BSC_ASSIGNMENT(result); + return result_counter_BSC_INTRA_CELL_HO(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); /* use "normal" HO_INTRA_BSC counter... */ case HO_NO_HANDOVER: case HO_INTRA_BSC: - return result_counter_BSC_HANDOVER(result); + return result_counter_BSC_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: return result_counter_BSC_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: @@ -739,6 +742,8 @@ FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) FUNC_RESULT_COUNTER(BTS, HANDOVER) +FUNC_RESULT_COUNTER(BTS, INTRA_CELL_HO) +FUNC_RESULT_COUNTER(BTS, INTRA_BSC_HO) FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN) static int result_counter_BTS_INTER_BSC_HO_OUT(enum handover_result result) { @@ -759,14 +764,14 @@ { switch (scope) { case HO_INTRA_CELL: - return result_counter_BTS_ASSIGNMENT(result); + return result_counter_BTS_INTRA_CELL_HO(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); /* use "normal" HO_INTRA_BSC counter... */ case HO_NO_HANDOVER: case HO_INTRA_BSC: - return result_counter_BTS_HANDOVER(result); + return result_counter_BTS_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: return result_counter_BTS_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 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 Aug 20 15:05:47 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:05:47 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19735 ) Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Add bts counters to count BTS events where we don't have a bts In some (error-) cases we might be unable to determine which BTS to use when counting handover events. We don't want to loose these events because then ctr(bsc) == sum(ctr(bsc->bts)) would not be true anymore. Those events are now counted by a counter in struct gsm_network which uses an index that is out of range for regular BTS (65536). Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Related: SYS#4877 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 4 files changed, 45 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/19735/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 60db07b..33b2ec1 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1089,6 +1089,11 @@ BSC_STAT_NUM_BTS_TOTAL, }; +/* BTS counter index if a BTS could not be found + * Currently we are limited to bts 0 - 255 in the VTY, but that might change in + * the future so use 2**16 */ +#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) + struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ @@ -1123,6 +1128,11 @@ struct llist_head bts_list; struct llist_head bts_rejected; + /* BTS-based counters when we can't find the actual BTS + * e.g. when conn->lchan is NULL */ + struct rate_ctr_group *bts_unknown_ctrs; + struct osmo_stat_item_group *bts_unknown_statg; + /* see gsm_network_T_defs */ struct osmo_tdef *T_defs; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index e45b5e8..22eba50 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -90,8 +90,7 @@ net->cbc = talloc_zero(net, struct bsc_cbc_link); if (!net->cbc) { - talloc_free(net); - return NULL; + goto err_out; } /* Init back pointer */ @@ -104,16 +103,19 @@ /* init statistics */ net->bsc_ctrs = rate_ctr_group_alloc(net, &bsc_ctrg_desc, 0); - if (!net->bsc_ctrs) { - talloc_free(net); - return NULL; - } + if (!net->bsc_ctrs) + goto err_out; net->bsc_statg = osmo_stat_item_group_alloc(net, &bsc_statg_desc, 0); - if (!net->bsc_statg) { - rate_ctr_group_free(net->bsc_ctrs); - talloc_free(net); - return NULL; - } + if (!net->bsc_statg) + goto err_free_bsc_ctr; + + /* init statistics */ + net->bts_unknown_ctrs = rate_ctr_group_alloc(net, &bts_ctrg_desc, BTS_STAT_IDX_UNKNOWN); + if (!net->bts_unknown_ctrs) + goto err_free_bsc_ctr_stat; + net->bts_unknown_statg = osmo_stat_item_group_alloc(net, &bts_statg_desc, BTS_STAT_IDX_UNKNOWN); + if (!net->bts_unknown_statg) + goto err_free_all; INIT_LLIST_HEAD(&net->bts_rejected); gsm_net_update_ctype(net); @@ -134,6 +136,16 @@ net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); return net; + +err_free_all: + rate_ctr_group_free(net->bts_unknown_ctrs); +err_free_bsc_ctr_stat: + osmo_stat_item_group_free(net->bsc_statg); +err_free_bsc_ctr: + rate_ctr_group_free(net->bsc_ctrs); +err_out: + talloc_free(net); + return NULL; } int bsc_network_alloc(void) diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 04718da..22aa70a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -386,6 +386,8 @@ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); if (bts) rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); + else + rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index edf91e7..3e1ee9a 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -96,6 +96,8 @@ bts_ctr_description[counter].description); \ if (bts) \ rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + else \ + rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ } while(0) #define ho_count(bts, counter) do { \ @@ -701,7 +703,6 @@ } \ } -FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) FUNC_RESULT_COUNTER(BSC, HANDOVER) FUNC_RESULT_COUNTER(BSC, INTRA_CELL_HO) FUNC_RESULT_COUNTER(BSC, INTRA_BSC_HO) @@ -724,13 +725,14 @@ static int result_counter_bsc(enum handover_scope scope, enum handover_result result) { switch (scope) { - case HO_INTRA_CELL: - return result_counter_BSC_INTRA_CELL_HO(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); - /* use "normal" HO_INTRA_BSC counter... */ + /* use "normal" HO counter... */ case HO_NO_HANDOVER: + return result_counter_BSC_HANDOVER(result); + case HO_INTRA_CELL: + return result_counter_BSC_INTRA_CELL_HO(result); case HO_INTRA_BSC: return result_counter_BSC_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: @@ -740,7 +742,6 @@ } } -FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) FUNC_RESULT_COUNTER(BTS, HANDOVER) FUNC_RESULT_COUNTER(BTS, INTRA_CELL_HO) FUNC_RESULT_COUNTER(BTS, INTRA_BSC_HO) @@ -763,13 +764,14 @@ static int result_counter_bts(enum handover_scope scope, enum handover_result result) { switch (scope) { - case HO_INTRA_CELL: - return result_counter_BTS_INTRA_CELL_HO(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); - /* use "normal" HO_INTRA_BSC counter... */ + /* use "normal" HO counter... */ case HO_NO_HANDOVER: + return result_counter_BTS_HANDOVER(result); + case HO_INTRA_CELL: + return result_counter_BTS_INTRA_CELL_HO(result); case HO_INTRA_BSC: return result_counter_BTS_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 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 Aug 20 15:34:11 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:34:11 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: daniel has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19733 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19733 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I808c4667ee22f238617294380f2f992e76598d32 Gerrit-Change-Number: 19733 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 15:35:49 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:35:49 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately 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/+/19734 to look at the new patch set (#2). Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Count intra-cell and intra-bsc handover separately Currently the counters don't distinguish between intra-cell and intra-bsc handover. Add _CTR_INTRA_CELL_HO_ and _CTR_INTRA_BSC_HO_ counters to track intra-cell/bsc handover separately. Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 131 insertions(+), 66 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/19734/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 2 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 Thu Aug 20 15:35:49 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:35:49 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts 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/+/19735 to look at the new patch set (#2). Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Add bts counters to count BTS events where we don't have a bts In some (error-) cases we might be unable to determine which BTS to use when counting handover events. We don't want to loose these events because then ctr(bsc) == sum(ctr(bsc->bts)) would not be true anymore. Those events are now counted by a counter in struct gsm_network which uses an index that is out of range for regular BTS (65536). Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Related: SYS#4877 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 4 files changed, 45 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/19735/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 Gerrit-PatchSet: 2 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 Thu Aug 20 15:35:50 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 15:35:50 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Count handover per BTS as well as per BSC Our current handover counters only count success/failures per BSC. It would be nice to also count which BTS is part of a (successful/failed) handover. This patch duplicates the BSC counters for the BTS and changes the ho_count and related macros to also count per BTS. If a BTS is NULL (when conn->lchan is NULL) counting for the BTS is ignored. Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 3 files changed, 137 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/19736/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 16053a3..fb8139b 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -68,6 +68,26 @@ BTS_CTR_ASSIGNMENT_TIMEOUT, BTS_CTR_ASSIGNMENT_FAILED, BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_HANDOVER_ATTEMPTED, + BTS_CTR_HANDOVER_COMPLETED, + BTS_CTR_HANDOVER_STOPPED, + BTS_CTR_HANDOVER_NO_CHANNEL, + BTS_CTR_HANDOVER_TIMEOUT, + BTS_CTR_HANDOVER_FAILED, + BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, + BTS_CTR_INTER_BSC_HO_OUT_STOPPED, + BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_ERROR, + BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_IN_COMPLETED, + BTS_CTR_INTER_BSC_HO_IN_STOPPED, + BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BTS_CTR_INTER_BSC_HO_IN_FAILED, + BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, + BTS_CTR_INTER_BSC_HO_IN_ERROR, + }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -127,6 +147,35 @@ [BTS_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, [BTS_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, + [BTS_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, + [BTS_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed."}, + [BTS_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO."}, + [BTS_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO."}, + [BTS_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out."}, + [BTS_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, + [BTS_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", + "Attempts to handover to remote BSS."}, + [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", + "Handover to remote BSS completed."}, + [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO."}, + [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out."}, + [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", + "Handover to remote BSS failed for other reason."}, + + [BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", + "Attempts to handover from remote BSS."}, + [BTS_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", + "Handover from remote BSS completed."}, + [BTS_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO."}, + [BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO."}, + [BTS_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out."}, + [BTS_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message."}, + [BTS_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", + "Handover from remote BSS failed for other reason."}, + }; static const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index bd0b534..04718da 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -382,7 +382,11 @@ return; case GSCON_EV_HANDOVER_START: + bts = conn_get_bts(conn); rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); + if (bts) + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); + /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) LOGPFSML(fi, LOGL_ERROR, "Cannot transition to HANDOVER state, discarding\n"); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8ed5945..512e40b 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -80,13 +80,29 @@ /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * This is a macro to preserve the source file and line number in logging. */ -#define ho_count(counter) do { \ - LOG_HO(conn, LOGL_DEBUG, "incrementing rate counter: %s %s\n", \ +#define ho_count_bsc(counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ } while(0) +/* Assume presence of local var 'conn' as struct gsm_subscriber_connection. + * Assume conn_get_bts() is not NULL + * This is a macro to preserve the source file and line number in logging. */ +#define ho_count_bts(bts, counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ + bts_ctr_description[counter].name, \ + bts_ctr_description[counter].description); \ + if (bts) \ + rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + } while(0) + +#define ho_count(bts, counter) do { \ + ho_count_bsc(BSC_##counter); \ + ho_count_bts(bts, BTS_##counter); \ +} while(0) + static uint8_t g_next_ho_ref = 1; const char *handover_status(struct gsm_subscriber_connection *conn) @@ -341,6 +357,7 @@ struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; struct lchan_activate_info info; + struct gsm_bts *bts = conn_get_bts(conn); OSMO_ASSERT(ho->new_bts); OSMO_ASSERT(ho->new_lchan_type != GSM_LCHAN_NONE); @@ -357,7 +374,7 @@ else ho_fsm_update_id(fi, "intraBSC"); - ho_count(BSC_CTR_HANDOVER_ATTEMPTED); + ho_count(bts, CTR_HANDOVER_ATTEMPTED); if (!ho->new_lchan) { ho_fail(HO_RESULT_FAIL_NO_CHANNEL, @@ -570,8 +587,6 @@ return; } - ho_count(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); - /* Figure out which cell to handover to. */ for (match_idx = 0; ; match_idx++) { struct gsm_bts *bts; @@ -612,12 +627,17 @@ break; } + ho_count_bsc(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); + /* ho_count_bts(bts, ) handles the bts == NULL case */ + ho_count_bts(ho->new_bts, BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED); + if (!ho->new_bts) { ho_fail(HO_RESULT_ERROR, "No local cell matches the target %s", req->cell_id_target_name); return; } + if (!ho->new_lchan) { ho_fail(HO_RESULT_ERROR, "No free/matching lchan found for %s %s (speech codec list len = %u)", req->cell_id_target_name, gsm0808_channel_type_name(&req->ct), req->scl.len); @@ -660,31 +680,31 @@ lchan_activate(ho->new_lchan, &info); } -#define FUNC_RESULT_COUNTER(name) \ -static int result_counter_##name(enum handover_result result) \ +#define FUNC_RESULT_COUNTER(obj, name) \ +static int result_counter_##obj##_##name(enum handover_result result) \ { \ switch (result) { \ case HO_RESULT_OK: \ - return BSC_CTR_##name##_COMPLETED; \ + return obj##_CTR_##name##_COMPLETED; \ case HO_RESULT_FAIL_NO_CHANNEL: \ - return BSC_CTR_##name##_NO_CHANNEL; \ + return obj##_CTR_##name##_NO_CHANNEL; \ case HO_RESULT_FAIL_RR_HO_FAIL: \ - return BSC_CTR_##name##_FAILED; \ + return obj##_CTR_##name##_FAILED; \ case HO_RESULT_FAIL_TIMEOUT: \ - return BSC_CTR_##name##_TIMEOUT; \ + return obj##_CTR_##name##_TIMEOUT; \ case HO_RESULT_CONN_RELEASE: \ - return BSC_CTR_##name##_STOPPED; \ + return obj##_CTR_##name##_STOPPED; \ default: \ case HO_RESULT_ERROR: \ - return BSC_CTR_##name##_ERROR; \ + return obj##_CTR_##name##_ERROR; \ } \ } -FUNC_RESULT_COUNTER(ASSIGNMENT) -FUNC_RESULT_COUNTER(HANDOVER) -FUNC_RESULT_COUNTER(INTER_BSC_HO_IN) +FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) +FUNC_RESULT_COUNTER(BSC, HANDOVER) +FUNC_RESULT_COUNTER(BSC, INTER_BSC_HO_IN) -static int result_counter_INTER_BSC_HO_OUT(enum handover_result result) { +static int result_counter_BSC_INTER_BSC_HO_OUT(enum handover_result result) { switch (result) { case HO_RESULT_OK: return BSC_CTR_INTER_BSC_HO_OUT_COMPLETED; @@ -698,22 +718,59 @@ } } -static int result_counter(enum handover_scope scope, enum handover_result result) +static int result_counter_bsc(enum handover_scope scope, enum handover_result result) { switch (scope) { case HO_INTRA_CELL: - return result_counter_ASSIGNMENT(result); + return result_counter_BSC_ASSIGNMENT(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); /* use "normal" HO_INTRA_BSC counter... */ case HO_NO_HANDOVER: case HO_INTRA_BSC: - return result_counter_HANDOVER(result); + return result_counter_BSC_HANDOVER(result); case HO_INTER_BSC_OUT: - return result_counter_INTER_BSC_HO_OUT(result); + return result_counter_BSC_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: - return result_counter_INTER_BSC_HO_IN(result); + return result_counter_BSC_INTER_BSC_HO_IN(result); + } +} + +FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) +FUNC_RESULT_COUNTER(BTS, HANDOVER) +FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN) + +static int result_counter_BTS_INTER_BSC_HO_OUT(enum handover_result result) { + switch (result) { + case HO_RESULT_OK: + return BTS_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_TIMEOUT: + return BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT; + case HO_RESULT_CONN_RELEASE: + return BTS_CTR_INTER_BSC_HO_OUT_STOPPED; + default: + case HO_RESULT_ERROR: + return BTS_CTR_INTER_BSC_HO_OUT_ERROR; + } +} + +static int result_counter_bts(enum handover_scope scope, enum handover_result result) +{ + switch (scope) { + case HO_INTRA_CELL: + return result_counter_BTS_ASSIGNMENT(result); + default: + LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", + handover_scope_name(scope)); + /* use "normal" HO_INTRA_BSC counter... */ + case HO_NO_HANDOVER: + case HO_INTRA_BSC: + return result_counter_BTS_HANDOVER(result); + case HO_INTER_BSC_OUT: + return result_counter_BTS_INTER_BSC_HO_OUT(result); + case HO_INTER_BSC_IN: + return result_counter_BTS_INTER_BSC_HO_IN(result); } } @@ -787,6 +844,7 @@ { struct handover_decision_callbacks *hdc; struct handover *ho = &conn->ho; + struct gsm_bts *bts = conn_get_bts(conn); /* Sanity -- an error result ensures beyond doubt that we don't use the new lchan below * when the handover isn't actually allowed to change this conn. */ @@ -858,7 +916,8 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); - ho_count(result_counter(ho->scope, result)); + ho_count_bsc(result_counter_bsc(ho->scope, result)); + ho_count_bts(bts, result_counter_bts(ho->scope, result)); LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); @@ -1143,10 +1202,11 @@ int rc; struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; + struct gsm_bts *bts = conn_get_bts(conn); ho->scope = HO_INTER_BSC_OUT; ho_fsm_update_id(fi, "interBSCout"); - ho_count(BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED); + ho_count(bts, CTR_INTER_BSC_HO_OUT_ATTEMPTED); rc = bsc_tx_bssmap_ho_required(conn->lchan, target_cells); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 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 Aug 20 15:40:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 15:40:38 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h at 90 PS1, Line 90: Drop empty line https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h at 150 PS1, Line 150: [BTS_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, Drop dots at the end of description. https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c File src/osmo-bsc/handover_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 91 PS1, Line 91: * Assume conn_get_bts() is not NULL No conn_get_bts used here... https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 93 PS1, Line 93: #define ho_count_bts(bts, counter) do { \ so if bts=NULL you log you increment the rate_ctr but you don't do it... https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 630 PS1, Line 630: ho_count_bsc(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); You can use ho_count() here for both. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 15:40:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 15:42:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 15:42:17 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19734/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19734/2/include/osmocom/bsc/bts.h at 172 PS2, Line 172: [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts."}, Dots at the end. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 15:42: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 Thu Aug 20 15:44:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 15:44:09 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19735 ) Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 15: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 Thu Aug 20 16:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:28:56 +0000 Subject: Change in libosmocore[master]: socket: Log proper getaddrinfo() error References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19737 ) Change subject: socket: Log proper getaddrinfo() error ...................................................................... socket: Log proper getaddrinfo() error Drop one of the two log lines since it would be a duplicated and anyway it misses context (return code). Change-Id: I4620bf86f4bcda58ae85209278ac9ae9a0f3012a --- M src/socket.c M tests/socket/socket_test.err 2 files changed, 5 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/37/19737/1 diff --git a/src/socket.c b/src/socket.c index 4d6f389..03c932c 100644 --- a/src/socket.c +++ b/src/socket.c @@ -85,8 +85,8 @@ rc = getaddrinfo(host, portbuf, &hints, &result); if (rc != 0) { - LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo returned NULL: %s:%u: %s\n", - host, port, strerror(errno)); + LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo(%s, %u) failed: %s\n", + host, port, gai_strerror(rc)); return NULL; } @@ -695,11 +695,8 @@ } result = addrinfo_helper(family, type, proto, host, port, flags & OSMO_SOCK_F_BIND); - if (!result) { - LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo returned NULL: %s:%u: %s\n", - host, port, strerror(errno)); + if (!result) return -EINVAL; - } for (rp = result; rp != NULL; rp = rp->ai_next) { sfd = socket_helper(rp, flags); diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 3c5dac5..e3d3903 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -8,5 +8,5 @@ invalid: you have to specify either BIND or CONNECT flags Invalid v4 vs v6 in local vs remote addresses Invalid v4 vs v6 in local vs remote addresses -getaddrinfo returned NULL: ::1:0: Transport endpoint is not connected -getaddrinfo returned NULL: 127.0.0.1:0: Transport endpoint is not connected +getaddrinfo(::1, 0) failed: Address family for hostname not supported +getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4620bf86f4bcda58ae85209278ac9ae9a0f3012a Gerrit-Change-Number: 19737 Gerrit-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 Aug 20 16:44:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 16:44:26 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 20 Aug 2020 16:44: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 Aug 20 16:46:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 16:46:14 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 20 Aug 2020 16:46: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 Aug 20 16:46:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:46:26 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19738 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local DNS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/19738/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 57a4da5..4fdb55a 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -44,7 +44,8 @@ #define RESET_INTERVAL 1 /* sek */ #define SCCP_MSG_MAXSIZE 1024 #define CS7_POINTCODE_DEFAULT_OFFSET 2 -#define DEFAULT_ASP_REMOTE_IP "127.0.0.1" +#define DEFAULT_ASP_LOCAL_IP "localhost" +#define DEFAULT_ASP_REMOTE_IP "localhost" /* The SCCP stack will not assign connection IDs to us automatically, we * will do this ourselves using a counter variable, that counts one up @@ -569,7 +570,9 @@ /* SS7 Protocol stack */ default_pc = osmo_ss7_pointcode_parse(NULL, BSC_DEFAULT_PC); - sccp = osmo_sccp_simple_client_on_ss7_id(tall_bsc_ctx, inst->cfg.id, inst_name, default_pc, used_proto, 0, NULL, + sccp = osmo_sccp_simple_client_on_ss7_id(tall_bsc_ctx, inst->cfg.id, inst_name, + default_pc, used_proto, + 0, DEFAULT_ASP_LOCAL_IP, 0, DEFAULT_ASP_REMOTE_IP); if (!sccp) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-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 Aug 20 16:46:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:46:51 +0000 Subject: Change in osmo-msc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19739 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local DNS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 --- M src/osmo-msc/msc_main.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/39/19739/1 diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 98d29c3..4cda395 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -329,7 +329,8 @@ .is_config_node = msc_vty_is_config_node, }; -#define DEFAULT_M3UA_REMOTE_IP "127.0.0.1" +#define DEFAULT_M3UA_LOCAL_IP "localhost" +#define DEFAULT_M3UA_REMOTE_IP "localhost" #define DEFAULT_PC "0.23.1" static struct osmo_sccp_instance *sccp_setup(void *ctx, uint32_t cs7_instance, @@ -341,7 +342,7 @@ return osmo_sccp_simple_client_on_ss7_id(ctx, cs7_instance, label, default_pc, OSMO_SS7_ASP_PROT_M3UA, - 0, NULL, /* local: use arbitrary port and 0.0.0.0. */ + 0, DEFAULT_M3UA_LOCAL_IP, /* local: use arbitrary port and 0.0.0.0. */ 0, /* remote: use protocol default port */ DEFAULT_M3UA_REMOTE_IP); /* Note: If a differing remote IP is to be used, it was already entered in the vty config at -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 Gerrit-Change-Number: 19739 Gerrit-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 Aug 20 16:46:58 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 16:46:58 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 to look at the new patch set (#2). Change subject: Count handover per BTS as well as per BSC ...................................................................... Count handover per BTS as well as per BSC Our current handover counters only count success/failures per BSC. It would be nice to also count which BTS is part of a (successful/failed) handover. This patch duplicates the BSC counters for the BTS and changes the ho_count and related macros to also count per BTS. If a BTS is NULL (when conn->lchan is NULL) counting for the BTS is ignored. Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 3 files changed, 132 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/19736/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 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 Thu Aug 20 16:46:58 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 16:46:58 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately 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/+/19734 to look at the new patch set (#3). Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Count intra-cell and intra-bsc handover separately Currently the counters don't distinguish between intra-cell and intra-bsc handover. Add _CTR_INTRA_CELL_HO_ and _CTR_INTRA_BSC_HO_ counters to track intra-cell/bsc handover separately. Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 135 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/19734/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 16:46:58 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 16:46:58 +0000 Subject: Change in osmo-bsc[master]: Remove punctuation in counter description References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19740 ) Change subject: Remove punctuation in counter description ...................................................................... Remove punctuation in counter description Change-Id: I304dcc9e88afc5e607d5b010df3e95f40fb8c49b --- M include/osmocom/bsc/gsm_data.h 1 file changed, 34 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/40/19740/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index cfed1f8..9fdefc4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -992,56 +992,56 @@ }; static const struct rate_ctr_desc bsc_ctr_description[] = { - [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts."}, - [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed."}, - [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment."}, - [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment."}, - [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out."}, - [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message."}, - [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason."}, + [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, + [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, + [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, + [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, + [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, + [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, + [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, - [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, - [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed."}, - [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO."}, - [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO."}, - [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out."}, - [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, - [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, + [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, + [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, + [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, + [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", - "Attempts to handover to remote BSS."}, + "Attempts to handover to remote BSS"}, [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", - "Handover to remote BSS completed."}, - [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO."}, - [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out."}, + "Handover to remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", - "Handover to remote BSS failed for other reason."}, + "Handover to remote BSS failed for other reason"}, [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", - "Attempts to handover from remote BSS."}, + "Attempts to handover from remote BSS"}, [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", - "Handover from remote BSS completed."}, - [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO."}, + "Handover from remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", - "Failure to allocate lchan for HO."}, - [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out."}, - [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message."}, + "Failure to allocate lchan for HO"}, + [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, + [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", - "Handover from remote BSS failed for other reason."}, + "Handover from remote BSS failed for other reason"}, - [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."}, - [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found."}, - [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response."}, - [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, + [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, + [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, + [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, - [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID."}, + [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", - "Complete Layer 3 requests lost because no connected MSC is found available."}, + "Complete Layer 3 requests lost because no connected MSC is found available"}, [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", - "Emergency call requests forwarded to an MSC (see also per-MSC counters)"}, + "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", - "Emergency call requests lost because no MSC was found available."}, + "Emergency call requests lost because no MSC was found available"}, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304dcc9e88afc5e607d5b010df3e95f40fb8c49b Gerrit-Change-Number: 19740 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 Aug 20 16:47:14 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 16:47:14 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h at 90 PS1, Line 90: > Drop empty line Ack https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/include/osmocom/bsc/bts.h at 150 PS1, Line 150: [BTS_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, > I copied it from the bsc_ctr_desc where almost all counter descriptions end with one. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c File src/osmo-bsc/handover_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 91 PS1, Line 91: * Assume conn_get_bts() is not NULL > No conn_get_bts used here... Ack https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 93 PS1, Line 93: #define ho_count_bts(bts, counter) do { \ > so if bts=NULL you log you increment the rate_ctr but you don't do it... Yeah, well it will be changed two commits later anyway when we count towards the unknown bts counter. I'd leave it here as is. https://gerrit.osmocom.org/c/osmo-bsc/+/19736/1/src/osmo-bsc/handover_fsm.c at 630 PS1, Line 630: ho_count_bsc(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); > You can use ho_count() here for both. You're right. Leftover from an earlier version -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 16:47:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 16:47:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:47:16 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local DNS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 --- M src/sgsn/sgsn_main.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/41/19741/1 diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 257c3a2..3044f95 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -532,8 +532,8 @@ "OsmoSGSN", (23 << 3) + 4, OSMO_SS7_ASP_PROT_M3UA, - 0, NULL, - 0, "127.0.0.1"); + 0, "localhost", + 0, "localhost"); if (!sccp) { printf("Setting up SCCP client failed.\n"); return 8; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-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 Aug 20 16:47:21 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 16:47:21 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19734/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19734/2/include/osmocom/bsc/bts.h at 172 PS2, Line 172: [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts."}, > Dots at the end. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 16:47:21 +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 Aug 20 16:48:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 16:48:15 +0000 Subject: Change in libosmocore[master]: socket: Log proper getaddrinfo() error In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19737 ) Change subject: socket: Log proper getaddrinfo() error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4620bf86f4bcda58ae85209278ac9ae9a0f3012a Gerrit-Change-Number: 19737 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 20 Aug 2020 16:48: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 Aug 20 16:48:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:48:27 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local DNS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/42/19742/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index a47decd..9e0b33b 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -598,7 +598,7 @@ ranap_set_log_area(DRANAP); - rc = hnbgw_cnlink_init(g_hnb_gw, "127.0.0.1", M3UA_PORT, NULL); + rc = hnbgw_cnlink_init(g_hnb_gw, "localhost", M3UA_PORT, "localhost"); if (rc < 0) { LOGP(DMAIN, LOGL_ERROR, "Failed to initialize SCCP link to CN\n"); exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 Gerrit-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 Aug 20 16:49:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:49:03 +0000 Subject: Change in osmo-bsc[master]: Remove punctuation in counter description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19740 ) Change subject: Remove punctuation in counter description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304dcc9e88afc5e607d5b010df3e95f40fb8c49b Gerrit-Change-Number: 19740 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 16:49: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 Aug 20 16:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:49:47 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 16:49: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 Aug 20 16:50:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 16:50:14 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 16:50:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 17:17:39 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Aug 2020 17:17:39 +0000 Subject: Change in osmo-bsc[master]: Remove punctuation in counter description In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19740 ) Change subject: Remove punctuation in counter description ...................................................................... Remove punctuation in counter description Change-Id: I304dcc9e88afc5e607d5b010df3e95f40fb8c49b --- M include/osmocom/bsc/gsm_data.h 1 file changed, 34 insertions(+), 34 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index cfed1f8..9fdefc4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -992,56 +992,56 @@ }; static const struct rate_ctr_desc bsc_ctr_description[] = { - [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts."}, - [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed."}, - [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment."}, - [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment."}, - [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out."}, - [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message."}, - [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason."}, + [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, + [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, + [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, + [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, + [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, + [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, + [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, - [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts."}, - [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed."}, - [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO."}, - [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO."}, - [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out."}, - [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages."}, - [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason."}, + [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, + [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, + [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, + [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, + [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", - "Attempts to handover to remote BSS."}, + "Attempts to handover to remote BSS"}, [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", - "Handover to remote BSS completed."}, - [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO."}, - [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out."}, + "Handover to remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", - "Handover to remote BSS failed for other reason."}, + "Handover to remote BSS failed for other reason"}, [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", - "Attempts to handover from remote BSS."}, + "Attempts to handover from remote BSS"}, [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", - "Handover from remote BSS completed."}, - [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO."}, + "Handover from remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", - "Failure to allocate lchan for HO."}, - [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out."}, - [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message."}, + "Failure to allocate lchan for HO"}, + [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, + [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", - "Handover from remote BSS failed for other reason."}, + "Handover from remote BSS failed for other reason"}, - [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."}, - [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found."}, - [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response."}, - [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, + [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, + [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, + [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, - [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID."}, + [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", - "Complete Layer 3 requests lost because no connected MSC is found available."}, + "Complete Layer 3 requests lost because no connected MSC is found available"}, [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", - "Emergency call requests forwarded to an MSC (see also per-MSC counters)"}, + "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", - "Emergency call requests lost because no MSC was found available."}, + "Emergency call requests lost because no MSC was found available"}, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19740 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I304dcc9e88afc5e607d5b010df3e95f40fb8c49b Gerrit-Change-Number: 19740 Gerrit-PatchSet: 1 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 Thu Aug 20 17:19:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 17:19:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 ) Change subject: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g ...................................................................... library/PCUIF_Types: fix typo: s/local_pprt/local_port/g Change-Id: Ic81469107d16c47f02db93a4fe9c35b7825d74b5 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/19743/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index dbb1436..aab5f09 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -208,7 +208,7 @@ uint8_t initial_mcs, record length(2) of uint16_t nsvci, - record length(2) of uint16_t local_pprt, + record length(2) of uint16_t local_port, record length(2) of uint16_t remote_port, record length(2) of OCT4 remote_ip } with { @@ -829,7 +829,7 @@ initial_cs := ?, initial_mcs := ?, nsvci := ?, - local_pprt := ?, + local_port := ?, remote_port := ?, remote_ip := ? } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1c77256..bb10a77 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -90,7 +90,7 @@ initial_cs := 2, initial_mcs := 6, nsvci := { mp_nsconfig.nsvci, 0 }, - local_pprt := { mp_nsconfig.remote_udp_port, 0 }, + local_port := { mp_nsconfig.remote_udp_port, 0 }, remote_port := { mp_nsconfig.local_udp_port, 0 }, remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81469107d16c47f02db93a4fe9c35b7825d74b5 Gerrit-Change-Number: 19743 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 Aug 20 17:19:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Aug 2020 17:19:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 ) Change subject: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap ...................................................................... PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap Change-Id: Id162c50bd07fd47632df67daea20ee185f99a412 --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/19744/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bb10a77..bc3b4e6 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -90,9 +90,9 @@ initial_cs := 2, initial_mcs := 6, nsvci := { mp_nsconfig.nsvci, 0 }, - local_port := { mp_nsconfig.remote_udp_port, 0 }, - remote_port := { mp_nsconfig.local_udp_port, 0 }, - remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } + local_port := { mp_nsconfig.local_udp_port, 0 }, + remote_port := { mp_nsconfig.remote_udp_port, 0 }, + remote_ip := { f_inet_haddr(mp_nsconfig.remote_ip) , '00000000'O } } type record lqual_range { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id162c50bd07fd47632df67daea20ee185f99a412 Gerrit-Change-Number: 19744 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 Aug 20 18:05:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 18:05:15 +0000 Subject: Change in libosmocore[master]: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19745 ) Change subject: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP ...................................................................... gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 --- M include/osmocom/core/gsmtap.h 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/19745/1 diff --git a/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 82e9525..11b2d13 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -48,6 +48,7 @@ #define GSMTAP_TYPE_OSMOCORE_LOG 0x10 /* libosmocore logging */ #define GSMTAP_TYPE_QC_DIAG 0x11 /* Qualcomm DIAG frame */ #define GSMTAP_TYPE_LTE_NAS 0x12 /* LTE Non-Access Stratum */ +#define GSMTAP_TYPE_E1T1 0x13 /* E1/T1 Lines */ /* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */ @@ -171,6 +172,14 @@ #define GSMTAP_LTE_CH_DTCH 0x06 #define GSMTAP_LTE_CH_MTCH 0x07 +/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */ +/* sub-types for TYPE_E1T1 */ +#define GSMTAP_E1T1_LAPD 0x01 /* Q.921 LAPD */ +#define GSMTAP_E1T1_FR 0x02 /* Frame Relay */ +#define GSMTAP_E1T1_RAW 0x03 /* raw/transparent B-channel */ +#define GSMTAP_E1T1_TRAU16 0x04 /* 16k TRAU frames; sub-slot 0-3 */ +#define GSMTAP_E1T1_TRAU8 0x05 /* 8k TRAU frames; sub-slot 0-7 */ + /* flags for the ARFCN */ #define GSMTAP_ARFCN_F_PCS 0x8000 #define GSMTAP_ARFCN_F_UPLINK 0x4000 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 Gerrit-Change-Number: 19745 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 Aug 20 18:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 18:07:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 ) Change subject: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81469107d16c47f02db93a4fe9c35b7825d74b5 Gerrit-Change-Number: 19743 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 18:07:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 18:08:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 18:08:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 ) Change subject: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id162c50bd07fd47632df67daea20ee185f99a412 Gerrit-Change-Number: 19744 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 18:08: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 Aug 20 18:08:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Aug 2020 18:08:47 +0000 Subject: Change in libosmocore[master]: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19745 ) Change subject: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 Gerrit-Change-Number: 19745 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Aug 2020 18:08:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 20:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 20:07:01 +0000 Subject: Change in libosmocore[master]: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19745 ) Change subject: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 Gerrit-Change-Number: 19745 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Aug 2020 20:07:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 20 20:07:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Aug 2020 20:07:03 +0000 Subject: Change in libosmocore[master]: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19745 ) Change subject: gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP ...................................................................... gsmtap: Add definitions for E1/T1 payload (LAPD, TRAU, FR) in GSMTAP Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 --- M include/osmocom/core/gsmtap.h 1 file changed, 9 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/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 82e9525..11b2d13 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -48,6 +48,7 @@ #define GSMTAP_TYPE_OSMOCORE_LOG 0x10 /* libosmocore logging */ #define GSMTAP_TYPE_QC_DIAG 0x11 /* Qualcomm DIAG frame */ #define GSMTAP_TYPE_LTE_NAS 0x12 /* LTE Non-Access Stratum */ +#define GSMTAP_TYPE_E1T1 0x13 /* E1/T1 Lines */ /* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */ @@ -171,6 +172,14 @@ #define GSMTAP_LTE_CH_DTCH 0x06 #define GSMTAP_LTE_CH_MTCH 0x07 +/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */ +/* sub-types for TYPE_E1T1 */ +#define GSMTAP_E1T1_LAPD 0x01 /* Q.921 LAPD */ +#define GSMTAP_E1T1_FR 0x02 /* Frame Relay */ +#define GSMTAP_E1T1_RAW 0x03 /* raw/transparent B-channel */ +#define GSMTAP_E1T1_TRAU16 0x04 /* 16k TRAU frames; sub-slot 0-3 */ +#define GSMTAP_E1T1_TRAU8 0x05 /* 8k TRAU frames; sub-slot 0-7 */ + /* flags for the ARFCN */ #define GSMTAP_ARFCN_F_PCS 0x8000 #define GSMTAP_ARFCN_F_UPLINK 0x4000 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie22eac9a881fe0822f8abc9de73620b93b1f2b37 Gerrit-Change-Number: 19745 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 Fri Aug 21 02:02:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 21 Aug 2020 02:02:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f3f2b2e95c98_6422b28160b65f8375332@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: [ 256s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 256s] [COMPILING libboard/qmod/source/card_pres.c] [ 256s] [COMPILING libboard/qmod/source/wwan_led.c] [ 256s] [COMPILING libboard/qmod/source/i2c.c] [ 256s] [COMPILING libboard/qmod/source/board_qmod.c] [ 257s] [COMPILING apps/dfu/main.c] [ 257s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 257s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 257s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 257s] Memory region Used Size Region Size %age Used [ 257s] rom: 16588 B 16 KB 101.25% [ 257s] 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' [ 257s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 257s] collect2: error: ld returned 1 exit status [ 257s] % [ 257s] make[2]: *** [Makefile:234: flash] Error 1 [ 257s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 257s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 257s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 257s] dh_auto_build: error: make -j1 returned exit code 2 [ 257s] make: *** [debian/rules:16: build] Error 25 [ 257s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 257s] ### VM INTERACTION START ### [ 261s] [ 248.419401] sysrq: Power Off [ 261s] [ 248.428405] reboot: Power down [ 261s] ### VM INTERACTION END ### [ 261s] [ 261s] lamb28 failed "build simtrace2_0.7.0.63.39070.dsc" at Fri Aug 21 02:01:49 UTC 2020. [ 261s] -- 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 Aug 21 09:12:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 09:12:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 ) Change subject: PCU_Tests: fix ts_PCUIF_INFO_default: remote / local swap ...................................................................... Abandoned Ok, it's local / remote for the test suite, not for the IUT. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id162c50bd07fd47632df67daea20ee185f99a412 Gerrit-Change-Number: 19744 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 09:28:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 09:28:20 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 Aug 2020 09:28: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 Aug 21 09:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 09:28:35 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 Aug 2020 09:28: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 Aug 21 09:55:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 09:55:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types: Fix compiler warning References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 ) Change subject: GSM_Types: Fix compiler warning ...................................................................... GSM_Types: Fix compiler warning GSM_Types.ttcn:45.4-12: warning: Control never reaches this statement Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c --- M library/GSM_Types.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/19746/1 diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index ee6d132..8625cc3 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -42,7 +42,6 @@ case else { setverdict(fail, "Invalid GPRS CS ", cs); mtc.stop; - return -1; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c Gerrit-Change-Number: 19746 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 Aug 21 09:55:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 09:55:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: fix compiler warnings References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 ) Change subject: BSSMAP_Templates: fix compiler warnings ...................................................................... BSSMAP_Templates: fix compiler warnings BSSMAP_Templates.ttcn: In TTCN-3 module `BSSMAP_Templates': BSSMAP_Templates.ttcn:181.1-192.1: In template definition `ts_BSSMAP_Reset': BSSMAP_Templates.ttcn:181.1-192.1: While checking template restriction `value': BSSMAP_Templates.ttcn:188.21-54: warning: Inadequate restriction on the referenced function `f_enc_osmux_support(osmux_enabled)', this may cause a dynamic test case error at runtime BSSMAP_Templates.ttcn:174.9-179.1: note: Referenced function is here BSSMAP_Templates.ttcn:207.1-217.1: In template definition `ts_BSSMAP_ResetAck': BSSMAP_Templates.ttcn:207.1-217.1: While checking template restriction `value': BSSMAP_Templates.ttcn:213.21-54: warning: Inadequate restriction on the referenced function `f_enc_osmux_support(osmux_enabled)', this may cause a dynamic test case error at runtime BSSMAP_Templates.ttcn:174.9-179.1: note: Referenced function is here Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 --- M library/BSSMAP_Templates.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/19747/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 776e8be..2496a1b 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -167,11 +167,11 @@ oldToNewBSSIEs := val } -template BSSMAP_IE_Osmo_OsmuxSupport tr_BSSMAP_IE_Osmo_OsmuxSupport := { +template (value) BSSMAP_IE_Osmo_OsmuxSupport tr_BSSMAP_IE_Osmo_OsmuxSupport := { elementIdentifier := 'F0'O } -private function f_enc_osmux_support(boolean osmux_enabled) return template BSSMAP_IE_Osmo_OsmuxSupport { +private function f_enc_osmux_support(boolean osmux_enabled) return template (omit) BSSMAP_IE_Osmo_OsmuxSupport { if (osmux_enabled) { return tr_BSSMAP_IE_Osmo_OsmuxSupport; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 Gerrit-Change-Number: 19747 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 Aug 21 09:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 09:58:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types: Fix compiler warning In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 ) Change subject: GSM_Types: Fix compiler warning ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c Gerrit-Change-Number: 19746 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 09:58: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 Aug 21 09:58:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 09:58:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: fix compiler warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 ) Change subject: BSSMAP_Templates: fix compiler warnings ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 Gerrit-Change-Number: 19747 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 09:58: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 Aug 21 10:25:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 10:25:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Fix ttcn3 parser error on some Titan versions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 ) Change subject: stp: Fix ttcn3 parser error on some Titan versions ...................................................................... stp: Fix ttcn3 parser error on some Titan versions It is a known bug that some verisons of titan don't support having several alt cases without any separator. This is already fixed in master, but it doesn't hurt adding them to have them compile on other versions. Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b --- M stp/STP_Tests_IPA.ttcn M stp/STP_Tests_M3UA.ttcn 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/19748/1 diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index 48652b8..c67bc4a 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -234,8 +234,8 @@ var octetstring data := f_rnd_octstring(f_rnd_ipa_len()); f_IPA_send(0, data); alt { - [] as_count_rx(1, data, num_rx[1]) - [] as_count_rx(2, data, num_rx[2]) + [] as_count_rx(1, data, num_rx[1]); + [] as_count_rx(2, data, num_rx[2]); } } /* FIXME: check for extraneous messages? */ diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index f6fa625..58e52d3 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -367,8 +367,8 @@ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1); alt { - [] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[1]) - [] as_count_rx(2, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[2]) + [] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[1]); + [] as_count_rx(2, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[2]); } } /* FIXME: check for extraneous messages? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b Gerrit-Change-Number: 19748 Gerrit-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 Aug 21 10:39:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 ) Change subject: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings ...................................................................... BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings the argument given to tr_ASP_RSL_UD() needs a 'present' qualifier, as it cannot be 'omit' BSC_Tests_CBSP.ttcn:524.1-537.1: In testcase definition `TC_cbsp_write_lac': BSC_Tests_CBSP.ttcn:532.2-535.2: In interleave statement: BSC_Tests_CBSP.ttcn:533.5-41: In guard operation: BSC_Tests_CBSP.ttcn:533.5-41: In receive statement: BSC_Tests_CBSP.ttcn:533.37-40: In actual parameter list of template `@IPA_Emulation.tr_ASP_RSL_UD': BSC_Tests_CBSP.ttcn:533.38-39: In parameter #1 for `rsl': BSC_Tests_CBSP.ttcn:533.38-39: warning: Inadequate restriction on the referenced template variable `tr', this may cause a dynamic test case error at runtime BSC_Tests_CBSP.ttcn:531.27-82: note: Referenced template variable is here BSC_Tests_CBSP.ttcn:534.5-41: In guard operation: BSC_Tests_CBSP.ttcn:534.5-41: In receive statement: BSC_Tests_CBSP.ttcn:534.37-40: In actual parameter list of template `@IPA_Emulation.tr_ASP_RSL_UD': BSC_Tests_CBSP.ttcn:534.38-39: In parameter #1 for `rsl': BSC_Tests_CBSP.ttcn:534.38-39: warning: Inadequate restriction on the referenced template variable `tr', this may cause a dynamic test case error at runtime BSC_Tests_CBSP.ttcn:531.27-82: note: Referenced template variable is here Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/19749/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 497ff80..548c0c1 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -79,14 +79,14 @@ log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } -private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { +private altstep as_IgnRSL(template (present) RSL_Message tr) runs on cbsp_test_CT { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { repeat; } [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) { repeat; } [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { repeat; } } private altstep as_FailRSL() runs on cbsp_test_CT { -var template RSL_Message tr := (tr_RSL_SMSCB_CMD); +var template (present) RSL_Message tr := (tr_RSL_SMSCB_CMD); var ASP_RSL_Unitdata rx; [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); @@ -334,7 +334,7 @@ template (present) integer expect_blocks := ?) return template (present) RSL_Message { - var template RSL_Message tr; + var template (present) RSL_Message tr; var integer len; var integer num_blocks; var octetstring payload; @@ -407,7 +407,7 @@ f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); log("RSL[0,1,2] EXPECTING ", tr_ASP_RSL_UD(tr)); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[0]"); } @@ -453,7 +453,7 @@ f_cbsp_init_server(2001, 2501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -528,7 +528,7 @@ f_cbsp_init_server(8001, 8501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b Gerrit-Change-Number: 19749 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 Aug 21 10:39:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: Fix tons of compiler warnings References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 ) Change subject: CBSP_Templates: Fix tons of compiler warnings ...................................................................... CBSP_Templates: Fix tons of compiler warnings CBSP_Templates.ttcn:385.1-401.1: In function definition `ts_CBSP_REPLACE_CBS_COMPL': CBSP_Templates.ttcn:396.2-398.2: In if statement: CBSP_Templates.ttcn:397.3-50: In variable assignment: CBSP_Templates.ttcn:397.40-50: In actual parameter list of template `@CBSP_Templates.ts_CbspCellList': CBSP_Templates.ttcn:397.41-49: In parameter #1 for `list': CBSP_Templates.ttcn:397.41-49: warning: Inadequate restriction on the referenced template parameter `cell_list', this may cause a dynamic test case error at runtime CBSP_Templates.ttcn:387.8-68: note: Referenced template parameter is here Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 --- M library/CBSP_Templates.ttcn 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/19750/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 8d62742..5ee1f33 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -354,7 +354,7 @@ ts_NewSerNo(new_ser_nr) }; if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); @@ -394,7 +394,7 @@ ts_CbspNumComplList(compl_list) }; if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); @@ -439,10 +439,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); @@ -493,10 +493,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); @@ -562,10 +562,10 @@ ts_OldSerNo(old_ser_nr) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); @@ -621,10 +621,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 Gerrit-Change-Number: 19750 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 Aug 21 10:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Emulation: Fix compiler warning about dead code References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 ) Change subject: RSL_Emulation: Fix compiler warning about dead code ...................................................................... RSL_Emulation: Fix compiler warning about dead code RSL_Emulation.ttcn: In TTCN-3 module `RSL_Emulation': RSL_Emulation.ttcn:478.1-713.1: In function definition `main': RSL_Emulation.ttcn:500.2-712.2: In while statement: RSL_Emulation.ttcn:501.3-711.3: In alt construct: RSL_Emulation.ttcn:695.4-28: In function instance: RSL_Emulation.ttcn:725.9-744.1: In function definition `f_WaitingQueue_dispatch': RSL_Emulation.ttcn:729.2-740.2: In for statement: RSL_Emulation.ttcn:732.3-736.3: In if statement: RSL_Emulation.ttcn:735.4-8: warning: Control never reaches this statement Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 --- M library/RSL_Emulation.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/19751/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 2fcb96c..0a20459 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -732,7 +732,6 @@ if (cid == -1) { setverdict(fail, "No Dchan handler found for: ", WaitingQueue[i]); mtc.stop; - break; } /* Dispatch a stalled message to the appropriate handler */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 Gerrit-Change-Number: 19751 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 Aug 21 10:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Fix compiler warnings about missing record fields References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 ) Change subject: StatsD_Types: Fix compiler warnings about missing record fields ...................................................................... StatsD_Types: Fix compiler warnings about missing record fields StatsD_Types.ttcn: In TTCN-3 module `StatsD_Types': StatsD_Types.ttcn:51.1-55.1: In template definition `tr_StatsDMetric': StatsD_Types.ttcn:51.126-55.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' StatsD_Types.ttcn:57.1-61.1: In template definition `tr_StatsDMetricCounter': StatsD_Types.ttcn:57.106-61.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' StatsD_Types.ttcn:63.1-67.1: In template definition `tr_StatsDMetricGauge': StatsD_Types.ttcn:63.104-67.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 --- M library/StatsD_Types.ttcn 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/19752/1 diff --git a/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn index 2142b8c..546e469 100644 --- a/library/StatsD_Types.ttcn +++ b/library/StatsD_Types.ttcn @@ -51,19 +51,22 @@ template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { name := name, val := val, - mtype := mtype + mtype := mtype, + srate := * } template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { name := name, val := val, - mtype := "c" + mtype := "c", + srate := * } template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { name := name, val := val, - mtype := "g" + mtype := "g", + srate := * } } with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 Gerrit-Change-Number: 19752 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 Aug 21 10:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Use 'present' qualifier; use template hierarchy References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 ) Change subject: StatsD_Types: Use 'present' qualifier; use template hierarchy ...................................................................... StatsD_Types: Use 'present' qualifier; use template hierarchy Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d --- M library/StatsD_Types.ttcn 1 file changed, 6 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/19753/1 diff --git a/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn index 546e469..861ae63 100644 --- a/library/StatsD_Types.ttcn +++ b/library/StatsD_Types.ttcn @@ -48,25 +48,18 @@ [0] := metric } -template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { +template (present) StatsDMetric tr_StatsDMetric(template (present) MetricName name, template (present) MetricValue val := ?, + template (present) MetricType mtype) := { name := name, val := val, mtype := mtype, srate := * } -template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { - name := name, - val := val, - mtype := "c", - srate := * -} +template (present) StatsDMetric tr_StatsDMetricCounter(template (present) MetricName name, template (present) MetricValue val := ?) := + tr_StatsDMetric(name, val, "c"); -template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { - name := name, - val := val, - mtype := "g", - srate := * -} +template (present) StatsDMetric tr_StatsDMetricGauge(template (present) MetricName name, template (present) MetricValue val := ?) := + tr_StatsDMetric(name, val, "g"); } with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d Gerrit-Change-Number: 19753 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 Aug 21 10:39:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAN_Emulation: Fix compiler warnings about unreachable code References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 ) Change subject: RAN_Emulation: Fix compiler warnings about unreachable code ...................................................................... RAN_Emulation: Fix compiler warnings about unreachable code RAN_Emulation.ttcn: In TTCN-3 module `RAN_Emulation': RAN_Emulation.ttcnpp:1294.1-1343.1: In function definition `ExpectedCreateCallback': RAN_Emulation.ttcnpp:1309.4-1313.2: In else statement: RAN_Emulation.ttcnpp:1312.3-12: warning: Control never reaches this statement RAN_Emulation.ttcnpp:1342.2-11: warning: Control never reaches this statement Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c --- M library/RAN_Emulation.ttcnpp 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/19754/1 diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index a400dcd..c1dc036 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1309,7 +1309,6 @@ } else { setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3 nor a Handover Request"); mtc.stop; - return ret; } for (i := 0; i < sizeof(ExpectTable); i:= i+1) { @@ -1339,7 +1338,6 @@ } setverdict(fail, "Couldn't find Expect for incoming connection ", conn_ind); mtc.stop; - return ret; } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c Gerrit-Change-Number: 19754 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 Aug 21 10:39:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: fix compiler warning References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 ) Change subject: L3_Templates: fix compiler warning ...................................................................... L3_Templates: fix compiler warning L3_Templates.ttcn:1099.1-1108.1: In template definition `ts_ML3_MO_CC': L3_Templates.ttcn:1099.53-1108.1: warning: Field `msgs' is missing from template for record type `@MobileL3_Types.PDU_ML3_MS_NW' Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 --- M library/L3_Templates.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/19755/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 1bfcec0..f072f78 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -1104,7 +1104,8 @@ tiFlag := c_TIF_ORIG, tIExtension := omit } - } + }, + msgs := - } template (value) CalledPartyBCD_Number ts_Called(hexstring digits) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 Gerrit-Change-Number: 19755 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 Aug 21 10:39:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: Fix compiler warning about missing qualifier References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 ) Change subject: L3_Templates: Fix compiler warning about missing qualifier ...................................................................... L3_Templates: Fix compiler warning about missing qualifier L3_Templates.ttcn: In TTCN-3 module `L3_Templates': L3_Templates.ttcn:120.1-125.1: In template definition `tr_MI_IMSI': L3_Templates.ttcn:122.25-124.2: In template for record field `oddEvenInd_identity': L3_Templates.ttcn:123.11-28: In template for union field `imsi': L3_Templates.ttcn:123.23-28: In actual parameter list of function `@L3_Templates.f_tr_MI_IMSI': L3_Templates.ttcn:123.24-27: In parameter #1 for `digits': L3_Templates.ttcn:123.24-27: warning: Inadequate restriction on the referenced template parameter `imsi', this may cause a dynamic test case error at runtime L3_Templates.ttcn:120.37-59: note: Referenced template parameter is here Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 --- M library/L3_Templates.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/19756/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index f072f78..8c0f494 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -117,7 +117,7 @@ return f_enc_IMSI_L3(valueof(digits)) } } -template MobileIdentityV tr_MI_IMSI(template hexstring imsi) := { +template MobileIdentityV tr_MI_IMSI(template (present) hexstring imsi) := { typeOfIdentity := '001'B, oddEvenInd_identity := { imsi := f_tr_MI_IMSI(imsi) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 Gerrit-Change-Number: 19756 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 Aug 21 10:39:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:39:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Fix compiler warnings about inadequate template restrictions References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 ) Change subject: BSC_Tests: Fix compiler warnings about inadequate template restrictions ...................................................................... BSC_Tests: Fix compiler warnings about inadequate template restrictions Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/19757/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 003df49..0e76476 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -136,7 +136,7 @@ meas_bw := meas_bw); /* tr_EUTRAN_NeighbourCells with defaults used in BSC_Tests.ttcn */ -template EUTRAN_NeighbourCells tr_EUTRAN_NeighbourCells_default(template EUTRAN_CellDescs cell_desc_list := { tr_EUTRAN_CellDesc_default }, +template EUTRAN_NeighbourCells tr_EUTRAN_NeighbourCells_default(template (present) EUTRAN_CellDescs cell_desc_list := { tr_EUTRAN_CellDesc_default }, template uint3_t prio := 3, template (present) uint5_t thresh_high := 20, template uint5_t thresh_low := 10, @@ -978,7 +978,7 @@ } /* expect to receive a RSL message matching a specified template on a given BTS / stream */ -function f_exp_ipa_rx(integer bts_nr, template RSL_Message t_rx, float t_secs := 2.0, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +function f_exp_ipa_rx(integer bts_nr, template (present) RSL_Message t_rx, float t_secs := 2.0, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT return RSL_Message { var ASP_RSL_Unitdata rx_rsl_ud; timer T := t_secs; @@ -998,7 +998,7 @@ } /* helper function to transmit RSL on a given BTS/stream */ -function f_ipa_tx(integer bts_nr, template RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +function f_ipa_tx(integer bts_nr, template (value) RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT { IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(t_tx, sid)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 Gerrit-Change-Number: 19757 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 Aug 21 10:42:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 10:42:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Fix compiler warning References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 ) Change subject: GSM_RR_Types: Fix compiler warning ...................................................................... GSM_RR_Types: Fix compiler warning GSM_RR_Types.ttcn: In TTCN-3 module `GSM_RR_Types': GSM_RR_Types.ttcn:957.2-983.2: In template definition `ts_IMM_ASS': GSM_RR_Types.ttcn:957.2-983.2: While checking template restriction `value': GSM_RR_Types.ttcn:146.14-16: warning: Inadequate restriction on the referenced template parameter `len', this may cause a dynamic test case error at runtime GSM_RR_Types.ttcn:145.44-63: note: Referenced template parameter is here Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/19758/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 2c607a7..cd599f3 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -956,7 +956,7 @@ template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), + header := ts_RrHeader(IMMEDIATE_ASSIGNMENT, 0), payload := { imm_ass := { ded_or_tbf := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 Gerrit-Change-Number: 19758 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 Aug 21 10:51:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 10:51:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types: Fix compiler warning In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 ) Change subject: GSM_Types: Fix compiler warning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c Gerrit-Change-Number: 19746 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 10:51: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 Aug 21 11:00:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:00:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 ) Change subject: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b Gerrit-Change-Number: 19749 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:00: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 Aug 21 11:00:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:00:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: Fix tons of compiler warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 ) Change subject: CBSP_Templates: Fix tons of compiler warnings ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 Gerrit-Change-Number: 19750 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:00:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:01:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:01:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Emulation: Fix compiler warning about dead code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 ) Change subject: RSL_Emulation: Fix compiler warning about dead code ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 Gerrit-Change-Number: 19751 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:01:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:01:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Fix compiler warnings about missing record fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 ) Change subject: StatsD_Types: Fix compiler warnings about missing record fields ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 Gerrit-Change-Number: 19752 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:01: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 Aug 21 11:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:01:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Use 'present' qualifier; use template hierarchy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 ) Change subject: StatsD_Types: Use 'present' qualifier; use template hierarchy ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753/1/library/StatsD_Types.ttcn File library/StatsD_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753/1/library/StatsD_Types.ttcn at 59 PS1, Line 59: template (present) StatsDMetric tr_StatsDMetricCounter(template (present) MetricName name, template (present) MetricValue val := ?) := trailing whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d Gerrit-Change-Number: 19753 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:01: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 Fri Aug 21 11:01:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:01:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAN_Emulation: Fix compiler warnings about unreachable code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 ) Change subject: RAN_Emulation: Fix compiler warnings about unreachable code ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c Gerrit-Change-Number: 19754 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11: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 Aug 21 11:02:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:02:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: fix compiler warning In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 ) Change subject: L3_Templates: fix compiler warning ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 Gerrit-Change-Number: 19755 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:02: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 Aug 21 11:02:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 11:02:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: fix compiler warnings In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 ) Change subject: BSSMAP_Templates: fix compiler warnings ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747/1/library/BSSMAP_Templates.ttcn File library/BSSMAP_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747/1/library/BSSMAP_Templates.ttcn at 170 PS1, Line 170: tr_ Shouldn't it be 'ts_' then? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 Gerrit-Change-Number: 19747 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:02:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:02:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:02:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: Fix compiler warning about missing qualifier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 ) Change subject: L3_Templates: Fix compiler warning about missing qualifier ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 Gerrit-Change-Number: 19756 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:02: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 Aug 21 11:02:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:02:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Fix compiler warnings about inadequate template restrictions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 ) Change subject: BSC_Tests: Fix compiler warnings about inadequate template restrictions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 Gerrit-Change-Number: 19757 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:02: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 Aug 21 11:02:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 11:02:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Fix compiler warning In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 ) Change subject: GSM_RR_Types: Fix compiler warning ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 Gerrit-Change-Number: 19758 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:02:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:14:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:14:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: fix compiler warnings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 ) Change subject: BSSMAP_Templates: fix compiler warnings ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747/1/library/BSSMAP_Templates.ttcn File library/BSSMAP_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747/1/library/BSSMAP_Templates.ttcn at 170 PS1, Line 170: tr_ > Shouldn't it be 'ts_' then? yes, I was wondering about that. But well... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 Gerrit-Change-Number: 19747 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:14:41 +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 Fri Aug 21 11:14:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:14:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 ) Change subject: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b Gerrit-Change-Number: 19749 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:14: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 Aug 21 11:14:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:14:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: Fix tons of compiler warnings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 ) Change subject: CBSP_Templates: Fix tons of compiler warnings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 Gerrit-Change-Number: 19750 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:14:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:15:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Emulation: Fix compiler warning about dead code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 ) Change subject: RSL_Emulation: Fix compiler warning about dead code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 Gerrit-Change-Number: 19751 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:15: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 Aug 21 11:15:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Fix compiler warnings about missing record fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 ) Change subject: StatsD_Types: Fix compiler warnings about missing record fields ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 Gerrit-Change-Number: 19752 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:15: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 Aug 21 11:15:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_Types: Fix compiler warning In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 ) Change subject: GSM_Types: Fix compiler warning ...................................................................... GSM_Types: Fix compiler warning GSM_Types.ttcn:45.4-12: warning: Control never reaches this statement Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c --- M library/GSM_Types.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn index ee6d132..8625cc3 100644 --- a/library/GSM_Types.ttcn +++ b/library/GSM_Types.ttcn @@ -42,7 +42,6 @@ case else { setverdict(fail, "Invalid GPRS CS ", cs); mtc.stop; - return -1; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19746 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3572f59f4c2a266e8f549a805c3dffeae0570a8c Gerrit-Change-Number: 19746 Gerrit-PatchSet: 1 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 Fri Aug 21 11:15:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: fix compiler warnings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 ) Change subject: BSSMAP_Templates: fix compiler warnings ...................................................................... BSSMAP_Templates: fix compiler warnings BSSMAP_Templates.ttcn: In TTCN-3 module `BSSMAP_Templates': BSSMAP_Templates.ttcn:181.1-192.1: In template definition `ts_BSSMAP_Reset': BSSMAP_Templates.ttcn:181.1-192.1: While checking template restriction `value': BSSMAP_Templates.ttcn:188.21-54: warning: Inadequate restriction on the referenced function `f_enc_osmux_support(osmux_enabled)', this may cause a dynamic test case error at runtime BSSMAP_Templates.ttcn:174.9-179.1: note: Referenced function is here BSSMAP_Templates.ttcn:207.1-217.1: In template definition `ts_BSSMAP_ResetAck': BSSMAP_Templates.ttcn:207.1-217.1: While checking template restriction `value': BSSMAP_Templates.ttcn:213.21-54: warning: Inadequate restriction on the referenced function `f_enc_osmux_support(osmux_enabled)', this may cause a dynamic test case error at runtime BSSMAP_Templates.ttcn:174.9-179.1: note: Referenced function is here Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 --- M library/BSSMAP_Templates.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 776e8be..2496a1b 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -167,11 +167,11 @@ oldToNewBSSIEs := val } -template BSSMAP_IE_Osmo_OsmuxSupport tr_BSSMAP_IE_Osmo_OsmuxSupport := { +template (value) BSSMAP_IE_Osmo_OsmuxSupport tr_BSSMAP_IE_Osmo_OsmuxSupport := { elementIdentifier := 'F0'O } -private function f_enc_osmux_support(boolean osmux_enabled) return template BSSMAP_IE_Osmo_OsmuxSupport { +private function f_enc_osmux_support(boolean osmux_enabled) return template (omit) BSSMAP_IE_Osmo_OsmuxSupport { if (osmux_enabled) { return tr_BSSMAP_IE_Osmo_OsmuxSupport; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19747 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I947e1a6aeb1fe40167eb268906906edd7e857232 Gerrit-Change-Number: 19747 Gerrit-PatchSet: 1 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 Fri Aug 21 11:15:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 ) Change subject: BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings ...................................................................... BSC_Tests_CBSP.ttcn: Fix tons of compiler warnings the argument given to tr_ASP_RSL_UD() needs a 'present' qualifier, as it cannot be 'omit' BSC_Tests_CBSP.ttcn:524.1-537.1: In testcase definition `TC_cbsp_write_lac': BSC_Tests_CBSP.ttcn:532.2-535.2: In interleave statement: BSC_Tests_CBSP.ttcn:533.5-41: In guard operation: BSC_Tests_CBSP.ttcn:533.5-41: In receive statement: BSC_Tests_CBSP.ttcn:533.37-40: In actual parameter list of template `@IPA_Emulation.tr_ASP_RSL_UD': BSC_Tests_CBSP.ttcn:533.38-39: In parameter #1 for `rsl': BSC_Tests_CBSP.ttcn:533.38-39: warning: Inadequate restriction on the referenced template variable `tr', this may cause a dynamic test case error at runtime BSC_Tests_CBSP.ttcn:531.27-82: note: Referenced template variable is here BSC_Tests_CBSP.ttcn:534.5-41: In guard operation: BSC_Tests_CBSP.ttcn:534.5-41: In receive statement: BSC_Tests_CBSP.ttcn:534.37-40: In actual parameter list of template `@IPA_Emulation.tr_ASP_RSL_UD': BSC_Tests_CBSP.ttcn:534.38-39: In parameter #1 for `rsl': BSC_Tests_CBSP.ttcn:534.38-39: warning: Inadequate restriction on the referenced template variable `tr', this may cause a dynamic test case error at runtime BSC_Tests_CBSP.ttcn:531.27-82: note: Referenced template variable is here Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 6 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/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 497ff80..548c0c1 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -79,14 +79,14 @@ log("g_cbsp_msg_id=", g_cbsp_msg_id, " g_cbsp_ser_no=", g_cbsp_ser_no); } -private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { +private altstep as_IgnRSL(template (present) RSL_Message tr) runs on cbsp_test_CT { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { repeat; } [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) { repeat; } [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { repeat; } } private altstep as_FailRSL() runs on cbsp_test_CT { -var template RSL_Message tr := (tr_RSL_SMSCB_CMD); +var template (present) RSL_Message tr := (tr_RSL_SMSCB_CMD); var ASP_RSL_Unitdata rx; [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); @@ -334,7 +334,7 @@ template (present) integer expect_blocks := ?) return template (present) RSL_Message { - var template RSL_Message tr; + var template (present) RSL_Message tr; var integer len; var integer num_blocks; var octetstring payload; @@ -407,7 +407,7 @@ f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no, expect_blocks := expect_blocks); log("RSL[0,1,2] EXPECTING ", tr_ASP_RSL_UD(tr)); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { log("Got SMSCB CMD on RSL[0]"); } @@ -453,7 +453,7 @@ f_cbsp_init_server(2001, 2501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -528,7 +528,7 @@ f_cbsp_init_server(8001, 8501); f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit); - var template RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); + var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no); interleave { [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id64e8e135b690c34293487304d7a175b5b56265b Gerrit-Change-Number: 19749 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:15:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CBSP_Templates: Fix tons of compiler warnings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 ) Change subject: CBSP_Templates: Fix tons of compiler warnings ...................................................................... CBSP_Templates: Fix tons of compiler warnings CBSP_Templates.ttcn:385.1-401.1: In function definition `ts_CBSP_REPLACE_CBS_COMPL': CBSP_Templates.ttcn:396.2-398.2: In if statement: CBSP_Templates.ttcn:397.3-50: In variable assignment: CBSP_Templates.ttcn:397.40-50: In actual parameter list of template `@CBSP_Templates.ts_CbspCellList': CBSP_Templates.ttcn:397.41-49: In parameter #1 for `list': CBSP_Templates.ttcn:397.41-49: warning: Inadequate restriction on the referenced template parameter `cell_list', this may cause a dynamic test case error at runtime CBSP_Templates.ttcn:387.8-68: note: Referenced template parameter is here Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 --- M library/CBSP_Templates.ttcn 1 file changed, 10 insertions(+), 10 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/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 8d62742..5ee1f33 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -354,7 +354,7 @@ ts_NewSerNo(new_ser_nr) }; if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); @@ -394,7 +394,7 @@ ts_CbspNumComplList(compl_list) }; if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); @@ -439,10 +439,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); @@ -493,10 +493,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); @@ -562,10 +562,10 @@ ts_OldSerNo(old_ser_nr) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); @@ -621,10 +621,10 @@ ts_CbspFailList(fail_list) }; if (not istemplatekind(compl_list, "omit")) { - ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + ies[lengthof(ies)] := ts_CbspNumComplList(valueof(compl_list)); } if (not istemplatekind(cell_list, "omit")) { - ies[lengthof(ies)] := ts_CbspCellList(cell_list); + ies[lengthof(ies)] := ts_CbspCellList(valueof(cell_list)); } if (not istemplatekind(channel_ind, "omit")) { ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19750 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54c21d17ab3235ec37d5f07867d8c6c83d699088 Gerrit-Change-Number: 19750 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:15:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RSL_Emulation: Fix compiler warning about dead code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 ) Change subject: RSL_Emulation: Fix compiler warning about dead code ...................................................................... RSL_Emulation: Fix compiler warning about dead code RSL_Emulation.ttcn: In TTCN-3 module `RSL_Emulation': RSL_Emulation.ttcn:478.1-713.1: In function definition `main': RSL_Emulation.ttcn:500.2-712.2: In while statement: RSL_Emulation.ttcn:501.3-711.3: In alt construct: RSL_Emulation.ttcn:695.4-28: In function instance: RSL_Emulation.ttcn:725.9-744.1: In function definition `f_WaitingQueue_dispatch': RSL_Emulation.ttcn:729.2-740.2: In for statement: RSL_Emulation.ttcn:732.3-736.3: In if statement: RSL_Emulation.ttcn:735.4-8: warning: Control never reaches this statement Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 --- M library/RSL_Emulation.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 2fcb96c..0a20459 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -732,7 +732,6 @@ if (cid == -1) { setverdict(fail, "No Dchan handler found for: ", WaitingQueue[i]); mtc.stop; - break; } /* Dispatch a stalled message to the appropriate handler */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19751 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e080a8543a9f26b45b345e47881b6f6d4c9b362 Gerrit-Change-Number: 19751 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:15:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Fix compiler warnings about missing record fields In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 ) Change subject: StatsD_Types: Fix compiler warnings about missing record fields ...................................................................... StatsD_Types: Fix compiler warnings about missing record fields StatsD_Types.ttcn: In TTCN-3 module `StatsD_Types': StatsD_Types.ttcn:51.1-55.1: In template definition `tr_StatsDMetric': StatsD_Types.ttcn:51.126-55.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' StatsD_Types.ttcn:57.1-61.1: In template definition `tr_StatsDMetricCounter': StatsD_Types.ttcn:57.106-61.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' StatsD_Types.ttcn:63.1-67.1: In template definition `tr_StatsDMetricGauge': StatsD_Types.ttcn:63.104-67.1: warning: Field `srate' is missing from template for record type `@StatsD_Types.StatsDMetric' Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 --- M library/StatsD_Types.ttcn 1 file changed, 6 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/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn index 2142b8c..546e469 100644 --- a/library/StatsD_Types.ttcn +++ b/library/StatsD_Types.ttcn @@ -51,19 +51,22 @@ template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { name := name, val := val, - mtype := mtype + mtype := mtype, + srate := * } template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { name := name, val := val, - mtype := "c" + mtype := "c", + srate := * } template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { name := name, val := val, - mtype := "g" + mtype := "g", + srate := * } } with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19752 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6d3b40dc719b42481dacb5599eb7eeb3be0426b4 Gerrit-Change-Number: 19752 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 Fri Aug 21 11:15:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:15:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAN_Emulation: Fix compiler warnings about unreachable code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 ) Change subject: RAN_Emulation: Fix compiler warnings about unreachable code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c Gerrit-Change-Number: 19754 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:15: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 Aug 21 11:16:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:16:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: fix compiler warning In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 ) Change subject: L3_Templates: fix compiler warning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 Gerrit-Change-Number: 19755 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:16: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 Aug 21 11:16:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:16:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: Fix compiler warning about missing qualifier In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 ) Change subject: L3_Templates: Fix compiler warning about missing qualifier ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 Gerrit-Change-Number: 19756 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:16:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:16:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:16:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Fix compiler warnings about inadequate template restrictions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 ) Change subject: BSC_Tests: Fix compiler warnings about inadequate template restrictions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 Gerrit-Change-Number: 19757 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:16:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:16:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:16:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Fix compiler warning In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 ) Change subject: GSM_RR_Types: Fix compiler warning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 Gerrit-Change-Number: 19758 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:16: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 Aug 21 11:16:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:16:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Use 'present' qualifier; use template hierarchy In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 to look at the new patch set (#2). Change subject: StatsD_Types: Use 'present' qualifier; use template hierarchy ...................................................................... StatsD_Types: Use 'present' qualifier; use template hierarchy Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d --- M library/StatsD_Types.ttcn 1 file changed, 6 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/19753/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d Gerrit-Change-Number: 19753 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 Aug 21 11:17:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:17:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Use 'present' qualifier; use template hierarchy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 ) Change subject: StatsD_Types: Use 'present' qualifier; use template hierarchy ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d Gerrit-Change-Number: 19753 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 11:17: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 Aug 21 11:17:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:17:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: StatsD_Types: Use 'present' qualifier; use template hierarchy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 ) Change subject: StatsD_Types: Use 'present' qualifier; use template hierarchy ...................................................................... StatsD_Types: Use 'present' qualifier; use template hierarchy Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d --- M library/StatsD_Types.ttcn 1 file changed, 6 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/StatsD_Types.ttcn b/library/StatsD_Types.ttcn index 546e469..8938571 100644 --- a/library/StatsD_Types.ttcn +++ b/library/StatsD_Types.ttcn @@ -48,25 +48,18 @@ [0] := metric } -template StatsDMetric tr_StatsDMetric(template MetricName name, template MetricValue val := ?, template MetricType mtype) := { +template (present) StatsDMetric tr_StatsDMetric(template (present) MetricName name, template (present) MetricValue val := ?, + template (present) MetricType mtype) := { name := name, val := val, mtype := mtype, srate := * } -template StatsDMetric tr_StatsDMetricCounter(template MetricName name, template MetricValue val := ?) := { - name := name, - val := val, - mtype := "c", - srate := * -} +template (present) StatsDMetric tr_StatsDMetricCounter(template (present) MetricName name, template (present) MetricValue val := ?) := + tr_StatsDMetric(name, val, "c"); -template StatsDMetric tr_StatsDMetricGauge(template MetricName name, template MetricValue val := ?) := { - name := name, - val := val, - mtype := "g", - srate := * -} +template (present) StatsDMetric tr_StatsDMetricGauge(template (present) MetricName name, template (present) MetricValue val := ?) := + tr_StatsDMetric(name, val, "g"); } with { encode "TEXT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19753 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic9207e465bbee77d898d4d710a696656e43eac8d Gerrit-Change-Number: 19753 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAN_Emulation: Fix compiler warnings about unreachable code In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 ) Change subject: RAN_Emulation: Fix compiler warnings about unreachable code ...................................................................... RAN_Emulation: Fix compiler warnings about unreachable code RAN_Emulation.ttcn: In TTCN-3 module `RAN_Emulation': RAN_Emulation.ttcnpp:1294.1-1343.1: In function definition `ExpectedCreateCallback': RAN_Emulation.ttcnpp:1309.4-1313.2: In else statement: RAN_Emulation.ttcnpp:1312.3-12: warning: Control never reaches this statement RAN_Emulation.ttcnpp:1342.2-11: warning: Control never reaches this statement Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c --- M library/RAN_Emulation.ttcnpp 1 file changed, 0 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/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index a400dcd..c1dc036 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1309,7 +1309,6 @@ } else { setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3 nor a Handover Request"); mtc.stop; - return ret; } for (i := 0; i < sizeof(ExpectTable); i:= i+1) { @@ -1339,7 +1338,6 @@ } setverdict(fail, "Couldn't find Expect for incoming connection ", conn_ind); mtc.stop; - return ret; } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19754 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c Gerrit-Change-Number: 19754 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: fix compiler warning In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 ) Change subject: L3_Templates: fix compiler warning ...................................................................... L3_Templates: fix compiler warning L3_Templates.ttcn:1099.1-1108.1: In template definition `ts_ML3_MO_CC': L3_Templates.ttcn:1099.53-1108.1: warning: Field `msgs' is missing from template for record type `@MobileL3_Types.PDU_ML3_MS_NW' Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 --- M library/L3_Templates.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 1bfcec0..f072f78 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -1104,7 +1104,8 @@ tiFlag := c_TIF_ORIG, tIExtension := omit } - } + }, + msgs := - } template (value) CalledPartyBCD_Number ts_Called(hexstring digits) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19755 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372 Gerrit-Change-Number: 19755 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: Fix compiler warning about missing qualifier In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 ) Change subject: L3_Templates: Fix compiler warning about missing qualifier ...................................................................... L3_Templates: Fix compiler warning about missing qualifier L3_Templates.ttcn: In TTCN-3 module `L3_Templates': L3_Templates.ttcn:120.1-125.1: In template definition `tr_MI_IMSI': L3_Templates.ttcn:122.25-124.2: In template for record field `oddEvenInd_identity': L3_Templates.ttcn:123.11-28: In template for union field `imsi': L3_Templates.ttcn:123.23-28: In actual parameter list of function `@L3_Templates.f_tr_MI_IMSI': L3_Templates.ttcn:123.24-27: In parameter #1 for `digits': L3_Templates.ttcn:123.24-27: warning: Inadequate restriction on the referenced template parameter `imsi', this may cause a dynamic test case error at runtime L3_Templates.ttcn:120.37-59: note: Referenced template parameter is here Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 --- M library/L3_Templates.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/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index f072f78..8c0f494 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -117,7 +117,7 @@ return f_enc_IMSI_L3(valueof(digits)) } } -template MobileIdentityV tr_MI_IMSI(template hexstring imsi) := { +template MobileIdentityV tr_MI_IMSI(template (present) hexstring imsi) := { typeOfIdentity := '001'B, oddEvenInd_identity := { imsi := f_tr_MI_IMSI(imsi) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19756 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781 Gerrit-Change-Number: 19756 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: Fix compiler warnings about inadequate template restrictions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 ) Change subject: BSC_Tests: Fix compiler warnings about inadequate template restrictions ...................................................................... BSC_Tests: Fix compiler warnings about inadequate template restrictions Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 003df49..0e76476 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -136,7 +136,7 @@ meas_bw := meas_bw); /* tr_EUTRAN_NeighbourCells with defaults used in BSC_Tests.ttcn */ -template EUTRAN_NeighbourCells tr_EUTRAN_NeighbourCells_default(template EUTRAN_CellDescs cell_desc_list := { tr_EUTRAN_CellDesc_default }, +template EUTRAN_NeighbourCells tr_EUTRAN_NeighbourCells_default(template (present) EUTRAN_CellDescs cell_desc_list := { tr_EUTRAN_CellDesc_default }, template uint3_t prio := 3, template (present) uint5_t thresh_high := 20, template uint5_t thresh_low := 10, @@ -978,7 +978,7 @@ } /* expect to receive a RSL message matching a specified template on a given BTS / stream */ -function f_exp_ipa_rx(integer bts_nr, template RSL_Message t_rx, float t_secs := 2.0, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +function f_exp_ipa_rx(integer bts_nr, template (present) RSL_Message t_rx, float t_secs := 2.0, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT return RSL_Message { var ASP_RSL_Unitdata rx_rsl_ud; timer T := t_secs; @@ -998,7 +998,7 @@ } /* helper function to transmit RSL on a given BTS/stream */ -function f_ipa_tx(integer bts_nr, template RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) +function f_ipa_tx(integer bts_nr, template (value) RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT { IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(t_tx, sid)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19757 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3e6e724d563993202611e73b525d5d6769bb5460 Gerrit-Change-Number: 19757 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Fix compiler warning In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 ) Change subject: GSM_RR_Types: Fix compiler warning ...................................................................... GSM_RR_Types: Fix compiler warning GSM_RR_Types.ttcn: In TTCN-3 module `GSM_RR_Types': GSM_RR_Types.ttcn:957.2-983.2: In template definition `ts_IMM_ASS': GSM_RR_Types.ttcn:957.2-983.2: While checking template restriction `value': GSM_RR_Types.ttcn:146.14-16: warning: Inadequate restriction on the referenced template parameter `len', this may cause a dynamic test case error at runtime GSM_RR_Types.ttcn:145.44-63: note: Referenced template parameter is here Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 --- M library/GSM_RR_Types.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/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 2c607a7..cd599f3 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -956,7 +956,7 @@ template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), + header := ts_RrHeader(IMMEDIATE_ASSIGNMENT, 0), payload := { imm_ass := { ded_or_tbf := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19758 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1 Gerrit-Change-Number: 19758 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:54:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Fix ttcn3 parser error on some Titan versions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 ) Change subject: stp: Fix ttcn3 parser error on some Titan versions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b Gerrit-Change-Number: 19748 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 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 Fri Aug 21 11:54:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:54:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Fix ttcn3 parser error on some Titan versions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 ) Change subject: stp: Fix ttcn3 parser error on some Titan versions ...................................................................... stp: Fix ttcn3 parser error on some Titan versions It is a known bug that some verisons of titan don't support having several alt cases without any separator. This is already fixed in master, but it doesn't hurt adding them to have them compile on other versions. Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b --- M stp/STP_Tests_IPA.ttcn M stp/STP_Tests_M3UA.ttcn 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index 48652b8..c67bc4a 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -234,8 +234,8 @@ var octetstring data := f_rnd_octstring(f_rnd_ipa_len()); f_IPA_send(0, data); alt { - [] as_count_rx(1, data, num_rx[1]) - [] as_count_rx(2, data, num_rx[2]) + [] as_count_rx(1, data, num_rx[1]); + [] as_count_rx(2, data, num_rx[2]); } } /* FIXME: check for extraneous messages? */ diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index f6fa625..58e52d3 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -367,8 +367,8 @@ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data); f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1); alt { - [] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[1]) - [] as_count_rx(2, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[2]) + [] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[1]); + [] as_count_rx(2, tr_M3UA_DATA(rctx_receiver, rx_pd), num_rx[2]); } } /* FIXME: check for extraneous messages? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19748 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I999d4cc5c1c26b8bbdf8b30ad8dfdc8f55ca433b Gerrit-Change-Number: 19748 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 Aug 21 11:57:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:57:31 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/19741/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-sgsn/+/19741/1//COMMIT_MSG at 9 PS1, Line 9: DNS we most definitely *NEVER* want to use DNS, as it is blocking unless you use libadns or the like. localhost should be resolved via NSS and /etc/hosts, so we get away with that. We must make sure that our VTY only accepts numeric IP addresses or otherwise we will run into blocking getaddrinfo calls that bring everything to a halt. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 11:57:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:58:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:58:45 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: Code-Review-1 see my comment to the other patch. Please either make sure that DNS is never used (not sure if getaddrinfo permits that), or at the very least make sure we can never have anything but localhost or numeric IPv4/IPV6 addresses in those strings. And remove the mention of DNS here. NSS. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 11:58:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 11:59:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 11:59:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 ) Change subject: library/PCUIF_Types: fix typo: s/local_pprt/local_port/g ...................................................................... library/PCUIF_Types: fix typo: s/local_pprt/local_port/g Change-Id: Ic81469107d16c47f02db93a4fe9c35b7825d74b5 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index dbb1436..aab5f09 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -208,7 +208,7 @@ uint8_t initial_mcs, record length(2) of uint16_t nsvci, - record length(2) of uint16_t local_pprt, + record length(2) of uint16_t local_port, record length(2) of uint16_t remote_port, record length(2) of OCT4 remote_ip } with { @@ -829,7 +829,7 @@ initial_cs := ?, initial_mcs := ?, nsvci := ?, - local_pprt := ?, + local_port := ?, remote_port := ?, remote_ip := ? } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1c77256..bb10a77 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -90,7 +90,7 @@ initial_cs := 2, initial_mcs := 6, nsvci := { mp_nsconfig.nsvci, 0 }, - local_pprt := { mp_nsconfig.remote_udp_port, 0 }, + local_port := { mp_nsconfig.remote_udp_port, 0 }, remote_port := { mp_nsconfig.local_udp_port, 0 }, remote_ip := { f_inet_haddr(mp_nsconfig.local_ip) , '00000000'O } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19743 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81469107d16c47f02db93a4fe9c35b7825d74b5 Gerrit-Change-Number: 19743 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 Aug 21 12:00:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:00:02 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19738 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19738/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/19738/1//COMMIT_MSG at 9 PS1, Line 9: DNS no DNS -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 12:00: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 Fri Aug 21 12:01:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:01:06 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19735 ) Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 12:01: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 Aug 21 12:02:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:02:07 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 12: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 Fri Aug 21 12:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:03:04 +0000 Subject: Change in osmo-msc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19739 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/19739/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-msc/+/19739/1//COMMIT_MSG at 9 PS1, Line 9: local DNS NSS -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 Gerrit-Change-Number: 19739 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 12:03:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 12:04:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 12:04:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Bind to free SCTP port instead of hardcoded 9999 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 ) Change subject: stp: Bind to free SCTP port instead of hardcoded 9999 ...................................................................... stp: Bind to free SCTP port instead of hardcoded 9999 TTCN3 transforms -1 internally to 9999. We don't care about the src port here since we are a client, so let's simple take a randomly free one. Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/19759/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 58e52d3..68cea2a 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -95,7 +95,7 @@ friend function f_M3UA_connect(integer i) runs on RAW_M3UA_CT { var Result res; res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_ip, mp_stp_m3ua_port, - mp_local_ip, mp_local_m3ua_port+i, -1, + mp_local_ip, mp_local_m3ua_port+i, 0, {sctp:=valueof(ts_SCTP)}); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect M3UA socket, check your configuration"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6 Gerrit-Change-Number: 19759 Gerrit-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 Aug 21 12:04:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 12:04:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Enable Titan SCTP multi-homing feature support References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 ) Change subject: Enable Titan SCTP multi-homing feature support ...................................................................... Enable Titan SCTP multi-homing feature support Reference: titan.TestPorts.IPL4asp/doc/IPL4asp_Description.adoc Change-Id: Icf3af8c6386419374b655cf6b40dd3e6ddcef8c5 --- M regen-makefile.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/19760/1 diff --git a/regen-makefile.sh b/regen-makefile.sh index a2aa946..f6e9538 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -45,13 +45,13 @@ TITAN_VERSION=$(ttcn3_makefilegen -v 2>&1 |grep "Product number" |cut --delimiter="/" -f 2-| sed -e "s/[A-Z ]//g") sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = \/usr/' Makefile -sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan /' Makefile +sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan -lsctp /' Makefile #sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile # The -DMAKEDEPEND_RUN is a workaround for Debian packaging issue, # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879816 for details if [ $(($TITAN_VERSION >= 65)) = 1 ]; then - sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP/' Makefile + sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED/' Makefile else sed -i -e 's/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -I$(TTCN3_DIR)\/include -I\/usr\/include\/titan/' Makefile fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf3af8c6386419374b655cf6b40dd3e6ddcef8c5 Gerrit-Change-Number: 19760 Gerrit-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 Aug 21 12:04:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:04:29 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c at 535 PS1, Line 535: / > I thought we had it figured out already above? (comment is duplicated buy doesn't really make much s [?] you're still figuring it out twice. I think 'figure out' is ok for name rsolution, but for he actual connect, there's not mucht to figure out? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 21 Aug 2020 12:04:29 +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 Aug 21 12:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 12:04:59 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 21 Aug 2020 12:04:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 12:05:47 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 21 Aug 2020 12:05:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 ) Change subject: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) ...................................................................... Patch Set 1: > Patch Set 1: > > How did we end up changing this? I don't recall any changes to the BYE. Only INVITE was recently changed in I5c35c5a4bad2fbe76c22ac6d7ee37c832e0ba246. > > In general, I think we then should preferably fix the implementation rather than accepting our IUT to behave outside of the spec? The invite headers seems to be used later in the invite, because it's added to the session handle. The bye is using all headers without any check. I would abandon this commit and open a bug on the github page of sofia-sip. https://osmocom.org/issues/4718 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida17247a90bf30b14d7a6587b92f14c1c7eb9f7a Gerrit-Change-Number: 19704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 12:05:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 12:06:00 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 21 Aug 2020 12:06:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 ) Change subject: SIP_Templates: tr_SIP_BYE: allow violations of the spec (Contact header) ...................................................................... Abandoned The bug has to be fixed in sofia-sip. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19704 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida17247a90bf30b14d7a6587b92f14c1c7eb9f7a Gerrit-Change-Number: 19704 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 12:06:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 12:06:12 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c at 535 PS1, Line 535: / > you're still figuring it out twice. [?] In any case, this is just an intermediate state towards next patch. I don't think it's really worth spending time on comment details in this one. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 12:06: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 Fri Aug 21 12:56:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 12:56:35 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... mscpool: fix refcount leak for unusual case of no bts by reading the code, I notice that a refcount on the subscr would be leaked if there were no bts. That is not realistically happening, but nevertheless rather rejigger so that no leak is possible, ever. Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/19761/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index d5915f4..e7ef728 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -198,6 +198,7 @@ bool is_emerg = false; int16_t nri_v = -1; bool is_null_nri = false; + struct gsm_bts *bts; if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DRSL, LOGL_ERROR, "There is no GSM48 header here.\n"); @@ -221,10 +222,10 @@ } /* Has the subscriber been paged from a connected MSC? */ - if (pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) { + bts = conn_get_bts(conn); + if (bts && pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) { subscr = bsc_subscr_find_by_mi(conn->network->bsc_subscribers, &mi); - struct gsm_bts *bts = conn_get_bts(conn); - if (bts && subscr) { + if (subscr) { msc_target = paging_get_msc(bts, subscr); bsc_subscr_put(subscr); if (is_msc_usable(msc_target, is_emerg)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 13:26:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 13:26:36 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19761/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/19761/1//COMMIT_MSG at 11 PS1, Line 11: rejigger so that no leak is possible, ever. rejigger? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 13:26:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 13:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 13:28:56 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... stream: Fix log of IPv6 during accept() Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 --- M src/stream.c 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/62/19762/1 diff --git a/src/stream.c b/src/stream.c index e265ee1..8f83113 100644 --- a/src/stream.c +++ b/src/stream.c @@ -834,7 +834,9 @@ { int ret; int sock_fd; - struct sockaddr_in sa; + char addrstr[128]; + bool is_ipv6; + struct sockaddr_storage sa; socklen_t sa_len = sizeof(sa); struct osmo_stream_srv_link *link = ofd->data; @@ -844,8 +846,13 @@ "peer, reason=`%s'\n", strerror(errno)); return ret; } + is_ipv6 = sa_len == sizeof(struct sockaddr_in6); LOGP(DLINP, LOGL_DEBUG, "accept()ed new link from %s to port %u\n", - inet_ntoa(sa.sin_addr), link->port); + inet_ntop(is_ipv6 ? AF_INET6 : AF_INET, + is_ipv6 ? (void*)&(((struct sockaddr_in6 *)&sa)->sin6_addr) : + (void*)&(((struct sockaddr_in *)&sa)->sin_addr), + addrstr, sizeof(addrstr)), + link->port); sock_fd = ret; if (link->proto == IPPROTO_SCTP) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-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 Aug 21 13:43:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 13:43:49 +0000 Subject: Change in libosmocore[master]: osmo_sock_get_ip_and_port(): Support IPv6 sockets References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19763 ) Change subject: osmo_sock_get_ip_and_port(): Support IPv6 sockets ...................................................................... osmo_sock_get_ip_and_port(): Support IPv6 sockets Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b --- M src/socket.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/19763/1 diff --git a/src/socket.c b/src/socket.c index 03c932c..50d59e5 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1072,16 +1072,16 @@ */ int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local) { - struct sockaddr sa; + struct sockaddr_storage sa; socklen_t len = sizeof(sa); char ipbuf[INET6_ADDRSTRLEN], portbuf[6]; int rc; - rc = local ? getsockname(fd, &sa, &len) : getpeername(fd, &sa, &len); + rc = local ? getsockname(fd, (struct sockaddr*)&sa, &len) : getpeername(fd, (struct sockaddr*)&sa, &len); if (rc < 0) return rc; - rc = getnameinfo(&sa, len, ipbuf, sizeof(ipbuf), + rc = getnameinfo((const struct sockaddr*)&sa, len, ipbuf, sizeof(ipbuf), portbuf, sizeof(portbuf), NI_NUMERICHOST | NI_NUMERICSERV); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b Gerrit-Change-Number: 19763 Gerrit-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 Aug 21 13:45:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 13:45:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 ) Change subject: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols ...................................................................... TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols Both are part of GSM LCS and are spoken between BSC and SMLC Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e --- A library/BSSAP_LE_Types.ttcn A library/BSSLAP_Types.ttcn A library/BSSMAP_LE_Templates.ttcn 3 files changed, 1,558 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/19764/1 diff --git a/library/BSSAP_LE_Types.ttcn b/library/BSSAP_LE_Types.ttcn new file mode 100644 index 0000000..ae7385b --- /dev/null +++ b/library/BSSAP_LE_Types.ttcn @@ -0,0 +1,594 @@ +module BSSAP_LE_Types { + +/* BSSAP_LE_Types, defining abstract TTCN-3 data types for the 3GPP BSSMAP-LE protocol. + * + * BSSMAP-LE is a 3GPP standard protocol used by SMLC and its peers in a GSM network. + * This file covers 3GPP TS 49.031 version 15.0.0 Release 15 + * + * (C) 2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from BSSAP_Types all; +import from BSSLAP_Types all; +import from MobileL3_CommonIE_Types all; + +/* TS 49.031 Section 10.1 */ +type enumerated BSSMAP_LE_MsgType { + BSSMAP_LE_PERFORM_LOC_REQ ('00101011'B), + BSSMAP_LE_PERFORM_LOC_RESP ('00101101'B), + BSSMAP_LE_PERFORM_LOC_ABORT ('00101110'B), + BSSMAP_LE_PERFORM_LOC_INFO ('00101111'B), + BSSMAP_LE_ASSIST_INFO_REQ ('00100000'B), + BSSMAP_LE_ASSIST_INFO_RESP ('00100001'B), + + BSSMAP_LE_CONN_ORIENTED_INFO ('00101010'B), + BSSMAP_LE_CONN_LESS_INFO ('00111010'B), + + BSSMAP_LE_RESET ('00110000'B), + BSSMAP_LE_RESET_ACK ('00110001'B) +}; + +/* TS 49.031 Section 10.2 */ +type enumerated BSSMAP_LE_IEI { + BSSMAP_LE_IEI_LCS_QoS ('00111110'B), + BSSMAP_LE_IEI_LCS_PRIORITY ('01000011'B), + BSSMAP_LE_IEI_LOCATION_TYPE ('01000100'B), + BSSMAP_LE_IEI_GANSS_LOCATION_TYPE ('10000010'B), + BSSMAP_LE_IEI_GEO_LOCATION ('01000101'B), + BSSMAP_LE_IEI_POSITIONING_DATA ('01000110'B), + BSSMAP_LE_IEI_GANSS_POS_DATA ('10000011'B), + BSSMAP_LE_IEI_VELOCITY_DATA ('01010101'B), + BSSMAP_LE_IEI_LCS_CAUSE ('01000111'B), + BSSMAP_LE_IEI_LCS_CLIENT_TYPE ('01001000'B), + BSSMAP_LE_IEI_APDU ('01001001'B), + BSSMAP_LE_IEI_NET_ELEM_ID ('01001010'B), + BSSMAP_LE_IEI_REQ_GPS_ASS_D ('01001011'B), + BSSMAP_LE_IEI_REQ_GANSS_ASS_D ('01000001'B), + BSSMAP_LE_IEI_DECIPH_KEYS ('01001100'B), + BSSMAP_LE_IEI_RET_ERR_REQ ('01001101'B), + BSSMAP_LE_IEI_RET_ERR_CAUSE ('01001110'B), + BSSMAP_LE_IEI_SEGMENTATION ('01001111'B), + BSSMAP_LE_IEI_CLASSMARK3_INFO ('00010011'B), + BSSMAP_LE_IEI_CAUSE ('00000100'B), + BSSMAP_LE_IEI_CELL_ID ('00000101'B), + BSSMAP_LE_IEI_CHOSEN_CHAN ('00100001'B), + BSSMAP_LE_IEI_IMSI ('00000000'B), + BSSMAP_LE_IEI_LCS_CAPABILITY ('01010000'B), + BSSMAP_LE_IEI_PKT_MEAS_REP ('01010001'B), + BSSMAP_LE_IEI_CELL_ID_LIST ('01010010'B), + BSSMAP_LE_IEI_IMEI ('10000000'B), + BSSMAP_LE_IEI_BSS_MLAT_CAP ('10000100'B), + BSSMAP_LE_IEI_CELL_INFO_LIST ('10000101'B), + BSSMAP_LE_IEI_BTS_RX_ACC_LVL ('10000110'B), + BSSMAP_LE_IEI_MLAT_METHOD ('10000111'B), + BSSMAP_LE_IEI_MLAT_TA ('10001000'B), + BSSMAP_LE_IEI_MS_SYNC_ACC ('10001001'B), + BSSMAP_LE_IEI_SHORT_ID_SET ('10001010'B), + BSSMAP_LE_IEI_RANDOM_ID_SET ('10001011'B), + BSSMAP_LE_IEI_SHORT_BSS_ID ('10001100'B), + BSSMAP_LE_IEI_RANDOM_ID ('10001101'B), + BSSMAP_LE_IEI_SHORT_ID ('10001110'B), + BSSMAP_LE_IEI_COVERAGE_CLASS ('10001111'B), + BSSMAP_LE_IEI_MTA_ACC_SEC_RQD ('10010000'B) +}; + +/* Section 9.1 */ +type record BSSMAP_LE_PerfLocReq { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_LocationType location_type, + BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_IE_ClassmarkInformationType3 cm3 optional, + BSSMAP_LE_IE_LcsClientType lcs_client_type optional, + BSSMAP_IE_ChosenChannel chosen_channel optional, + BSSMAP_LE_IE_LcsPriority lcs_priority optional, + BSSMAP_LE_IE_LcsQoS lcs_qos optional, + BSSMAP_LE_IE_ReqGpsAssD req_gps_ass_d optional, + BSSMAP_LE_IE_APDU bsslap_apdu optional, + BSSMAP_LE_IE_LcsCapability lcs_capability optional, + BSSMAP_LE_IE_PacketMeasRep packet_meas_rep optional, + BSSMAP_LE_IE_CellIdList meas_cell_id_list optional, + BSSMAP_LE_IE_IMSI imsi optional, + BSSMAP_LE_IE_IMEI imei optional + // TODO: more optional IEs +}; + +/* Section 9.2 */ +type record BSSMAP_LE_PerfLocResp { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_GeographicLoc geographic_loc optional, + BSSMAP_LE_IE_PositioningData pos_data optional, + BSSMAP_LE_IE_DecipheringKeys deciph_keys optional, + BSSMAP_LE_IE_LcsCause lcs_cause optional, + BSSMAP_LE_IE_VelocityData velocity_data optional, + BSSMAP_LE_IE_GanssPosData ganss_pos_data optional +}; + +/* Section 9.4 */ +type record BSSMAP_LE_PerfLocAbort { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_LcsCause lcs_cause +}; + +/* Section 9.8 */ +type record BSSMAP_LE_ConnOrientedInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_APDU bsslap_apdu, + BSSMAP_LE_IE_Segmentation segmentation optional + // TODO: MLA related optional IEs +}; + +/* Section 9.9 */ +type record BSSMAP_LE_ConnLessInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_NetElementId source_id, + BSSMAP_LE_IE_NetElementId dest_id, + BSSMAP_LE_IE_APDU bsslap_apdu optional, + BSSMAP_LE_IE_Segmentation segmentation optional, + BSSMAP_LE_IE_RetErrReq ret_err_req optional, + BSSMAP_LE_IE_RetErrCause ret_err_cause optional +}; + +/* Section 9.10 */ +type record BSSMAP_LE_Reset { + BSSMAP_LE_MsgType msg_type, + BSSMAP_IE_Cause cause +}; + +/* Section 9.11 */ +type record BSSMAP_LE_ResetAck { + BSSMAP_LE_MsgType msg_type +}; + +/* Section 9.12 */ +type record BSSMAP_LE_PerformLocInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_LE_IE_APDU bsslap_apdu optional +}; + +type union BSSMAP_LE_PDU { + BSSMAP_LE_PerfLocReq perf_loc_req, + BSSMAP_LE_PerfLocResp perf_loc_resp, + BSSMAP_LE_PerfLocAbort perf_loc_abort, + BSSMAP_LE_ConnOrientedInfo co_info, + BSSMAP_LE_ConnLessInfo cl_info, + BSSMAP_LE_Reset reset, + BSSMAP_LE_ResetAck reset_ack, + BSSMAP_LE_PerformLocInfo perf_loc_info, + /* The following BSSMAP messages defined in 3GPP TS 48.008 are applicable to the Lb interface to + * support signaling to a Type A LMU using an SDCCH */ + PDU_BSSMAP_CipherModeCommand cipherModeCommand, + PDU_BSSMAP_CipherModeComplete cipherModeComplete, + PDU_BSSMAP_CipherModeReject cipherModeReject, + PDU_BSSMAP_ClassmarkUpdate classmarkUpdate, + PDU_BSSMAP_ClearCommand clearCommand, + PDU_BSSMAP_ClearComplete clearComplete, + PDU_BSSMAP_ClearRequest clearRequest, + PDU_BSSMAP_CompleteLayer3Information completeLayer3Information, + PDU_BSSMAP_Confusion confusion, + PDU_BSSMAP_HandoverRequired handoverRequired, + PDU_BSSMAP_HandoverRequiredReject handoverRequiredReject, + PDU_BSSMAP_HandoverPerformed handoverPerformed, + PDU_BSSMAP_Paging paging +} with { + variant "TAG( + perf_loc_req, msg_type = BSSMAP_LE_PERFORM_LOC_REQ; + perf_loc_resp, msg_type = BSSMAP_LE_PERFORM_LOC_RESP; + perf_loc_abort, msg_type = BSSMAP_LE_PERFORM_LOC_ABORT; + co_info, msg_type = BSSMAP_LE_CONN_ORIENTED_INFO; + cl_info, msg_type = BSSMAP_LE_CONN_LESS_INFO; + reset, msg_type = BSSMAP_LE_RESET; + reset_ack, msg_type = BSSMAP_LE_RESET_ACK; + perf_loc_info, msg_type = BSSMAP_LE_PERFORM_LOC_INFO; + )" +}; + +/* Section 10.3 */ +type record BSSMAP_LE_IE_APDU { + BSSMAP_LE_IEI iei, + uint16_t len, + BIT1 spare, + BSSMAP_LE_ProtocolId protocol_id, + octetstring data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_APDU)" + variant (len) "LENGTHTO(spare,protocol_id,data)" +}; +type enumerated BSSMAP_LE_ProtocolId { + BSSMAP_LE_PROT_RESERVED ('0000000'B), + BSSMAP_LE_PROT_BSSLAP ('0000001'B), + BSSMAP_LE_PROT_LLP ('0000010'B), + BSSMAP_LE_PROT_SMLCPP ('0000011'B) +} with { variant "FIELDLENGTH(7)" }; + +/* Section 10.8 */ +type record BSSMAP_LE_IE_DecipheringKeys { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT7 spare, + boolean ciph_key_flag, + OCT7 cur_deciph_key, + OCT7 next_deciph_key +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_DECIPH_KEYS)" + variant (len) "LENGTHTO(spare,ciph_key_flag,cur_deciph_key,next_deciph_key)" +} + +/* Section 10.9 */ +type record BSSMAP_LE_IE_GeographicLoc { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring location +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_GEO_LOCATION)" + variant (len) "LENGTHTO(location)" +} + +/* Section 10.10 */ +type record BSSMAP_LE_IE_ReqGpsAssD { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT16 flags, + octetstring sat_data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_REQ_GPS_ASS_D)" + variant (len) "LENGTHTO(flags,sat_data)" +} + +/* Section 10.11 */ +type record BSSMAP_LE_IE_IMSI { + BSSMAP_LE_IEI iei, + uint8_t len, + MobileIdentityV imsi +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMSI)" + variant (len) "LENGTHTO(imsi)" +} + +/* Section 10.13 */ +type record BSSMAP_LE_IE_LcsCause { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_LcsCause cause, + OCT1 diag_val optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMSI)" + variant (len) "LENGTHTO(cause,diag_val)" +} +type enumerated BSSMAP_LE_LcsCause { + BSSMAP_LE_LCS_CAUSE_UNSPEIFIED ('00000000'B), + BSSMAP_LE_LCS_CAUSE_SYSTEM_FAILURE ('00000001'B), + BSSMAP_LE_LCS_CAUSE_PROTOCOL_ERROR ('00000010'B), + BSSMAP_LE_LCS_CAUSE_DATA_MISSING_IN_REQ ('00000011'B), + BSSMAP_LE_LCS_CAUSE_UNEXP_DATA_IN_REQ ('00000100'B), + BSSMAP_LE_LCS_CAUSE_POS_METH_FAILURE ('00000101'B), + BSSMAP_LE_LCS_CAUSE_TGT_MS_UNREACHABLE ('00000110'B), + BSSMAP_LE_LCS_CAUSE_REQUEST_ABORTED ('00000111'B), + BSSMAP_LE_LCS_CAUSE_FACILITY_NOTSUPP ('00001000'B), + BSSMAP_LE_LCS_CAUSE_INTER_BSC_HO ('00001001'B), + BSSMAP_LE_LCS_CAUSE_INTRA_BSC_HO ('00001010'B), + BSSMAP_LE_LCS_CAUSE_CONGESTION ('00001011'B), + BSSMAP_LE_LCS_CAUSE_INTER_NSE_CHG ('00001100'B), + BSSMAP_LE_LCS_CAUSE_RA_UPDAT ('00001101'B), + BSSMAP_LE_LCS_CAUSE_PTMSI_REALLOC ('00001110'B), + BSSMAP_LE_LCS_CAUSE_GPRS_SUSPENSION ('00001111'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.14 */ +type record BSSMAP_LE_IE_LcsClientType { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_ClientType cltype +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_CAUSE)" + variant (len) "LENGTHTO(cltype)" +} +type enumerated BSSMAP_LE_ClientType { + BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED ('00000000'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED ('00100000'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE ('00100001'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM ('00100010'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS ('00100011'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC ('00100100'B), + BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED ('00110000'B), + BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED ('01000000'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.15 */ +type record BSSMAP_LE_IE_LcsPriority { + BSSMAP_LE_IEI iei, + uint8_t len, + OCT1 priority +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_PRIORITY)" + variant (len) "LENGTHTO(priority)" +} + +/* Section 10.16 */ +type record BSSMAP_LE_IE_LcsQoS { + BSSMAP_LE_IEI iei, + uint8_t len, + + BIT6 spare, + boolean vel, + boolean vert, + + boolean ha, + uint7_t horiz_acc, + + boolean va, + uint7_t vert_acc, + + BIT2 rt, + BIT6 spare2 +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_QoS)" + variant (len) "LENGTHTO(spare,vel,vert,ha,horiz_acc,va,vert_acc,rt,spare2)" +} + +/* Section 10.18 */ +type record BSSMAP_LE_IE_LocationType { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_LocInfo loc_info, + BSSMAP_LE_PosMethod pos_method optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LOCATION_TYPE)" + variant (len) "LENGTHTO(loc_info,pos_method)" + variant (pos_method) "PRESENCE(loc_info = BSSMAP_LE_LOC_INFO_ASS_INFO_FOR_TGT_MS, + loc_info = BSSMAP_LE_LOC_INFO_DECIPH_KEYS_FOR_BCAST)" +} +type enumerated BSSMAP_LE_LocInfo { + BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC ('00000000'B), + BSSMAP_LE_LOC_INFO_ASS_INFO_FOR_TGT_MS ('00000001'B), + BSSMAP_LE_LOC_INFO_DECIPH_KEYS_FOR_BCAST ('00000010'B) +} with { variant "FIELDLENGTH(8)" }; +type enumerated BSSMAP_LE_PosMethod { + BSSMAP_LE_POS_METHOD_RESERVED ('00000000'B), + BSSMAP_LE_POS_MOBILE_ASSISTED_EOTD ('00000001'B), + BSSMAP_LE_POS_MOBILE_BASED_EOTD ('00000010'B), + BSSMAP_LE_POS_ASSISTED_GPS ('00000011'B), + BSSMAP_LE_POS_ASSISTED_GANSS ('00000100'B), + BSSMAP_LE_POS_ASSISTED_GPS_AND_GANSS ('00000101'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.19 */ +type record BSSMAP_LE_IE_NetElementId { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT4 spare, + BSSMAP_LE_IdDiscr id_discr, + BSSMAP_LE_IdU u +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_NET_ELEM_ID)" + variant (len) "LENGTHTO(spare,id_discr,u)" + variant (u) "CROSSTAG( + cgi, id_discr = BSSMAP_LE_ID_DISC_CGI; + lac_ci, id_discr = BSSMAP_LE_ID_DISC_LAC_CI; + lai, id_discr = BSSMAP_LE_ID_DISC_LAI; + lac, id_discr = BSSMAP_LE_ID_DISC_LAC; + lmu, id_discr = BSSMAP_LE_ID_LMU; + )" +}; +type enumerated BSSMAP_LE_IdDiscr { + BSSMAP_LE_ID_DISC_CGI ('0000'B), + BSSMAP_LE_ID_DISC_LAC_CI ('0001'B), + BSSMAP_LE_ID_DISC_LAI ('0100'B), + BSSMAP_LE_ID_DISC_LAC ('0101'B), + BSSMAP_LE_ID_LMU ('0110'B) +} with { variant "FIELDLENGTH(4)" }; +type union BSSMAP_LE_IdU { + BSSMAP_LE_Id_CGI cgi, + BSSMAP_LE_Id_LAC_CI lac_ci, + BSSMAP_LE_Id_LAI lai, + uint16_t lac, + octetstring lmu +}; +type record BSSMAP_LE_Id_CGI { + HEX6n mcc_mnc, + uint16_t lac, + uint16_t ci +}; +type record BSSMAP_LE_Id_LAC_CI { + uint16_t lac, + uint16_t ci +}; +type record BSSMAP_LE_Id_LAI { + HEX6n mcc_mnc, + uint16_t lac +}; + +/* Section 10.20 */ +type record BSSMAP_LE_IE_PositioningData { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT4 spare, + uint4_t discr, + BSSMAP_LE_PosMethList pos_meth +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_POSITIONING_DATA)" + variant (len) "LENGTHTO(spare,discr,pos_meth)" +}; +type record of BSSMAP_LE_PosMethodN BSSMAP_LE_PosMethList; +type record BSSMAP_LE_PosMethodN { + BSSMAP_LE_Method method, + BSSMAP_LE_Usage usage +}; +type enumerated BSSMAP_LE_Method { + BSSMAP_LE_METHOD_TA ('00000'B), + BSSMAP_LE_METHOD_RESERVED0 ('00001'B), + BSSMAP_LE_METHOD_RESERVED1 ('00010'B), + BSSMAP_LE_METHOD_MOBILE_ASS_EOTD ('00011'B), + BSSMAP_LE_METHOD_MOBILE_BASED_EOTD ('00100'B), + BSSMAP_LE_METHOD_MOBILE_ASS_GPS ('00101'B), + BSSMAP_LE_METHOD_MOBILE_BASED_GPS ('00110'B), + BSSMAP_LE_METHOD_CONVENTIONAL_GPS ('00111'B), + BSSMAP_LE_METHOD_UTDOA ('01000'B), + BSSMAP_LE_METHOD_CELL_ID ('01100'B) +} with { variant "FIELDLENGTH(5)" }; +type enumerated BSSMAP_LE_Usage { + BSSMAP_LE_USAGE_ATTEMPTED_UNSUCC ('000'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_NOT_USED ('001'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USED_VRFY_NOT_GEN ('010'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USED_GEN ('011'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USAGE_UNDETERMINED ('100'B) +} with { variant "FIELDLENGTH(3)" }; + +/* Section 10.21 */ +type record BSSMAP_LE_IE_RetErrReq { + BSSMAP_LE_IEI iei, + uint8_t len, + OCT1 ret_err_type +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_RET_ERR_REQ)" + variant (len) "LENGTHTO(ret_err_type)" +} + +/* Section 10.22 */ +type record BSSMAP_LE_IE_RetErrCause { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_RetErrCause cause +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_RET_ERR_REQ)" + variant (len) "LENGTHTO(cause)" +} +type enumerated BSSMAP_LE_RetErrCause { + BSSMAP_LE_RE_CAUSE_UNSPECIFIED ('00000000'B), + BSSMAP_LE_RE_CAUSE_SYSTEM_FAILURE ('00000001'B), + BSSMAP_LE_RE_CAUSE_PROTOCOL_ERROR ('00000010'B), + BSSMAP_LE_RE_CAUSE_DEST_UNKNOWN ('00000011'B), + BSSMAP_LE_RE_CAUSE_DEST_UNREACHABLE ('00000100'B), + BSSMAP_LE_RE_CAUSE_CONGESTION ('00000101'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.24 */ +type record BSSMAP_LE_IE_Segmentation { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT3 spare, + boolean s_non_final, + uint4_t seg_nr, + OCT2 msg_id optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_SEGMENTATION)" + variant (len) "LENGTHTO(spare,s_non_final,seg_nr,msg_id)" +} + +/* Section 10.26 */ +type record BSSMAP_LE_IE_LcsCapability { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring lcs_cap +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_CAPABILITY)" + variant (len) "LENGTHTO(lcs_cap)" +} + +type record BSSMAP_LE_IE_PacketMeasRep { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring pkt_meas_rep +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_PKT_MEAS_REP)" + variant (len) "LENGTHTO(pkt_meas_rep)" +} + +type record BSSMAP_LE_IE_CellIdList { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSLAP_CellIdList cell_id_list +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_CELL_ID_LIST)" + variant (len) "LENGTHTO(cell_id_list)" +} + +/* Section 10.29 */ +type record BSSMAP_LE_IE_IMEI { + BSSMAP_LE_IEI iei, + uint8_t len, + MobileIdentityV imei +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMEI)" + variant (len) "LENGTHTO(imei)" +} + +/* Section 10.30 */ +type record BSSMAP_LE_IE_VelocityData { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_VELOCITY_DATA)" + variant (len) "LENGTHTO(data)" +} + +/* Section 10.32 */ +type record BSSMAP_LE_IE_GanssPosData { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_GanssList list +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_VELOCITY_DATA)" + variant (len) "LENGTHTO(list)" +} +type record of BSSMAP_LE_Ganss BSSMAP_LE_GanssList; +type record BSSMAP_LE_Ganss { + BSSMAP_LE_GanssMethod method, + BSSMAP_LE_GanssId id, + BSSMAP_LE_Usage usage +}; +type enumerated BSSMAP_LE_GanssMethod { + BSSMAP_LE_GANSS_METH_MS_BASED ('00'B), + BSSMAP_LE_GANSS_METH_MS_ASSISTED ('01'B), + BSSMAP_LE_GANSS_METH_MS_CONVENTIONAL ('10'B), + BSSMAP_LE_GANSS_METH_MS_RESERVED ('11'B) +} with { variant "FIELDLENGTH(2)" }; +type enumerated BSSMAP_LE_GanssId { + BSSMAP_LE_GANSS_ID_GALILEO ('000'B), + BSSMAP_LE_GANSS_ID_SBAS ('001'B), + BSSMAP_LE_GANSS_ID_MODERNIZED_GPS ('010'B), + BSSMAP_LE_GANSS_ID_QZSS ('011'B), + BSSMAP_LE_GANSS_ID_GLONASS ('100'B), + BSSMAP_LE_GANSS_ID_BDS ('101'B) +} with { variant "FIELDLENGTH(3)" }; + +/* FIXME: Further IEs */ + + + + +type union BSSMAPLEorDTAP { + BSSMAP_LE_PDU bssmap, + octetstring dtap +} + +type record PDU_BSSAP_LE { + BIT1 discriminator, // 0 = BSSMAP-LE; 1 = DTAP-LE + BIT7 spare, // always '0000000'B + OCT1 dlci optional, + LIN1 lengthIndicator, + BSSMAPLEorDTAP pdu +} with { + variant (lengthIndicator) "LENGTHTO(pdu)" + variant (pdu) "CROSSTAG(bssmap, discriminator='0'B; + dtap, discriminator='1'B)" + variant (dlci) "PRESENCE(discriminator='1'B)" +} + + +external function enc_PDU_BSSAP_LE(in PDU_BSSAP_LE pdu) return octetstring +with { extension "prototype(convert) encode(RAW)" } +external function dec_PDU_BSSAP_LE(in octetstring stream) return PDU_BSSAP_LE +with { extension "prototype(convert) decode(RAW)" } + + +} with { encode "RAW" ; variant "FIELDORDER(msb)" } diff --git a/library/BSSLAP_Types.ttcn b/library/BSSLAP_Types.ttcn new file mode 100644 index 0000000..90c3953 --- /dev/null +++ b/library/BSSLAP_Types.ttcn @@ -0,0 +1,530 @@ +module BSSLAP_Types { + +/* BSSLAP_Types, defining abstract TTCN-3 data types for the 3GPP BSSLAP protocol. + * + * BSSLAP is a 3GPP standard protocol used between BSC and SMLC in a GSM network. + * This file covers 3GPP TS 48.071 version 15.0.0 Release 15 + * + * (C) 2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + + +/* 3GPP TS 48.071 Table 5.1 */ +type enumerated BSSLAP_IEI { + BSSLAP_IEI_TA ('00000001'B), + BSSLAP_IEI_CELL_ID ('00001001'B), + BSSLAP_IEI_CHAN_DESC ('00010000'B), + BSSLAP_IEI_MEAS_REP ('00010100'B), + BSSLAP_IEI_CAUSE ('00011000'B), + BSSLAP_IEI_RRLP_FLAG ('00011001'B), + BSSLAP_IEI_RRLP ('00011011'B), + BSSLAP_IEI_CELL_ID_LIST ('00011100'B), + BSSLAP_IEI_ENH_MEAS_REP ('00011101'B), + BSSLAP_IEI_LAC ('00011110'B), + BSSLAP_IEI_FREQ_LIST ('00100001'B), + BSSLAP_IEI_MS_POWER ('00100010'B), + BSSLAP_IEI_DELTA_TIMER ('00100011'B), + BSSLAP_IEI_SERVING_CELL_ID ('00100100'B), + BSSLAP_IEI_ENCR_KEY ('00100101'B), + BSSLAP_IEI_CIPH_MODE_SET ('00100110'B), + BSSLAP_IEI_CHAN_MODE ('00100111'B), + BSSLAP_IEI_MR_CONFIG ('00101000'B), + BSSLAP_IEI_POLLING_REPETITION ('00101001'B), + BSSLAP_IEI_PACKET_CHAN_DESC ('00101010'B), + BSSLAP_IEI_TLLI ('00101011'B), + BSSLAP_IEI_TFI ('00101100'B), + BSSLAP_IEI_TBF_START_TIME ('00101101'B), + BSSLAP_IEI_PWRUP_START_TIME ('00101110'B), + BSSLAP_IEI_LONG_ENCR_KEY ('00101111'B), + BSSLAP_IEI_CONCUR_POS_PROC_F ('00110000'B) +} with { variant "FIELDLENGTH(8)" }; + +/* 3GPP TS 48.071 Section 5.1 */ +type enumerated BSSLAP_MsgType { + BSSLAP_MSGT_TA_REQUEST ('00000001'B), + BSSLAP_MSGT_TA_RESPONSE ('00000010'B), + BSSLAP_MSGT_REJECT ('00001010'B), + BSSLAP_MSGT_RESET ('00001011'B), + BSSLAP_MSGT_ABORT ('00001100'B), + BSSLAP_MSGT_TA_LAYER3 ('00001101'B), + BSSLAP_MSGT_MS_POS_CMD ('00001111'B), + BSSLAP_MSGT_MS_POS_RESP ('00010000'B), + BSSLAP_MSGT_UTDOA_REQ ('00010001'B), + BSSLAP_MSGT_UTDOA_RESP ('00010010'B) +} with { variant "FIELDLENGTH(8)" }; + + +/* Section 4.2.1 */ +type record BSSLAP_TaRequest { + BSSLAP_MsgType msg_type +}; + +/* Section 4.2.2 */ +type record BSSLAP_TaResponse { + BSSLAP_MsgType msg_type, + BSSLAP_IE_CellId serving_cell_id, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_ConcurMethodF concur_meth_flag optional +}; + +/* Section 4.2.5 */ +type record BSSLAP_Reject { + BSSLAP_MsgType msg_type, + BSSLAP_IE_Cause cause +}; + +/* Section 4.2.6 */ +type record BSSLAP_Reset { + BSSLAP_MsgType msg_type, + BSSLAP_IE_CellId cell_id, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_ChanDesc chan_desc, + BSSLAP_IE_Cause cause, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_LAC lac optional, + BSSLAP_IE_FreqList freq_list optional, + BSSLAP_IE_ChanMode chan_mode optional, + BSSLAP_IE_MultiRateConfig mr_config optional, + BSSLAP_IE_PacketChanDesc pkt_chan_desc optional, + BSSLAP_IE_TLLI tlli optional, + BSSLAP_IE_TFI tfi optional, + BSSLAP_IE_StartingTime tbf_start_time optional, + BSSLAP_IE_EncryptionKey encr_key optional, + BSSLAP_IE_CiphModeSet ciph_mode_set optional, + BSSLAP_IE_LongEncryptionKey long_encr_key optional +}; + +/* Section 4.2.7 */ +type record BSSLAP_Abort { + BSSLAP_MsgType msg_type, + BSSLAP_IE_Cause cause +}; + +/* Section 4.2.8 */ +type record BSSLAP_TA_Layer3 { + BSSLAP_MsgType msg_type, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional +}; + +/* Section 4.2.9 */ +type record BSSLAP_MS_PosCmd { + BSSLAP_MsgType msg_type, + BSSLAP_IE_RrlpFlag flag, + BSSLAP_IE_Rrlp rrlp_info +}; + +/* Section 4.2.10 */ +type record BSSLAP_MS_PosResp { + BSSLAP_MsgType msg_type, + BSSLAP_IE_RrlpFlag flag, + BSSLAP_IE_Rrlp rrlp_info, + BSSLAP_IE_TimingAdvance timing_advance optional, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_ConcurMethodF concur_meth_flag optional +}; + +/* Section 4.2.11 */ +type record BSSLAP_UTDOA_Req { + BSSLAP_MsgType msg_type, + BSSLAP_IE_DeltaTimer delta_timer optional, + BSSLAP_IE_PollingRep polling_repetition optional +}; + +type union BSSLAP_PDU { + BSSLAP_TaRequest ta_req, + BSSLAP_TaResponse ta_resp, + BSSLAP_Reject reject, + BSSLAP_Reset reset, + BSSLAP_Abort abort, + BSSLAP_TA_Layer3 ta_layer3, + BSSLAP_MS_PosCmd ms_pos_cmd, + BSSLAP_MS_PosResp ms_pos_resp, + BSSLAP_UTDOA_Req utdoa_req + // TODO: U-TDOA Resp +} with { variant "TAG( + ta_req, msg_type = BSSLAP_MSGT_TA_REQUEST; + ta_resp, msg_type = BSSLAP_MSGT_TA_RESPONSE; + reject, msg_type = BSSLAP_MSGT_REJECT; + reset, msg_type = BSSLAP_MSGT_RESET; + abort, msg_type = BSSLAP_MSGT_ABORT; + ta_layer3, msg_type = BSSLAP_MSGT_TA_LAYER3; + ms_pos_cmd, msg_type = BSSLAP_MSGT_MS_POS_CMD; + ms_pos_resp, msg_type = BSSLAP_MSGT_MS_POS_RESP; + utdoa_req, msg_type = BSSLAP_MSGT_UTDOA_REQ; + )" +}; + + +/* Section 5.2 */ +type record BSSLAP_IE_TimingAdvance { + BSSLAP_IEI iei, + uint8_t ta +} with { variant "PRESENCE(iei = BSSLAP_IEI_TA)" }; + + +/* Section 5.4 */ +type record BSSLAP_IE_CellId { + BSSLAP_IEI iei, + uint16_t cell_id +} with { variant "PRESENCE(iei = BSSLAP_IEI_CELL_ID)" }; + +/* Section 5.8 */ +type record BSSLAP_IE_ChanDesc { + BSSLAP_IEI iei, + OCT3 chan_desc +} with { variant "PRESENCE(iei = BSSLAP_IEI_CHAN_DESC)" }; + + +/* Section 5.12 */ +type record BSSLAP_IE_MeasRep { + BSSLAP_IEI iei, + uint8_t len, + octetstring meas_rep +} with { + variant "PRESENCE(iei = BSSLAP_IEI_MEAS_REP)" + variant (len) "LENGTHTO(meas_rep)" +}; + +/* Section 5.14 */ +type record BSSLAP_IE_Cause { + BSSLAP_IEI iei, + BSSLAP_Cause cause +} with { variant "PRESENCE(iei = BSSLAP_IEI_CAUSE)" }; +type enumerated BSSLAP_Cause { + BSSLAP_CAUSE_CONGESTION ('00000000'B), + BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP ('00000001'B), + BSSLAP_CAUSE_POS_PROC_NOT_SUPP ('00000010'B), + BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL ('00000011'B), + BSSLAP_CAUSE_INTRA_BSS_HO ('00000100'B), + BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED ('00000101'B), + BSSLAP_CAUSE_INTER_BSS_HO ('00000110'B), + BSSLAP_CAUSE_LOSS_SIG_CONN_MS ('00000111'B), + BSSLAP_CAUSE_INCORR_SERV_CELL_ID ('00001000'B), + BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR ('00001001'B), + BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN ('00001010'B) +}; + +/* Section 5.15 */ +type record BSSLAP_IE_RrlpFlag { + BSSLAP_IEI iei, + BIT7 spare, + boolean not_a_pos_cmd +} with { variant "PRESENCE(iei = BSSLAP_IEI_RRLP_FLAG)" }; + +/* Section 5.16 */ +type record BSSLAP_IE_Rrlp { + BSSLAP_IEI iei, + uint16_t len, + octetstring rrlp_apdu +} with { + variant "PRESENCE(iei = BSSLAP_IEI_RRLP)" + variant (len) "LENGTHTO(rrlp_apdu)" +}; + +/* Section 5.17 */ +type record BSSLAP_IE_CellIdList { + BSSLAP_IEI iei, + uint8_t len, + BSSLAP_CellIdList cell_id_list +} with { + variant "PRESENCE(iei = BSSLAP_IEI_CELL_ID_LIST)" + variant (len) "LENGTHTO(cell_id_list)" +}; +type record of BSSLAP_CellIdListEnt BSSLAP_CellIdList; +type union BSSLAP_CellIdListEnt { + BIT4 spare, + BSSLAP_CellIdDiscr discr, + BSSLAP_CellIdListEntU u +}// with { +//}; +type enumerated BSSLAP_CellIdDiscr { + BSSLAP_CIDL_DISC_CGI ('0000'B), + BSSLAP_CIDL_DISC_LAC_CI ('0001'B), + BSSLAP_CIDL_DISC_3G_1 ('0010'B), + BSSLAP_CIDL_DISC_3G_2 ('0011'B) +} with { variant "FIELDLENGTH(4)" }; +type union BSSLAP_CellIdListEntU { + BSSLAP_CellIdListEntCGI cgi, + BSSLAP_CellIdListEntLACCI lac_ci, + BSSLAP_CellIdListEnt3G1 umts_cont1, + BSSLAP_CellIdListEnt3G2 umts_cont2 +}; +type record BSSLAP_CellIdListEntCGI { + HEX6n mcc_mnc, + uint16_t lac, + uint16_t ci +}; +type record BSSLAP_CellIdListEntLACCI { + uint16_t lac, + uint16_t ci +}; +type record BSSLAP_CellIdListEnt3G1 { + OCT9 cont +}; +type record BSSLAP_CellIdListEnt3G2 { + OCT6 cont +}; + +/* Section 5.18 */ +type record BSSLAP_IE_EnhMeasRep { + BSSLAP_IEI iei, + uint8_t len, + octetstring meas_rep +} with { + variant "PRESENCE(iei = BSSLAP_IEI_ENH_MEAS_REP)" + variant (len) "LENGTHTO(meas_rep)" +}; + +/* Section 5.19 */ +type record BSSLAP_IE_LAC { + BSSLAP_IEI iei, + uint16_t lac +} with { variant "PRESENCE(iei = BSSLAP_IEI_LAC)" }; + +/* Section 5.20 */ +type record BSSLAP_IE_FreqList { + BSSLAP_IEI iei, + uint8_t len, + octetstring freq_list +} with { + variant "PRESENCE(iei = BSSLAP_IEI_FREQ_LIST)" + variant (len) "LENGTHTO(freq_list)" +}; + +/* Section 5.21 */ +type record BSSLAP_IE_MsPower { + BSSLAP_IEI iei, + uint8_t ms_pwr +} with { variant "PRESENCE(iei = BSSLAP_IEI_MS_POWER)" }; + +/* Section 5.22 */ +type record BSSLAP_IE_DeltaTimer { + BSSLAP_IEI iei, + uint8_t timer_val +} with { variant "PRESENCE(iei = BSSLAP_IEI_MS_POWER)" }; + +/* Section 5.23 */ +type record BSSLAP_IE_ServingCellId { + BSSLAP_IEI iei, + uint8_t len, + octetstring val // FIXME: like TS 08.08 +} with { + variant "PRESENCE(iei = BSSLAP_IEI_SERVING_CELL_ID)" + variant (len) "LENGTHTO(val)" +}; + +/* Section 5.24 */ +type record BSSLAP_IE_EncryptionKey { + BSSLAP_IEI iei, + OCT8 kc +} with { variant "PRESENCE(iei = BSSLAP_IEI_ENCR_KEY)" }; + +/* Section 5.25 */ +type record BSSLAP_IE_CiphModeSet { + BSSLAP_IEI iei, + BIT1 spare, + BIT3 iei2, + BIT3 algo_id, + boolean sc +} with { variant "PRESENCE(iei = BSSLAP_IEI_CIPH_MODE_SET)" }; + +/* Section 5.26 */ +type record BSSLAP_IE_ChanMode { + BSSLAP_IEI iei, + OCT1 mode +} with { variant "PRESENCE(iei = BSSLAP_IEI_CHAN_MODE)" }; + +/* Section 5.27 */ +type record BSSLAP_IE_MultiRateConfig { + BSSLAP_IEI iei, + uint8_t len, + /* TODO: Unify with TS 48.018 */ + uint3_t mr_speech_ver, + boolean nscb, + boolean icmi, + BIT1 spare, + uint2_t start_mode, + octetstring parameters +} with { + variant "PRESENCE(iei = BSSLAP_IEI_MR_CONFIG)" + variant (len) "LENGTHTO(mr_speech_ver,nscb,icmi,spare,start_mode,parameters)" +}; + +/* Section 5.28 */ +type record BSSLAP_IE_PollingRep { + BSSLAP_IEI iei, + BIT2 spare, + uint6_t num_rep +} with { variant "PRESENCE(iei = BSSLAP_IEI_MR_CONFIG)" }; + +/* Section 5.29 */ +type record BSSLAP_IE_PacketChanDesc { + BSSLAP_IEI iei, + OCT4 chan_desc +} with { variant "PRESENCE(iei = BSSLAP_IEI_PACKET_CHAN_DESC)" }; + +/* Section 5.30 */ +type record BSSLAP_IE_TLLI { + BSSLAP_IEI iei, + OCT4 tlli +} with { variant "PRESENCE(iei = BSSLAP_IEI_TLLI)" }; + +/* Section 5.31 */ +type record BSSLAP_IE_TFI { + BSSLAP_IEI iei, + BIT3 spare, + uint5_t tfi +} with { variant "PRESENCE(iei = BSSLAP_IEI_TFI)" }; + +/* Section 5.32 */ +type record BSSLAP_IE_StartingTime { + BSSLAP_IEI iei, + uint5_t t1_p, + uint6_t t3, + uint6_t t2 +} with { variant "PRESENCE(iei = BSSLAP_IEI_TBF_START_TIME)" }; + +/* Section 5.33 */ +type record BSSLAP_IE_LongEncryptionKey { + BSSLAP_IEI iei, + OCT16 kc +} with { variant "PRESENCE(iei = BSSLAP_IEI_LONG_ENCR_KEY)" }; + +/* Section 5.34 */ +type record BSSLAP_IE_ConcurMethodF { + BSSLAP_IEI iei, + BSSLAP_ConcurMethodF flag +} with { variant "PRESENCE(iei = BSSLAP_IEI_CONCUR_POS_PROC_F)" }; +type enumerated BSSLAP_ConcurMethodF { + BSSLAP_SECOND_CONCUR_ALLOWED ('00000000'B), + BSSLAP_SECOND_CONCUR_DISALLOWED ('11111111'B) +} with { variant "FIELDLENGTH(8)" }; + + + +external function enc_BSSLAP_PDU(in BSSLAP_PDU msg) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_BSSLAP_PDU(in octetstring stream) return BSSLAP_PDU + with { extension "prototype(convert) decode(RAW)" }; + +template (value) BSSLAP_PDU ts_BSSLAP_TA_Req := { + ta_req := { + msg_type := BSSLAP_MSGT_TA_REQUEST + } +} +template (present) BSSLAP_PDU tr_BSSLAP_TA_Req := { + ta_req := { + msg_type := BSSLAP_MSGT_TA_REQUEST + } +} + +template (value) BSSLAP_PDU +ts_BSSLAP_TA_Resp(uint16_t cell_id, uint8_t ta) := { + ta_resp := { + msg_type := BSSLAP_MSGT_TA_RESPONSE, + serving_cell_id := ts_BSSLAP_IE_CellId(cell_id), + timing_advance := ts_BSSLAP_IE_TA(ta), + meas_rep := omit, + enh_meas_rep := omit, + meas_cell_id_list := omit, + concur_meth_flag := omit + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_TA_Resp(template (present) uint16_t cell_id, template (present) uint8_t ta) := { + ta_resp := { + msg_type := BSSLAP_MSGT_TA_RESPONSE, + serving_cell_id := tr_BSSLAP_IE_CellId(cell_id), + timing_advance := tr_BSSLAP_IE_TA(ta), + meas_rep := *, + enh_meas_rep := *, + meas_cell_id_list := *, + concur_meth_flag := * + } +} + +template (value) BSSLAP_PDU +ts_BSSLAP_Reject(BSSLAP_Cause cause) := { + reject := { + msg_type := BSSLAP_MSGT_REJECT, + cause := ts_BSSLAP_IE_Cause(cause) + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_Reject(template (present) BSSLAP_Cause cause) := { + reject := { + msg_type := BSSLAP_MSGT_REJECT, + cause := tr_BSSLAP_IE_Cause(cause) + } +} + + +template (value) BSSLAP_PDU +ts_BSSLAP_Abort(BSSLAP_Cause cause) := { + abort := { + msg_type := BSSLAP_MSGT_ABORT, + cause := ts_BSSLAP_IE_Cause(cause) + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_Abort(template (present) BSSLAP_Cause cause) := { + abort := { + msg_type := BSSLAP_MSGT_ABORT, + cause := tr_BSSLAP_IE_Cause(cause) + } +} + + + +template (value) BSSLAP_IE_TimingAdvance ts_BSSLAP_IE_TA(uint8_t ta) := { + iei := BSSLAP_IEI_TA, + ta := ta +} +template (present) BSSLAP_IE_TimingAdvance tr_BSSLAP_IE_TA(template (present) uint8_t ta) := { + iei := BSSLAP_IEI_TA, + ta := ta +} + +template (value) BSSLAP_IE_CellId ts_BSSLAP_IE_CellId(uint16_t cell_id) := { + iei := BSSLAP_IEI_CELL_ID, + cell_id := cell_id +} +template (present) BSSLAP_IE_CellId tr_BSSLAP_IE_CellId(template (present) uint16_t cell_id) := { + iei := BSSLAP_IEI_CELL_ID, + cell_id := cell_id +} + +template (value) BSSLAP_IE_Cause ts_BSSLAP_IE_Cause(BSSLAP_Cause cause) := { + iei := BSSLAP_IEI_CAUSE, + cause := cause +} +template (present) BSSLAP_IE_Cause tr_BSSLAP_IE_Cause(template (present) BSSLAP_Cause cause) := { + iei := BSSLAP_IEI_CAUSE, + cause := cause +} + + + + + + +} with { encode "RAW" }; diff --git a/library/BSSMAP_LE_Templates.ttcn b/library/BSSMAP_LE_Templates.ttcn new file mode 100644 index 0000000..70805e7 --- /dev/null +++ b/library/BSSMAP_LE_Templates.ttcn @@ -0,0 +1,434 @@ +module BSSMAP_LE_Templates { + +/* BSSMAP-LE Templates, building on top of BSSAP_LE_Types. + * + * (C) 2017-2020 by Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from BSSAP_Types all; +import from BSSAP_LE_Types all; +import from BSSMAP_Templates all; +import from L3_Templates all; + +function ts_BSSMAP_LE_LcsCause(template (omit) BSSMAP_LE_LcsCause cause) +return template (omit) BSSMAP_LE_IE_LcsCause { + if (istemplatekind(cause, "omit")) { + return omit; + } + var template (omit) BSSMAP_LE_IE_LcsCause ie := { + iei := BSSMAP_LE_IEI_IMSI, + len := 0, + cause := cause, + diag_val := omit + } + return ie; +} +function tr_BSSMAP_LE_LcsCause(template BSSMAP_LE_LcsCause cause) +return template BSSMAP_LE_IE_LcsCause { + if (istemplatekind(cause, "omit")) { + return omit; + } + var template BSSMAP_LE_IE_LcsCause ie := { + iei := BSSMAP_LE_IEI_IMSI, + len := ?, + cause := cause, + diag_val := * + } + return ie; +} + + +function ts_BSSMAP_LE_GeographicLoc(template (omit) octetstring loc) +return template (omit) BSSMAP_LE_IE_GeographicLoc { + if (istemplatekind(loc, "omit")) { + return omit; + } + var template (omit) BSSMAP_LE_IE_GeographicLoc ie := { + iei := BSSMAP_LE_IEI_GEO_LOCATION, + len := 0, + location := loc + } + return ie; +} +function tr_BSSMAP_LE_GeographicLoc(template octetstring loc) +return template BSSMAP_LE_IE_GeographicLoc { + if (istemplatekind(loc, "omit")) { + return omit; + } + var template BSSMAP_LE_IE_GeographicLoc ie := { + iei := BSSMAP_LE_IEI_GEO_LOCATION, + len := ?, + location := loc + } + return ie; +} + + + + +template (value) PDU_BSSAP_LE ts_BSSAP_LE_BSSMAP := { + discriminator := '0'B, + spare := '0000000'B, + dlci := omit, + lengthIndicator := 0, /* overwritten by codec */ + pdu := { + bssmap := - + } +} + +template (present) PDU_BSSAP_LE tr_BSSAP_LE_BSSMAP := { + discriminator := '0'B, + spare := '0000000'B, + dlci := *, + lengthIndicator := ?, + pdu := { + bssmap := ? + } +} + +template (value) PDU_BSSAP_LE ts_BSSAP_LE_DTAP(octetstring dtap, template (value) OCT1 dlci) := { + discriminator := '1'B, + spare := '0000000'B, + dlci := dlci, + lengthIndicator := 0, /* overwritten by codec */ + pdu := { + dtap := dtap + } +} + +template (present) PDU_BSSAP_LE tr_BSSAP_LE_DTAP := { + discriminator := '1'B, + spare := '0000000'B, + dlci := *, + lengthIndicator := ?, + pdu := { + dtap := ? + } +} + +function ts_BSSMAP_LE_IMSI(template (omit) hexstring imsi) return template (omit) BSSMAP_LE_IE_IMSI { + if (istemplatekind(imsi, "omit")) { + return omit; + } + template (value) BSSMAP_LE_IE_IMSI res := { + iei := BSSMAP_LE_IEI_IMSI, + len := 0, + imsi := ts_MI_IMSI(valueof(imsi)) + }; + return res; +} +function tr_BSSMAP_LE_IMSI(template hexstring imsi) return template BSSMAP_LE_IE_IMSI { + if (istemplatekind(imsi, "omit")) { + return omit; + } + template BSSMAP_LE_IE_IMSI res := { + iei := BSSMAP_LE_IEI_IMSI, + len := ?, + imsi := tr_MI_IMSI(imsi) + }; + return res; +} + +template (value) BSSMAP_LE_IE_LocationType ts_BSSMAP_LE_LocType(template (value) BSSMAP_LE_LocInfo li, + template (omit) BSSMAP_LE_PosMethod pm := omit) := { + iei := BSSMAP_LE_IEI_LOCATION_TYPE, + len := 0, + loc_info := li, + pos_method := pm +} +template (present) BSSMAP_LE_IE_LocationType tr_BSSMAP_LE_LocType(template (present) BSSMAP_LE_LocInfo li, + template BSSMAP_LE_PosMethod pm := omit) := { + iei := BSSMAP_LE_IEI_LOCATION_TYPE, + len := ?, + loc_info := li, + pos_method := pm +} + + +/* Section 9.1 */ +template (value) PDU_BSSAP_LE ts_BSMAP_LE_PerfLocReq(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (value) BSSMAP_IE_CellIdentifier cell_id, + template (omit) hexstring imsi) + +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_req := { + msg_type := BSSMAP_LE_PERFORM_LOC_REQ, + location_type := ts_BSSMAP_LE_LocType(loc_info), + cell_id := cell_id, + cm3 := omit, + lcs_client_type := omit, + chosen_channel := omit, + lcs_priority := omit, + lcs_qos := omit, + req_gps_ass_d := omit, + bsslap_apdu := omit, + lcs_capability := omit, + packet_meas_rep := omit, + meas_cell_id_list := omit, + imsi := ts_BSSMAP_LE_IMSI(imsi), + imei := omit + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSMAP_LE_PerfLocReq(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (present) BSSMAP_IE_CellIdentifier cell_id, + template hexstring imsi) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_req := { + msg_type := BSSMAP_LE_PERFORM_LOC_REQ, + location_type := tr_BSSMAP_LE_LocType(loc_info), + cell_id := cell_id, + cm3 := *, + lcs_client_type := *, + chosen_channel := *, + lcs_priority := *, + lcs_qos := *, + req_gps_ass_d := *, + bsslap_apdu := *, + lcs_capability := *, + packet_meas_rep := *, + meas_cell_id_list := *, + imsi := tr_BSSMAP_LE_IMSI(imsi), + imei := * + } + } + } +} + + +/* Section 9.2 */ +template (value) PDU_BSSAP_LE ts_BSMAP_LE_PerfLocResp(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (omit) octetstring geo_loc, + template (omit) BSSMAP_LE_LcsCause cause) + +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_resp := { + msg_type := BSSMAP_LE_PERFORM_LOC_RESP, + geographic_loc := ts_BSSMAP_LE_GeographicLoc(geo_loc), + pos_data := omit, + deciph_keys := omit, + lcs_cause := ts_BSSMAP_LE_LcsCause(cause), + velocity_data := omit, + ganss_pos_data := omit + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSMAP_LE_PerfLocResp(template BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template octetstring geo_loc, + template BSSMAP_LE_LcsCause cause) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_resp := { + msg_type := BSSMAP_LE_PERFORM_LOC_RESP, + geographic_loc := tr_BSSMAP_LE_GeographicLoc(geo_loc), + pos_data := *, + deciph_keys := *, + lcs_cause := tr_BSSMAP_LE_LcsCause(cause), + velocity_data := *, + ganss_pos_data := * + } + } + } +} + + +/* Section 9.8 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_ConnInfo(BSSMAP_LE_ProtocolId prot_id, octetstring data, + template (omit) BSSMAP_LE_IE_Segmentation segm := omit) +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + co_info := { + msg_type := BSSMAP_LE_CONN_ORIENTED_INFO, + bsslap_apdu := { + iei := BSSMAP_LE_IEI_APDU, + len := 0, + spare := '0'B, + protocol_id := prot_id, + data := data + }, + segmentation := segm + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_ConnInfo(template (present) BSSMAP_LE_ProtocolId prot_id, + template (present) octetstring data, + template BSSMAP_LE_IE_Segmentation segm := omit) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + co_info := { + msg_type := BSSMAP_LE_CONN_ORIENTED_INFO, + bsslap_apdu := { + iei := BSSMAP_LE_IEI_APDU, + len := ?, + spare := '0'B, + protocol_id := prot_id, + data := data + }, + segmentation := segm + } + } + } +} + + + +/* Section 9.10 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_Reset(myBSSMAP_Cause cause) modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET, + cause := ts_BSSMAP_IE_Cause(enum2int(cause)) + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_Reset modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET, + cause := ? + } + } + } +} + +/* Section 9.11 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_ResetAck modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET_ACK + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_ResetAck modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset_ack := { + msg_type := BSSMAP_LE_RESET_ACK + } + } + } +} + +function ts_BSSMAP_LE_APDU(BSSMAP_LE_ProtocolId prot_id, template (omit) octetstring data) +return template (omit) BSSMAP_LE_IE_APDU { + var BSSMAP_LE_IE_APDU ie := { + iei := BSSMAP_LE_IEI_APDU, + len := 0, // overwritten + spare := '0'B, + protocol_id := prot_id + } + if (istemplatekind(data, "omit")) { + return omit; + } + ie.data := valueof(data); + return ie; +} + +function tr_BSSMAP_LE_APDU(template BSSMAP_LE_ProtocolId prot_id, template octetstring data) +return template BSSMAP_LE_IE_APDU { + var template BSSMAP_LE_IE_APDU ie := { + iei := BSSMAP_LE_IEI_APDU, + len := ?, + spare := '0'B, + protocol_id := prot_id + } + if (istemplatekind(data, "omit")) { + return omit; + } else if (istemplatekind(data, "*")) { + return *; + } + ie.data := valueof(data); + return ie; +} + + +/* Section 9.12 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_PerformLocInfo(BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_LE_ProtocolId prot_id, + template (omit) octetstring data) +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_info := { + msg_type := BSSMAP_LE_PERFORM_LOC_INFO, + cell_id := cell_id, + bsslap_apdu := ts_BSSMAP_LE_APDU(prot_id, data) + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_PerformLocInfo(template (present) BSSMAP_IE_CellIdentifier cell_id, + template BSSMAP_LE_ProtocolId prot_id, + template octetstring data) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_info := { + msg_type := BSSMAP_LE_PERFORM_LOC_INFO, + cell_id := cell_id, + bsslap_apdu := tr_BSSMAP_LE_APDU(prot_id, data) + } + } + } +} + +/* return Layer3 octetstring inside BSSAP-LE PDU */ +function f_bssap_le_extract_l3(PDU_BSSAP_LE bssap) return template octetstring { + if (ischosen(bssap.pdu.bssmap)) { + return omit; + } else { + return bssap.pdu.dtap; + } +} + + +template PDU_BSSAP_LE tr_BSSMAP_LE_Paging(template hexstring imsi_digits := ?, + template OCT4 tmsi := *, + template BSSMAP_IE_ChannelNeeded chneed := *) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + paging := { + messageType := '52'O, + iMSI := tr_BSSMAP_Imsi(imsi_digits), + tMSI := tr_BSSMAP_IE_TMSI(tmsi) ifpresent, + cellIdentifierList := ?, + channelNeeded := chneed, + eMLPP_Priority := omit, + pagingInformation := omit /* only VGCS/VBS flag */ + } + } + } +} + + + + +} with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e Gerrit-Change-Number: 19764 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 Aug 21 13:45:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 13:45:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: Add BSSLAP_LE_{CodecPort, Emulation} References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 ) Change subject: library: Add BSSLAP_LE_{CodecPort,Emulation} ...................................................................... library: Add BSSLAP_LE_{CodecPort,Emulation} Those two modules are analogous to BSSAP/BSSMAP CodecPort and Emulation, but for the Lb interface (BSC-SMLC) instead of the A interface. Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 --- A library/BSSAP_LE_Adapter.ttcn A library/BSSAP_LE_CodecPort.ttcn A library/BSSAP_LE_Emulation.ttcn M library/RAN_Emulation.ttcnpp 4 files changed, 1,216 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/19765/1 diff --git a/library/BSSAP_LE_Adapter.ttcn b/library/BSSAP_LE_Adapter.ttcn new file mode 100644 index 0000000..dba8841 --- /dev/null +++ b/library/BSSAP_LE_Adapter.ttcn @@ -0,0 +1,130 @@ +module BSSAP_LE_Adapter { + +/* This module implements a 'dumb' BSSAP_LE adapter. It creates the M3UA and SCCP components and stacks a + * BSSAP_LE codec port on top. As a result, it provides the ability to transceive SCCP-User-SAP primitives + * with deoded BSSAP_LE payload. Use this if you want to have full control about what you transmit or + * receive, without any automatisms in place. Allows you to refuse connections or other abnormal behavior. */ + +/* (C) 2017-2020 Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from M3UA_Emulation all; +import from MTP3asp_Types all; +import from MTP3asp_PortType all; + +import from IPA_Emulation all; + +import from SCCP_Types all; +import from SCCPasp_Types all; +import from SCCP_Emulation all; +import from SCCP_Templates all; + +import from SCTPasp_Types all; +import from SCTPasp_PortType all; + +import from BSSMAP_LE_Templates all; +import from BSSAP_LE_Emulation all; + +type record BSSAP_LE_Adapter { + /* component references */ + M3UA_CT vc_M3UA, /* only in 3GPP AoIP */ + SCCP_CT vc_SCCP, + + MSC_SCCP_MTP3_parameters sccp_pars, + SCCP_PAR_Address sccp_addr_own, + SCCP_PAR_Address sccp_addr_peer, + + /* handler mode */ + BSSAP_LE_Emulation_CT vc_BSSAP_LE +} + +type record BSSAP_LE_Configuration { + charstring sccp_service_type, + SCTP_Association_Address sctp_addr, + integer own_pc, + integer own_ssn, + integer peer_pc, + integer peer_ssn, + octetstring sio, + integer rctx +}; +type record of BSSAP_LE_Configuration BSSAP_LE_Configurations; + +private function init_pars(inout BSSAP_LE_Adapter ba, in BSSAP_LE_Configuration cfg) { + ba.sccp_pars := { + sio := { + ni := substr(oct2bit(cfg.sio),0,2), + prio := substr(oct2bit(cfg.sio),2,2), + si := substr(oct2bit(cfg.sio),4,4) + }, + opc := cfg.own_pc, + dpc := cfg.peer_pc, + sls := 0, + sccp_serviceType := cfg.sccp_service_type, + ssn := cfg.own_ssn + }; + ba.sccp_addr_own := valueof(ts_SccpAddr_PC_SSN(cfg.own_pc, cfg.own_ssn, cfg.sio, cfg.sccp_service_type)); + ba.sccp_addr_peer := valueof(ts_SccpAddr_PC_SSN(cfg.peer_pc, cfg.peer_ssn, cfg.sio, cfg.sccp_service_type)); +} + + +function f_bssap_le_adapter_init(inout BSSAP_LE_Adapter ba, in BSSAP_LE_Configuration cfg, charstring id, + template BssapLeOps ops) { + init_pars(ba, cfg); + ops.sccp_addr_local := ba.sccp_addr_own; + ops.sccp_addr_peer := ba.sccp_addr_peer; + + /* create components */ + ba.vc_SCCP := SCCP_CT.create(id & "-SCCP"); + if (isvalue(ops)) { + ba.vc_BSSAP_LE := BSSAP_LE_Emulation_CT.create(id & "-BSSAP_LE"); + } else { + ba.vc_BSSAP_LE := null; + } + ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); + map(ba.vc_M3UA:SCTP_PORT, system:sctp); + /* connect MTP3 service provider (M3UA) to lower side of SCCP */ + connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + + if (isvalue(ops)) { + timer T := 5.0; + T.start; + //T.timeout; + /* connect BSSNAP component to upper side of SCCP */ + log("Connecting BSSAP_LE_Emulation to SCCP_SP_PORT"); + connect(ba.vc_BSSAP_LE:BSSAP_LE, ba.vc_SCCP:SCCP_SP_PORT); + log("Starting BSSAP_LE_Emulation"); + ba.vc_BSSAP_LE.start(BSSAP_LE_Emulation.main(valueof(ops), "")); + } + + +} + +function f_bssap_le_adapter_start(inout BSSAP_LE_Adapter ba) { + ba.vc_SCCP.start(SCCPStart(ba.sccp_pars)); +} + +function f_bssap_le_adapter_cleanup(inout BSSAP_LE_Adapter ba) { + if (ba.vc_BSSAP_LE != null) { + disconnect(ba.vc_BSSAP_LE:BSSAP_LE, ba.vc_SCCP:SCCP_SP_PORT); + ba.vc_BSSAP_LE.stop; + } + unmap(ba.vc_M3UA:SCTP_PORT, system:sctp); + disconnect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); + ba.vc_M3UA.stop; + ba.vc_SCCP.stop; +} + + +} diff --git a/library/BSSAP_LE_CodecPort.ttcn b/library/BSSAP_LE_CodecPort.ttcn new file mode 100644 index 0000000..f1d930f --- /dev/null +++ b/library/BSSAP_LE_CodecPort.ttcn @@ -0,0 +1,380 @@ +module BSSAP_LE_CodecPort { + +/* Simple BSSAP_LE Codec Port, translating between raw SCCP primitives with + * octetstring payload towards the SCCP provider, and BSSAP_LE-SCCP primitives + * which carry the decoded BSSAP_LE data types as payload. + * + * (C) 2017 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from SCCPasp_Types all; +import from SCCP_Types all; + +import from BSSAP_LE_Types all; + +type record BSSAP_LE_N_CONNECT_req +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_req ts_BSSAP_LE_CONNECT_req(SCCP_PAR_Address called, + SCCP_PAR_Address calling, + SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := omit) := { + calledAddress := called, + callingAddress := calling, + expeditedDataSel := omit, + qualityOfService := omit, + userData := bssap, + connectionId := conn_id, + importance := omit +} + +type record BSSAP_LE_N_CONNECT_ind +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_ind tr_BSSAP_LE_CONNECT_ind(template SCCP_PAR_Address called, + template SCCP_PAR_Address calling, + template PDU_BSSAP_LE payload := *) := { + calledAddress := called, + callingAddress := calling, + qualityOfService := *, + userData := payload, + connectionId := *, + importance := * +} + +type record BSSAP_LE_N_CONNECT_res +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_res ts_BSSAP_LE_CONNECT_res(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := omit) := { + respondingAddress := omit, + expeditedDataSel := omit, + qualityOfService := omit, + userData := bssap, + connectionId := conn_id, + importance := omit +} + +type record BSSAP_LE_N_CONNECT_cfm +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_cfm tr_BSSAP_LE_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := *) := { + respondingAddress := *, + qualityOfService := *, + userData := bssap, + connectionId := conn_id, + importance := * +} + +type record BSSAP_LE_N_DATA_req +{ + PDU_BSSAP_LE userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DATA_req ts_BSSAP_LE_DATA_req(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap) := { + userData := bssap, + connectionId := conn_id, + importance := omit +} + + +type record BSSAP_LE_N_DATA_ind +{ + PDU_BSSAP_LE userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DATA_ind tr_BSSAP_LE_DATA_ind(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := *) := { + userData := bssap, + connectionId := conn_id, + importance := * +} + + +type record BSSAP_LE_N_DISCONNECT_req +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Reason reason , + PDU_BSSAP_LE userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DISCONNECT_req ts_BSSAP_LE_DISC_req(SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Reason reason, + template PDU_BSSAP_LE bssap := omit) := { + respondingAddress := omit, + reason := reason, + userData := bssap, + connectionId := conn_id, + importance := omit +} + + +type record BSSAP_LE_N_DISCONNECT_ind +{ + SCCP_PAR_Originator originator , + SCCP_PAR_Address respondingAddress optional , + SCCP_PAR_Reason reason , + PDU_BSSAP_LE userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DISCONNECT_ind tr_BSSAP_LE_DISC_ind(template SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Originator originator, + template SCCP_PAR_Reason reason, + template PDU_BSSAP_LE bssap := *) := { + originator := originator, + respondingAddress:= *, + reason := reason, + userData := bssap, + connectionId := conn_id, + importance := * +} + +type record BSSAP_LE_N_UNITDATA_req +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional + } + +template BSSAP_LE_N_UNITDATA_req ts_BSSAP_LE_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template PDU_BSSAP_LE payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := omit, + returnOption := omit, + userData := payload, + importance := omit +} + +type record BSSAP_LE_N_UNITDATA_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_UNITDATA_ind tr_BSSAP_LE_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template PDU_BSSAP_LE payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := *, + returnOption := *, + userData := payload, + importance := * +} + +type record BSSAP_LE_N_NOTICE_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Reason_For_Return reasonForReturn , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional +} + + + +private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out BSSAP_LE_N_CONNECT_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out BSSAP_LE_N_CONNECT_cfm pout) { + pout.respondingAddress := pin.respondingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out BSSAP_LE_N_DATA_ind pout) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out BSSAP_LE_N_DISCONNECT_ind pout) { + pout.originator := pin.originator; + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out BSSAP_LE_N_UNITDATA_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out BSSAP_LE_N_NOTICE_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.reasonForReturn := pin.reasonForReturn; + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + + + +private function f_enc_ConnectReq(in BSSAP_LE_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_ConnectRes(in BSSAP_LE_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) { + pout.respondingAddress := pin.respondingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_DataReq(in BSSAP_LE_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_DisconnectReq(in BSSAP_LE_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) { + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_UnitdataReq(in BSSAP_LE_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +type port BSSAP_LE_CODEC_PT message { + out BSSAP_LE_N_CONNECT_req, + BSSAP_LE_N_CONNECT_res, + BSSAP_LE_N_DATA_req, + BSSAP_LE_N_DISCONNECT_req, + BSSAP_LE_N_UNITDATA_req, + ASP_SCCP_N_RESET_req; + in BSSAP_LE_N_CONNECT_ind, + BSSAP_LE_N_CONNECT_cfm, + BSSAP_LE_N_DATA_ind, + BSSAP_LE_N_DISCONNECT_ind, + BSSAP_LE_N_UNITDATA_ind, + BSSAP_LE_N_NOTICE_ind, + ASP_SCCP_N_RESET_ind, + ASP_SCCP_N_RESET_cfm, + ASP_SCCP_N_STATE_ind; +} with { extension "internal user SCCPasp_PT + out(BSSAP_LE_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq); + BSSAP_LE_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes); + BSSAP_LE_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq); + BSSAP_LE_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq); + BSSAP_LE_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq); + ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple) + in(ASP_SCCP_N_CONNECT_ind -> BSSAP_LE_N_CONNECT_ind: function(f_dec_ConnectInd); + ASP_SCCP_N_CONNECT_cfm -> BSSAP_LE_N_CONNECT_cfm: function(f_dec_ConnectCfm); + ASP_SCCP_N_DATA_ind -> BSSAP_LE_N_DATA_ind: function(f_dec_DataInd); + ASP_SCCP_N_DISCONNECT_ind -> BSSAP_LE_N_DISCONNECT_ind: function(f_dec_DisconnectInd); + ASP_SCCP_N_UNITDATA_ind -> BSSAP_LE_N_UNITDATA_ind: function(f_dec_UnitdataInd); + ASP_SCCP_N_NOTICE_ind -> BSSAP_LE_N_NOTICE_ind: function(f_dec_NoticeInd); + ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple; + ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple; + ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)" +} + + +} diff --git a/library/BSSAP_LE_Emulation.ttcn b/library/BSSAP_LE_Emulation.ttcn new file mode 100644 index 0000000..0b9fe16 --- /dev/null +++ b/library/BSSAP_LE_Emulation.ttcn @@ -0,0 +1,704 @@ +module BSSAP_LE_Emulation { + +/* BSSAP_LE Emulation, runs on top of BSSAP_LE_CodecPort. It multiplexes/demultiplexes + * the individual connections, so there can be separate TTCN-3 components handling + * each of the connections. + * + * The BSSAP_LE_Emulation.main() function processes SCCP primitives from the SCCP + * stack via the BSSAP_CodecPort, and dispatches them to the per-connection components. + * + * Outbound BSSAP/SCCP connections are initiated by sending a BSSAP_LE_Conn_Req primitive + * to the component running the BSSAP_LE_Emulation.main() function. + * + * For each new inbound connections, the BssapLeOps.create_cb() is called. It can create + * or resolve a TTCN-3 component, and returns a component reference to which that inbound + * connection is routed/dispatched. + * + * If a pre-existing component wants to register to handle a future inbound connection, it can + * do so by registering an "expect" with the expected Layer 3 (DTAP) payload. This is e.g. useful + * if you are simulating BTS + MSC, and first trigger a connection from BTS/RSL side in a + * component which then subsequently should also handle the MSC emulation. + * + * Inbound Unit Data messages (such as are dispatched to the BssapLeOps.unitdata_cb() callback, + * which is registered with an argument to the main() function below. + * + * (C) 2017-2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from General_Types all; +import from Osmocom_Types all; +import from SCCP_Emulation all; +import from SCCPasp_Types all; +import from IPA_Emulation all; +import from MobileL3_Types all; +import from Misc_Helpers all; + +import from BSSAP_LE_Types all; +import from BSSAP_LE_CodecPort all; +import from BSSMAP_LE_Templates all; +import from BSSMAP_Templates all; +import from RAN_Emulation all; + +/* General "base class" component definition, of which specific implementations + * derive themselves by means of the "extends" feature */ +type component BSSAP_LE_ConnHdlr { + /* port towards MSC Emulator core / SCCP connection dispatchar */ + port BSSAP_LE_Conn_PT BSSAP_LE; + /* procedure based port to register for incoming connections */ + port BSSAP_LE_PROC_PT BSSAP_LE_PROC; +} + +/* Auxiliary primitive that can happen on the port between per-connection client and this dispatcher */ +type enumerated BSSAP_LE_Conn_Prim { + /* SCCP tell us that connection was released */ + CONN_PRIM_DISC_IND, + /* we tell SCCP to release connection */ + CONN_PRIM_DISC_REQ, + /* Connection confirmed indication */ + CONN_PRIM_CONF_IND +} + +/* port between individual per-connection components and this dispatcher */ +type port BSSAP_LE_Conn_PT message { + inout + PDU_BSSAP_LE, + BSSAP_LE_N_UNITDATA_req, + /* Client requests us to create SCCP Connection */ + BSSAP_LE_Conn_Req, + /* direct DTAP messages from/to clients */ + PDU_DTAP_MO, PDU_DTAP_MT, + PDU_DTAP_PS_MO, PDU_DTAP_PS_MT, + /* misc indications / requests between SCCP and client */ + BSSAP_LE_Conn_Prim; +} with { extension "internal" }; + +type uint2_t N_Sd_Array[4]; + +/* represents a single BSSAP connection over SCCP */ +type record ConnectionData { + /* reference to the instance of the per-connection component */ + BSSAP_LE_ConnHdlr comp_ref, + integer sccp_conn_id, + /* array of N(SD) values for MO DTAP messages, indexed by discriminator */ + N_Sd_Array n_sd +} + +type record ImsiMapping { + BSSAP_LE_ConnHdlr comp_ref, + hexstring imsi optional, + OCT4 tmsi +} + +type component BSSAP_LE_Emulation_CT { + /* SCCP ports on the bottom side, using ASP primitives */ + port BSSAP_LE_CODEC_PT BSSAP_LE; + /* BSSAP port to the per-connection clients */ + port BSSAP_LE_Conn_PT CLIENT; + + /* use 16 as this is also the number of SCCP connections that SCCP_Emulation can handle */ + var ConnectionData ConnectionTable[16]; + + /* pending expected incoming connections */ + var ExpectData ExpectTable[8]; + + /* tables for mapping inbound unitdata (like paging) */ + var ImsiMapping ImsiTable[16]; + + /* procedure based port to register for incoming connections */ + port BSSAP_LE_PROC_PT PROC; + + var charstring g_ran_id; + var integer g_next_e1_ts := 1; + var BssapLeOps g_ran_ops; +}; + +private function f_conn_id_known(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT return boolean { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id){ + return true; + } + } + return false; +} + +private function f_comp_known(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return boolean { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return true; + } + } + return false; +} + +/* resolve component reference by connection ID */ +private function f_comp_by_conn_id(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id) { + return ConnectionTable[i].comp_ref; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by SCCP Connection ID ", sccp_conn_id); + mtc.stop; +} + +/* resolve connection ID by component reference */ +private function f_conn_id_by_comp(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return integer { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return ConnectionTable[i].sccp_conn_id; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by component ", client); + mtc.stop; +} + +/* resolve ConnectionTable index component reference */ +private function f_idx_by_comp(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return integer { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return i; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by component ", client); + mtc.stop; +} + +private function f_gen_conn_id() +runs on BSSAP_LE_Emulation_CT return integer { + var integer conn_id; + + do { + conn_id := float2int(rnd()*SCCP_Emulation.tsp_max_ConnectionId); + } while (f_conn_id_known(conn_id) == true); + + return conn_id; +} + +private function f_conn_table_init() +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + ConnectionTable[i].comp_ref := null; + ConnectionTable[i].sccp_conn_id := -1; + ConnectionTable[i].n_sd := { 0, 0, 0, 0 }; + } + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + ImsiTable[i].comp_ref := null; + ImsiTable[i].imsi := omit; + ImsiTable[i].tmsi := 'FFFFFFFF'O; + } +} + +private function f_conn_table_add(BSSAP_LE_ConnHdlr comp_ref, integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == -1) { + ConnectionTable[i].comp_ref := comp_ref; + ConnectionTable[i].sccp_conn_id := sccp_conn_id; + ConnectionTable[i].n_sd := { 0, 0, 0, 0 }; + log("Added conn table entry ", i, comp_ref, sccp_conn_id); + return; + } + } + testcase.stop("BSSAP-LE Connection table full!"); +} + +private function f_conn_table_del(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id) { + log("Deleted conn table entry ", i, + ConnectionTable[i].comp_ref, sccp_conn_id); + ConnectionTable[i].sccp_conn_id := -1; + ConnectionTable[i].comp_ref := null; + return + } + } + setverdict(fail, "BSSAP-LE Connection table attempt to delete non-existant ", sccp_conn_id); + mtc.stop; +} + +private function f_imsi_table_find(hexstring imsi, template OCT4 tmsi) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + if (ImsiTable[i].imsi == imsi or + isvalue(tmsi) and match(ImsiTable[i].tmsi, tmsi)) { + return ImsiTable[i].comp_ref; + } + } + return null; +} + +type record BSSAP_LE_Conn_Req { + SCCP_PAR_Address addr_peer, + SCCP_PAR_Address addr_own, + PDU_BSSAP_LE bssap +} +template BSSAP_LE_Conn_Req ts_BSSAP_LE_Conn_Req(SCCP_PAR_Address peer, SCCP_PAR_Address own, PDU_BSSAP_LE bssap) := { + addr_peer := peer, + addr_own := own, + bssap := bssap +}; + +/* handle (optional) userData portion of various primitives and dispatch it to the client */ +private function f_handle_userData(BSSAP_LE_ConnHdlr client, PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT { + /* decode + send decoded BSSAP to client */ + + if (ischosen(bssap.pdu.dtap) and g_ran_ops.decode_dtap) { + if (g_ran_ops.role_ms) { + /* we are the MS, so any message to us must be MT */ + var PDU_DTAP_MT mt := { + dlci := bssap.dlci, + dtap := dec_PDU_ML3_NW_MS(bssap.pdu.dtap) + }; + CLIENT.send(mt) to client; + } else { + /* we are the Network, so any message to us must be MO */ + var PDU_DTAP_MO mo := { + dlci := bssap.dlci, + dtap := dec_PDU_ML3_MS_NW(bssap.pdu.dtap) + }; + CLIENT.send(mo) to client; + } + } else { + CLIENT.send(bssap) to client; + } +} + +/* call-back type, to be provided by specific implementation; called when new SCCP connection + * arrives */ +type function BssmapLeCreateCallback(BSSAP_LE_N_CONNECT_ind conn_ind, charstring id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr; + +type function BssmapLeUnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE; + +/* handle common Unitdata such as Paging */ +private function CommonBssmapUnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { + if (match(bssap, tr_BSSMAP_LE_Paging)) { + var BSSAP_LE_ConnHdlr client := null; + client := f_imsi_table_find(bssap.pdu.bssmap.paging.iMSI.digits, + bssap.pdu.bssmap.paging.tMSI.tmsiOctets); + if (client != null) { + log("CommonBssmapUnitdataCallback: IMSI/TMSI found in table, dispatching to ", + client); + CLIENT.send(bssap) to client; + return omit; + } + log("CommonBssmapUnitdataCallback: IMSI/TMSI not found in table"); + } else { + log("CommonBssmapUnitdataCallback: Not a paging message"); + } + /* ELSE: handle in user callback */ + return g_ran_ops.unitdata_cb.apply(bssap); +} + +private function f_bssap_le_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on BSSAP_LE_Emulation_CT { + timer T := 5.0; + + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(peer, own, ts_BSSMAP_LE_Reset(GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE))); + T.start; + alt { + [] BSSAP_LE.receive(tr_BSSAP_LE_UNITDATA_ind(own, peer, tr_BSSMAP_LE_ResetAck)) { + log("Received RESET-ACK in response to RESET, we're ready to go!"); + } + [] as_reset_ack(); + [] BSSAP_LE.receive { repeat }; + [] T.timeout { + setverdict(fail, "Timeout waiting for RESET-ACK after sending RESET"); + mtc.stop; + } + } +} + +private function f_bssap_l3_is_rr(PDU_BSSAP_LE bssap) return boolean { + var template octetstring l3 := f_bssap_le_extract_l3(bssap); + return f_L3_is_rr(l3); +} + + + +type record BssapLeOps { + BssmapLeCreateCallback create_cb optional, + BssmapLeUnitdataCallback unitdata_cb optional, + boolean decode_dtap, + boolean role_ms, + /* needed for performing BSSMAP RESET */ + SCCP_PAR_Address sccp_addr_local optional, + SCCP_PAR_Address sccp_addr_peer optional +} + +private altstep as_reset_ack() runs on BSSAP_LE_Emulation_CT { + var BSSAP_LE_N_UNITDATA_ind ud_ind; + [] BSSAP_LE.receive(tr_BSSAP_LE_UNITDATA_ind(?, ?, tr_BSSMAP_LE_Reset)) -> value ud_ind { + log("Respoding to inbound RESET with RESET-ACK"); + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, + ts_BSSMAP_LE_ResetAck)); + repeat; + } +} + + +private altstep as_main_bssap_le() runs on BSSAP_LE_Emulation_CT { + var BSSAP_LE_N_UNITDATA_ind ud_ind; + var BSSAP_LE_N_CONNECT_ind conn_ind; + var BSSAP_LE_N_CONNECT_cfm conn_cfm; + var BSSAP_LE_N_DATA_ind data_ind; + var BSSAP_LE_N_DISCONNECT_ind disc_ind; + var BSSAP_LE_Conn_Req creq; + var PDU_BSSAP_LE bssap; + var BSSAP_LE_N_UNITDATA_req bssap_ud; + var BSSAP_LE_ConnHdlr vc_conn; + var integer targetPointCode; + var N_Sd_Array last_n_sd; + + /* SCCP -> Client: UNIT-DATA (connectionless SCCP) from a BSC */ + [] BSSAP_LE.receive(BSSAP_LE_N_UNITDATA_ind:?) -> value ud_ind { + /* Connectionless Procedures like RESET */ + var template PDU_BSSAP_LE resp; + resp := CommonBssmapUnitdataCallback(ud_ind.userData); + if (isvalue(resp)) { + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(ud_ind.callingAddress, + ud_ind.calledAddress, resp)); + } + } + /* SCCP -> Client: new connection from BSC */ + [] BSSAP_LE.receive(BSSAP_LE_N_CONNECT_ind:?) -> value conn_ind { + vc_conn := g_ran_ops.create_cb.apply(conn_ind, g_ran_id); + /* store mapping between client components and SCCP connectionId */ + f_conn_table_add(vc_conn, conn_ind.connectionId); + /* handle user payload */ + f_handle_userData(vc_conn, conn_ind.userData); + /* confirm connection establishment */ + BSSAP_LE.send(ts_BSSAP_LE_CONNECT_res(conn_ind.connectionId, omit)); + } + /* SCCP -> Client: connection-oriented data in existing connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_DATA_ind:?) -> value data_ind { + vc_conn := f_comp_by_conn_id(data_ind.connectionId); + if (ispresent(data_ind.userData)) { + f_handle_userData(vc_conn, data_ind.userData); + } + } + /* SCCP -> Client: disconnect of an existing connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_DISCONNECT_ind:?) -> value disc_ind { + vc_conn := f_comp_by_conn_id(disc_ind.connectionId); + if (ispresent(disc_ind.userData)) { + f_handle_userData(vc_conn, disc_ind.userData); + } + /* notify client about termination */ + var BSSAP_LE_Conn_Prim prim := CONN_PRIM_DISC_IND; + CLIENT.send(prim) to vc_conn; + f_conn_table_del(disc_ind.connectionId); + /* TOOD: return confirm to other side? */ + } + /* SCCP -> Client: connection confirm for outbound connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_CONNECT_cfm:?) -> value conn_cfm { + vc_conn := f_comp_by_conn_id(conn_cfm.connectionId); + var BSSAP_LE_Conn_Prim prim := CONN_PRIM_CONF_IND; + CLIENT.send(prim) to vc_conn; + /* handle user payload */ + if (ispresent(conn_cfm.userData)) { + f_handle_userData(vc_conn, conn_cfm.userData); + } + } + [] CLIENT.receive(PDU_BSSAP_LE:?) -> value bssap sender vc_conn { + var integer conn_id := f_conn_id_by_comp(vc_conn); + /* send it to dispatcher */ + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(conn_id, bssap)); + } + + [] CLIENT.receive(BSSAP_LE_N_UNITDATA_req:?) -> value bssap_ud sender vc_conn { + BSSAP_LE.send(bssap_ud); + } + + /* Disconnect request client -> SCCP */ + [] CLIENT.receive(BSSAP_LE_Conn_Prim:CONN_PRIM_DISC_REQ) -> sender vc_conn { + var integer conn_id := f_conn_id_by_comp(vc_conn); + BSSAP_LE.send(ts_BSSAP_LE_DISC_req(conn_id, 0)); + f_conn_table_del(conn_id); + } + + /* BSSAP from client -> SCCP */ + [] CLIENT.receive(BSSAP_LE_Conn_Req:?) -> value creq sender vc_conn { + var integer conn_id; + /* send to dispatcher */ + + if (f_comp_known(vc_conn) == false) { + /* unknown client, create new connection */ + conn_id := f_gen_conn_id(); + + /* store mapping between client components and SCCP connectionId */ + f_conn_table_add(vc_conn, conn_id); + + BSSAP_LE.send(ts_BSSAP_LE_CONNECT_req(creq.addr_peer, creq.addr_own, conn_id, + creq.bssap)); + } else { + /* known client, send via existing connection */ + conn_id := f_conn_id_by_comp(vc_conn); + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(conn_id, creq.bssap)); + } + + /* InitialL3 contains RR (PAG RESP) or MM (CM SRV REQ), we must increment + * counter only on MM/CC/SS, but not on RR */ + if (g_ran_ops.role_ms and not f_bssap_l3_is_rr(creq.bssap)) { + /* we have just sent the first MM message, increment the counter */ + var integer idx := f_idx_by_comp(vc_conn); + ConnectionTable[idx].n_sd[0] := 1; + log("patch: N(SD) for ConnIdx ", idx, " set to 1"); + } + } + + [] PROC.getcall(BSSAP_LE_last_n_sd:{?,-}) -> param(vc_conn) { + var integer idx := f_idx_by_comp(vc_conn); + last_n_sd := ConnectionTable[idx].n_sd; + PROC.reply(BSSAP_LE_last_n_sd:{vc_conn, last_n_sd}) to vc_conn; + } + + [] PROC.getcall(BSSAP_LE_continue_after_n_sd:{?,?}) -> param(last_n_sd, vc_conn) { + var integer idx := f_idx_by_comp(vc_conn); + ConnectionTable[idx].n_sd := last_n_sd; + PROC.reply(BSSAP_LE_continue_after_n_sd:{last_n_sd, vc_conn}) to vc_conn; + } +} + + +/* send a raw (encoded) L3 message over given SCCP connection */ +private function f_xmit_raw_l3(integer sccp_conn_id, OCT1 dlci, octetstring l3_enc) runs on BSSAP_LE_Emulation_CT +{ + var PDU_BSSAP_LE bssap; + bssap := valueof(ts_BSSAP_LE_DTAP(l3_enc, dlci)); + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(sccp_conn_id, bssap)); +} + +/* patch N(SD) into enc_l3, according to 24.007 11.2.3.2 */ +private function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { + var integer n_sd_idx := f_ML3_n_sd_idx(dtap); + if (n_sd_idx < 0) { + return; + } + var uint2_t seq_nr := f_next_n_sd(cd.n_sd, n_sd_idx); + f_ML3_patch_seq_nr(seq_nr, enc_l3); +} + +function main(BssapLeOps ops, charstring id) runs on BSSAP_LE_Emulation_CT { + + g_ran_id := id; + g_ran_ops := ops; + f_conn_table_init(); + f_expect_table_init(); + + if (isvalue(ops.sccp_addr_peer) and isvalue(ops.sccp_addr_local)) { + f_sleep(1.0); /* HACK to wait for M3UA/ASP to be ACTIVE */ + f_bssap_le_reset(ops.sccp_addr_peer, ops.sccp_addr_local); + } + + while (true) { + var BSSAP_LE_ConnHdlr vc_conn; + var PDU_DTAP_MO dtap_mo; + var PDU_DTAP_MT dtap_mt; + var BSSAP_LE_ConnHdlr vc_hdlr; + var octetstring l3_info; + var hexstring imsi; + var OCT4 tmsi; + var integer targetPointCode; + + alt { + [] as_main_bssap_le(); + + [g_ran_ops.role_ms] CLIENT.receive(PDU_DTAP_MO:?) -> value dtap_mo sender vc_conn { + var integer idx := f_idx_by_comp(vc_conn); + /* convert from decoded DTAP to encoded DTAP */ + var octetstring l3_enc := enc_PDU_ML3_MS_NW(dtap_mo.dtap); + /* patch correct L3 send sequence number N(SD) into l3_enc */ + if (dtap_mo.skip_seq_patching == false) { + f_ML3_patch_seq(ConnectionTable[idx], dtap_mo.dtap, l3_enc); + } + f_xmit_raw_l3(ConnectionTable[idx].sccp_conn_id, dtap_mo.dlci, l3_enc); + } + + [not g_ran_ops.role_ms] CLIENT.receive(PDU_DTAP_MT:?) -> value dtap_mt sender vc_conn { + var integer idx := f_idx_by_comp(vc_conn); + /* convert from decoded DTAP to encoded DTAP */ + var octetstring l3_enc := enc_PDU_ML3_NW_MS(dtap_mt.dtap); + f_xmit_raw_l3(ConnectionTable[idx].sccp_conn_id, dtap_mt.dlci, l3_enc); + } + + [] PROC.getcall(BSSAP_LE_register:{?,?}) -> param(l3_info, vc_hdlr) { + f_create_expect(l3_info, vc_hdlr); + PROC.reply(BSSAP_LE_register:{l3_info, vc_hdlr}) to vc_hdlr; + } + + [] PROC.getcall(BSSAP_LE_register_handoverRequest:{?,?}) -> param(targetPointCode, vc_hdlr) { + f_create_expect(omit, vc_hdlr, targetPointCode); + PROC.reply(BSSAP_LE_register_handoverRequest:{targetPointCode, vc_hdlr}) to vc_hdlr; + } + + [] PROC.getcall(BSSAP_LE_register_imsi:{?,?,?}) -> param(imsi, tmsi, vc_hdlr) { + f_create_imsi(imsi, tmsi, vc_hdlr); + PROC.reply(BSSAP_LE_register_imsi:{imsi, tmsi, vc_hdlr}) to vc_hdlr; + } + + + } + } +} + +/*********************************************************************** + * "Expect" Handling (mapping for expected incoming SCCP connections) + ***********************************************************************/ + +/* data about an expected future incoming connection */ +type record ExpectData { + /* L3 payload based on which we can match it */ + octetstring l3_payload optional, + integer handoverRequestPointCode optional, + /* component reference for this connection */ + BSSAP_LE_ConnHdlr vc_conn +} + +/* procedure based port to register for incoming connections */ +signature BSSAP_LE_register(in octetstring l3, in BSSAP_LE_ConnHdlr hdlr); +signature BSSAP_LE_register_handoverRequest(in integer targetPointCode, in BSSAP_LE_ConnHdlr hdlr); + +/* procedure based port to register for incoming IMSI/TMSI */ +signature BSSAP_LE_register_imsi(in hexstring imsi, in OCT4 tmsi, in BSSAP_LE_ConnHdlr hdlr); + +/* If DTAP happens across other channels (e.g. GSUP), provide manual advancing of the n_sd sequence number */ +signature BSSAP_LE_last_n_sd(in BSSAP_LE_ConnHdlr hdlr, out N_Sd_Array last_n_sd); + +/* Update conn's n_sd sequence nr after the connection was taken over from elsewhere */ +signature BSSAP_LE_continue_after_n_sd(N_Sd_Array last_n_sd, in BSSAP_LE_ConnHdlr hdlr); + +type port BSSAP_LE_PROC_PT procedure { + inout BSSAP_LE_register, BSSAP_LE_register_imsi, BSSAP_LE_register_handoverRequest, BSSAP_LE_last_n_sd, BSSAP_LE_continue_after_n_sd; +} with { extension "internal" }; + +/* CreateCallback that can be used as create_cb and will use the expectation table */ +function ExpectedCreateCallback(BSSAP_LE_N_CONNECT_ind conn_ind, charstring id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + var BSSAP_LE_ConnHdlr ret := null; + var octetstring l3_info; + var integer i; + + if (ischosen(conn_ind.userData.pdu.bssmap.perf_loc_req)) { + var BSSMAP_LE_PerfLocReq plr := conn_ind.userData.pdu.bssmap.perf_loc_req; + if (not ispresent(plr.imsi)) { + log("ExpectedCreateCallback: Cannot handle PerformLocReq without IMSI!"); + mtc.stop; + } + var hexstring imsi := plr.imsi.imsi.oddEvenInd_identity.imsi.digits; + /* Find the component by the IMSI [usually] contained in this message */ + ret := f_imsi_table_find(imsi, omit); + if (ret != null) { + log("ExpectedCreateCallback: Found ConnHdlr ", ret, " for IMSI ", imsi); + return ret; + } + } else if (ischosen(conn_ind.userData.pdu.bssmap.completeLayer3Information)) { + l3_info := conn_ind.userData.pdu.bssmap.completeLayer3Information.layer3Information.layer3info; + log("ExpectedCreateCallback completeLayer3Information"); + } else { + setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3"); + mtc.stop; + } + + for (i := 0; i < sizeof(ExpectTable); i:= i+1) { + if (not ispresent(ExpectTable[i].l3_payload)) { + continue; + } + if (l3_info == ExpectTable[i].l3_payload) { + ret := ExpectTable[i].vc_conn; + /* release this entry to be used again */ + ExpectTable[i].l3_payload := omit; + ExpectTable[i].vc_conn := null; + log("Found Expect[", i, "] for ", l3_info, " handled at ", ret); + /* return the component reference */ + return ret; + } + } + setverdict(fail, "Couldn't find Expect for incoming connection ", conn_ind); + mtc.stop; +} + + +private function f_create_expect(template octetstring l3, BSSAP_LE_ConnHdlr hdlr, + template integer handoverRequestPointCode := omit) +runs on BSSAP_LE_Emulation_CT { + var integer i; + log("f_create_expect(l3 := ", l3, ", handoverRequest := ", handoverRequestPointCode); + for (i := 0; i < sizeof(ExpectTable); i := i+1) { + if (not ispresent(ExpectTable[i].l3_payload) + and not ispresent(ExpectTable[i].handoverRequestPointCode)) { + if (ispresent(l3)) { + ExpectTable[i].l3_payload := valueof(l3); + } + if (ispresent(handoverRequestPointCode)) { + ExpectTable[i].handoverRequestPointCode := valueof(handoverRequestPointCode); + } + ExpectTable[i].vc_conn := hdlr; + if (ispresent(handoverRequestPointCode)) { + log("Created Expect[", i, "] for handoverRequest to be handled at ", hdlr); + } else { + log("Created Expect[", i, "] for ", l3, " to be handled at ", hdlr); + } + return; + } + } + testcase.stop("No space left in ExpectTable"); +} + +private function f_create_imsi(hexstring imsi, OCT4 tmsi, BSSAP_LE_ConnHdlr hdlr) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + if (not ispresent(ImsiTable[i].imsi)) { + ImsiTable[i].imsi := imsi; + ImsiTable[i].tmsi := tmsi; + ImsiTable[i].comp_ref := hdlr; + log("Created IMSI[", i, "] for ", imsi, tmsi, " to be handled at ", hdlr); + return; + } + } + testcase.stop("No space left in ImsiTable"); +} + + +private function f_expect_table_init() +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { + ExpectTable[i].l3_payload := omit; + ExpectTable[i].handoverRequestPointCode := omit; + } +} + +/* helper function for clients to register their IMSI/TMSI */ +function f_bssap_le_register_imsi(hexstring imsi, template (omit) OCT4 tmsi_or_omit) +runs on BSSAP_LE_ConnHdlr { + var OCT4 tmsi; + + /* Resolve omit to a special reserved value */ + if (istemplatekind(tmsi_or_omit, "omit")) { + tmsi := 'FFFFFFFF'O; + } else { + tmsi := valueof(tmsi_or_omit); + } + + BSSAP_LE_PROC.call(BSSAP_LE_register_imsi:{imsi, tmsi, self}) { + [] BSSAP_LE_PROC.getreply(BSSAP_LE_register_imsi:{?,?,?}) {}; + } +} + + +} diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index c1dc036..f410427 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -720,7 +720,7 @@ template BIT4 t_ML3_DISC_CC_MM_SS := ('0011'B, '0101'B, '1011'B); -private function f_L3_is_rr(template octetstring l3) return boolean { +function f_L3_is_rr(template octetstring l3) return boolean { if (not isvalue(l3)) { return false; } @@ -773,7 +773,7 @@ } /* patch N(SD) into enc_l3, according to 24.007 11.2.3.2 */ -function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { +private function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { var integer n_sd_idx := f_ML3_n_sd_idx(dtap); if (n_sd_idx < 0) { return; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 Gerrit-Change-Number: 19765 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 Aug 21 13:48:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 13:48:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: Add BSSLAP_LE_{CodecPort, Emulation} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 ) Change subject: library: Add BSSLAP_LE_{CodecPort,Emulation} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 Gerrit-Change-Number: 19765 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 13:48:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 13:49:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 13:49:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 ) Change subject: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e Gerrit-Change-Number: 19764 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 13:49: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 Aug 21 13:57:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 13:57:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add Lb interface support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 ) Change subject: bsc: Add Lb interface support ...................................................................... bsc: Add Lb interface support This introduces the Lb interface stack, which allows BSC_Tests.ttcn to emulate a SMLC towards the BSC. In accordance with https://osmocom.org/projects/cellular-infrastructure/wiki/Point_Codes we use 0.23.6 as point code for emulating the SMLC. Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/gen_links.sh 3 files changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/19766/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0e76476..e8e06f7 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -28,6 +28,8 @@ import from BSSAP_Types all; import from RAN_Adapter all; +import from BSSAP_LE_Adapter all; +import from BSSAP_LE_CodecPort all; import from BSSAP_CodecPort all; import from BSSMAP_Templates all; import from IPA_Emulation all; @@ -480,8 +482,10 @@ var StatsD_Checker_CT vc_STATSD; var RAN_Adapter g_bssap[NUM_MSC]; + var BSSAP_LE_Adapter g_bssap_le; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; + port BSSAP_LE_CODEC_PT BSSAP_LE; /* are we initialized yet */ var boolean g_initialized := false; @@ -553,6 +557,17 @@ } }; + BSSAP_LE_Configuration mp_bssap_le_cfg := { + sccp_service_type := "mtp3_itu", + sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 6, /* 0.0.6 SMLC emulation */ + own_ssn := 252, /* SMLC side SSN */ + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 250, /* BSC side SSN */ + sio := '83'O, + rctx := 6 + }; + /* Whether to enable osmux tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ @@ -928,6 +943,14 @@ } } + if (handler_mode) { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", SMLC_BssapLeOps); + } else { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", omit); + connect(self:BSSAP_LE, g_bssap_le.vc_SCCP:SCCP_SP_PORT); + } + f_bssap_le_adapter_start(g_bssap_le); + /* start the test with exactly all enabled MSCs allowed to attach */ f_vty_msc_allow_attach(BSCVTY, allow_attach); @@ -2767,6 +2790,7 @@ ***********************************************************************/ import from RAN_Emulation all; +import from BSSAP_LE_Emulation all; import from RSL_Emulation all; import from MSC_ConnectionHandler all; @@ -2787,6 +2811,7 @@ connect(vc_conn:RSL2_PROC, bts[2].rsl.vc_RSL:RSL_PROC); } connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_LE, g_bssap_le.vc_BSSAP_LE:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index bf96eff..f02cfb4 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -19,6 +19,9 @@ import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; +import from BSSAP_LE_Emulation all; +import from BSSAP_LE_Types all; +import from BSSMAP_LE_Templates all; import from BSSMAP_Templates all; import from IPL4asp_Types all; @@ -411,7 +414,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, BSSAP_LE_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; @@ -470,6 +473,20 @@ return resp; } +/* Callback function from general BSSAP_LE_Emulation whenever a connectionless + * BSSAP_LE message arrives. Can return a PDU_BSSAP_LE that should be sent in return */ +private function BSSAP_LE_UnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { + var template PDU_BSSAP_LE resp := omit; + + /* answer all RESET with a RESET ACK */ + if (match(bssap, tr_BSSMAP_LE_Reset)) { + resp := ts_BSSMAP_LE_ResetAck; + } + + return resp; +} + const RanOps MSC_RanOps := { create_cb := refers(RAN_Emulation.ExpectedCreateCallback), unitdata_cb := refers(UnitdataCallback), @@ -482,6 +499,15 @@ sccp_addr_peer := omit } +const BssapLeOps SMLC_BssapLeOps := { + create_cb := refers(BSSAP_LE_Emulation.ExpectedCreateCallback), + unitdata_cb := refers(BSSAP_LE_UnitdataCallback), + decode_dtap := false, + role_ms := false, + sccp_addr_local := omit, + sccp_addr_peer := omit +} + const MGCPOps MSC_MGCPOps := { create_cb := refers(MGCP_Emulation.ExpectedCreateCallback), unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback) diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 02e093d..f316509 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,7 +70,9 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " -FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " +FILES+="BSSAP_LE_CodecPort.ttcn BSSAP_LE_Emulation.ttcn BSSAP_LE_Types.ttcn BSSAP_LE_Adapter.ttcn BSSLAP_Types.ttcn BSSMAP_LE_Templates.ttcn " + gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 Gerrit-Change-Number: 19766 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 Aug 21 14:11:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 14:11:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add Lb interface support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 ) Change subject: bsc: Add Lb interface support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 Gerrit-Change-Number: 19766 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 14:11: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 Aug 21 14:34:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 14:34:08 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... use new osmo_mobile_identity api (avoid deprecation) Note: subsequent patch Iad845acb0096b75dc453105c9c16b2252879b4ca will change to passing a struct osmo_mobile_identity in the Paging code path, instead of passing the encoded IE data. Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/pdch.cpp 4 files changed, 37 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/67/19767/1 diff --git a/src/bts.cpp b/src/bts.cpp index 22b4c08..c415dd4 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -369,9 +369,13 @@ NULL }; - - LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", - chan_needed, osmo_mi_name(mi, mi_len)); + if (log_check_level(DRLCMAC, LOGL_INFO)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, mi, mi_len, true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); + } /* collect slots to page * Mark slots for every TBF, but only mark one of it. diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index a4bcff3..4fb5989 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -87,7 +87,12 @@ uint32_t tlli_old = 0; uint8_t *data; uint16_t len; - char imsi[OSMO_IMSI_BUF_SIZE] = "000"; + /* TODO: is it really necessary to initialize this as a "000" IMSI? It seems, the function should just return an + * error if no IMSI IE was found. */ + struct osmo_mobile_identity mi_imsi = { + .type = GSM_MI_TYPE_TMSI, + .imsi = { '0', '0', '0', '\0' }, + }; uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; int rc; @@ -116,10 +121,9 @@ * will listen to all paging blocks. */ if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { - /* gsm48_mi_to_string() returns number of bytes written, including '\0' */ - rc = gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI), - TLVP_LEN(tp, BSSGP_IE_IMSI)); - if (rc != GSM23003_IMSI_MAX_DIGITS + 1) { + rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), + true); + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_TMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); } @@ -160,9 +164,9 @@ "TLLI (old) IE\n"); } - LOGP(DBSSGP, LOGL_INFO, "LLC [SGSN -> PCU] = TLLI: 0x%08x IMSI: %s len: %d\n", tlli, imsi, len); + LOGP(DBSSGP, LOGL_INFO, "LLC [SGSN -> PCU] = TLLI: 0x%08x IMSI: %s len: %d\n", tlli, mi_imsi.imsi, len); - return gprs_rlcmac_dl_tbf::handle(the_pcu.bts, tlli, tlli_old, imsi, + return gprs_rlcmac_dl_tbf::handle(the_pcu.bts, tlli, tlli_old, mi_imsi.imsi, ms_class, egprs_ms_class, delay_csec, data, len); } @@ -212,7 +216,7 @@ static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { - char imsi[OSMO_IMSI_BUF_SIZE]; + struct osmo_mobile_identity mi_imsi; uint16_t pgroup; const uint8_t *mi; uint8_t mi_len; @@ -223,16 +227,14 @@ return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } - /* gsm48_mi_to_string() returns number of bytes written, including '\0' */ - rc = gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI), - TLVP_LEN(tp, BSSGP_IE_IMSI)); - if (rc != GSM23003_IMSI_MAX_DIGITS + 1) { + rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), true); + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_IMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - pgroup = imsi2paging_group(imsi); + pgroup = imsi2paging_group(mi_imsi.imsi); if (pgroup > 999) { - LOGP(DBSSGP, LOGL_NOTICE, "Failed to compute IMSI %s paging group\n", imsi); + LOGP(DBSSGP, LOGL_NOTICE, "Failed to compute IMSI %s paging group\n", mi_imsi.imsi); return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index c890021..879ea85 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -34,8 +34,13 @@ int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup) { - LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", - osmo_mi_name(mi, mi_len)); + if (log_check_level(DRLCMAC, LOGL_NOTICE)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, mi, mi_len, true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", str); + } bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); int plen = Encoding::write_paging_request(paging_request, mi, mi_len); diff --git a/src/pdch.cpp b/src/pdch.cpp index b34f532..af84724 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -205,8 +205,13 @@ /* loop until message is full */ while (pag) { - LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", - osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); + if (log_check_level(DRLCMAC, LOGL_DEBUG)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, pag->identity_lv + 1, pag->identity_lv[0], true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", str); + } /* try to add paging */ if ((pag->identity_lv[1] & GSM_MI_TYPE_MASK) == GSM_MI_TYPE_TMSI) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 14:34:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 14:34:09 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... paging: pass struct osmo_mobile_identity, not encoded IE bytes In get_paging_mi(), before this, an encoded buffer of Mobile Identity bytes is returned. Code paths following this repeatedly decode the Mobile Identity bytes, e.g. for logging. Also, in get_paging_mi(), since the TMSI is read in from a different encoding than a typical Mobile Identity IE, the TMSI was manually encoded into a typical Mobile Identity IE. This is essentially a code dup of osmo_mobile_identity_encode(). Stop this madness. Instead, in get_paging_mi(), return a decoded struct osmo_mobile_identity. Code paths after this use the struct osmo_mobile_identity directly without repeated decoding. At the point of finally needing an encoded Mobile Identity IE (in Encoding::write_paging_request()), do a proper osmo_mobile_identity_encode(). Since this may return errors, add an rc check for the caller of write_paging_request(), gprs_rlcmac_paging_request(). A side effect is stricter validation of the Mobile Identity passing through the Paging code path. Before, invalid MI might have passed through unnoticed. Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca --- M src/bts.cpp M src/bts.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h 10 files changed, 51 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/19768/1 diff --git a/src/bts.cpp b/src/bts.cpp index c415dd4..76ca1b0 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -355,7 +355,7 @@ m_pollController.expireTimedout(fn, max_delay); } -int BTS::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len) +int BTS::add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi) { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; @@ -370,10 +370,8 @@ }; if (log_check_level(DRLCMAC, LOGL_INFO)) { - struct osmo_mobile_identity omi = {}; char str[64]; - osmo_mobile_identity_decode(&omi, mi, mi_len, true); - osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); } @@ -419,7 +417,7 @@ for (ts = 0; ts < 8; ts++) { if ((slot_mask[trx] & (1 << ts))) { /* schedule */ - if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, mi, mi_len)) + if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, mi)) return -ENOMEM; LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); diff --git a/src/bts.h b/src/bts.h index edccc28..5a1b162 100644 --- a/src/bts.h +++ b/src/bts.h @@ -309,7 +309,7 @@ int current_frame_number() const; /** add paging to paging queue(s) */ - int add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len); + int add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi); gprs_rlcmac_dl_tbf *dl_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts); gprs_rlcmac_ul_tbf *ul_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts); diff --git a/src/encoding.cpp b/src/encoding.cpp index 9dfd7c9..881dc61 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -30,6 +30,7 @@ extern "C" { #include #include +#include } #include @@ -720,8 +721,10 @@ } /* Generate paging request. See 44.018, sections 10 and 9.1.22 */ -int Encoding::write_paging_request(bitvec * dest, const uint8_t *mi, uint8_t mi_len) +int Encoding::write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi) { + uint8_t mi_buf[GSM48_MID_MAX_SIZE]; + int mi_len; unsigned wp = 0; int plen; @@ -732,8 +735,11 @@ bitvec_write_field(dest, &wp,0x0,4); // Page Mode bitvec_write_field(dest, &wp,0x0,4); // Channel Needed + mi_len = osmo_mobile_identity_encode_buf(mi_buf, sizeof(mi_buf), mi, true); + if (mi_len <= 0) + return mi_len; bitvec_write_field(dest, &wp, mi_len, 8); // Mobile Identity length - bitvec_set_bytes(dest, mi, mi_len); // Mobile Identity + bitvec_set_bytes(dest, mi_buf, mi_len); // Mobile Identity wp += mi_len * 8; OSMO_ASSERT(wp % 8 == 0); diff --git a/src/encoding.h b/src/encoding.h index 5bdd4ef..2f6b273 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -78,7 +78,7 @@ bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp); - static int write_paging_request(bitvec * dest, const uint8_t *mi, uint8_t mi_len); + static int write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi); static unsigned write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, uint8_t *identity, uint8_t chan_needed); diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 4fb5989..3321d10 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -171,11 +171,8 @@ } /* Returns 0 on success, suggested BSSGP cause otherwise */ -static unsigned int get_paging_mi(const uint8_t **mi, uint8_t *mi_len, - const struct tlv_parsed *tp) +static unsigned int get_paging_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) { - static uint8_t tmsi_buf[GSM48_TMSI_LEN]; - /* Use TMSI (if present) or IMSI */ if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { /* Be safe against an evil SGSN - check the length */ @@ -185,14 +182,17 @@ } /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ - memcpy(tmsi_buf + 1, TLVP_VAL(tp, BSSGP_IE_TMSI), GSM23003_TMSI_NUM_BYTES); - tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; - - *mi_len = GSM48_TMSI_LEN; - *mi = tmsi_buf; + *mi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_TMSI, + .tmsi = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TMSI)), + }; } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { - *mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - *mi = TLVP_VAL(tp, BSSGP_IE_IMSI); + int rc = osmo_mobile_identity_decode(mi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), + true); + if (rc < 0 || mi->type != GSM_MI_TYPE_IMSI) { + LOGP(DBSSGP, LOGL_ERROR, "Invalid IMSI Mobile Identity\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } } else { LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); return BSSGP_CAUSE_MISSING_COND_IE; @@ -203,23 +203,21 @@ static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, struct tlv_parsed *tp) { - const uint8_t *mi; - uint8_t mi_len; + struct osmo_mobile_identity mi; int rc; uint8_t *chan_needed = (uint8_t *)TLVP_VAL(tp, BSSGP_IE_CHAN_NEEDED); - if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + if ((rc = get_paging_mi(&mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, mi, mi_len); + return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, &mi); } static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_mobile_identity mi_imsi; + struct osmo_mobile_identity paging_mi; uint16_t pgroup; - const uint8_t *mi; - uint8_t mi_len; int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { @@ -238,10 +236,10 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + if ((rc = get_paging_mi(&paging_mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - return gprs_rlcmac_paging_request(mi, mi_len, pgroup); + return gprs_rlcmac_paging_request(&paging_mi, pgroup); } /* Receive a BSSGP PDU from a BSS on a PTP BVCI */ diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 879ea85..4fb75f7 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -32,18 +32,20 @@ extern void *tall_pcu_ctx; -int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup) +int gprs_rlcmac_paging_request(const struct osmo_mobile_identity *mi, uint16_t pgroup) { if (log_check_level(DRLCMAC, LOGL_NOTICE)) { - struct osmo_mobile_identity omi = {}; char str[64]; - osmo_mobile_identity_decode(&omi, mi, mi_len, true); - osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", str); } bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); - int plen = Encoding::write_paging_request(paging_request, mi, mi_len); + int plen = Encoding::write_paging_request(paging_request, mi); + if (plen <= 0) { + LOGP(DRLCMAC, LOGL_ERROR, "TX: [PCU -> BTS] Failed to encode Paging Request\n"); + return -1; + } pcu_l1if_tx_pch(paging_request, plen, pgroup); bitvec_free(paging_request); diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 789b8db..6587c40 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -93,7 +93,7 @@ int gprs_rlcmac_tx_ul_ud(gprs_rlcmac_tbf *tbf); -int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup); +int gprs_rlcmac_paging_request(const struct osmo_mobile_identity *mi, uint16_t pgroup); struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req); diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 7fa82fb..572114b 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -677,6 +677,9 @@ static int pcu_rx_pag_req(struct gsm_pcu_if_pag_req *pag_req) { + struct osmo_mobile_identity mi; + int rc; + LOGP(DL1IF, LOGL_DEBUG, "Paging request received: chan_needed=%d " "length=%d\n", pag_req->chan_needed, pag_req->identity_lv[0]); @@ -687,8 +690,13 @@ return -EINVAL; } - return BTS::main_bts()->add_paging(pag_req->chan_needed, &pag_req->identity_lv[1], - pag_req->identity_lv[0]); + rc = osmo_mobile_identity_decode(&mi, &pag_req->identity_lv[1], pag_req->identity_lv[0], true); + if (rc <= 0) { + LOGP(DL1IF, LOGL_ERROR, "Failed to decode Mobile Identity in Paging Request (rc=%d)\n", rc); + return -EINVAL; + } + + return BTS::main_bts()->add_paging(pag_req->chan_needed, &mi); } static int pcu_rx_susp_req(struct gsm_pcu_if_susp_req *susp_req) diff --git a/src/pdch.cpp b/src/pdch.cpp index af84724..096d8a0 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -266,15 +266,14 @@ return NULL; } -bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len) +bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi) { struct gprs_rlcmac_paging *pag = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_paging); if (!pag) return false; pag->chan_needed = chan_needed; - pag->identity_lv[0] = mi_len; - memcpy(&pag->identity_lv[1], mi, mi_len); + osmo_mobile_identity_encode_buf(pag->identity_lv, sizeof(pag->identity_lv), mi, true); llist_add(&pag->list, &paging_list); diff --git a/src/pdch.h b/src/pdch.h index ec35174..e1e3688 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -48,7 +48,7 @@ struct gprs_rlcmac_paging *dequeue_paging(); struct msgb *packet_paging_request(); - bool add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len); + bool add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi); void free_resources(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 14:43:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 14:43:26 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... use new osmo_mobile_identity api (avoid deprecation) Note: subsequent patch Iad845acb0096b75dc453105c9c16b2252879b4ca will change to passing a struct osmo_mobile_identity in the Paging code path, instead of passing the encoded IE data. Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/pdch.cpp 4 files changed, 37 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/67/19767/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 14:43:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 14:43:26 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... paging: pass struct osmo_mobile_identity, not encoded IE bytes In get_paging_mi(), before this, an encoded buffer of Mobile Identity bytes is returned. Code paths following this repeatedly decode the Mobile Identity bytes, e.g. for logging. Also, in get_paging_mi(), since the TMSI is read in from a different encoding than a typical Mobile Identity IE, the TMSI was manually encoded into a typical Mobile Identity IE. This is essentially a code dup of osmo_mobile_identity_encode(). Stop this madness. Instead, in get_paging_mi(), return a decoded struct osmo_mobile_identity. Code paths after this use the struct osmo_mobile_identity directly without repeated decoding. At the point of finally needing an encoded Mobile Identity IE (in Encoding::write_paging_request()), do a proper osmo_mobile_identity_encode(). Since this may return errors, add an rc check for the caller of write_paging_request(), gprs_rlcmac_paging_request(). A side effect is stricter validation of the Mobile Identity passing through the Paging code path. Before, invalid MI might have passed through unnoticed. Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca --- M src/bts.cpp M src/bts.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h 10 files changed, 51 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/19768/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 14:45:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Aug 2020 14:45:43 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... paging: pass struct osmo_mobile_identity, not encoded IE bytes In get_paging_mi(), before this, an encoded buffer of Mobile Identity bytes is returned. Code paths following this repeatedly decode the Mobile Identity bytes, e.g. for logging. Also, in get_paging_mi(), since the TMSI is read in from a different encoding than a typical Mobile Identity IE, the TMSI was manually encoded into a typical Mobile Identity IE. This is essentially a code dup of osmo_mobile_identity_encode(). Stop this madness. Instead, in get_paging_mi(), return a decoded struct osmo_mobile_identity. Code paths after this use the struct osmo_mobile_identity directly without repeated decoding. At the point of finally needing an encoded Mobile Identity IE (in Encoding::write_paging_request()), do a proper osmo_mobile_identity_encode(). Since this may return errors, add an rc check for the caller of write_paging_request(), gprs_rlcmac_paging_request(). A side effect is stricter validation of the Mobile Identity passing through the Paging code path. Before, invalid MI might have passed through unnoticed. Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca --- M src/bts.cpp M src/bts.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h 10 files changed, 51 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/19768/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 15:25:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 15:25:24 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 Aug 2020 15:25: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 Aug 21 15:25:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 15:25:27 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 Aug 2020 15:25: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 Aug 21 15:35:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 15:35:14 +0000 Subject: Change in libosmo-sccp[master]: Fix finding ASP on IPv6 connections References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 ) Change subject: Fix finding ASP on IPv6 connections ...................................................................... Fix finding ASP on IPv6 connections Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 --- M src/osmo_ss7.c 1 file changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/69/19769/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index cdac27a..bae9904 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1198,6 +1198,26 @@ } } +/* Converts string representation of v4-mappend-on-v6 IP addr to a pure IPv4 address. + * Example: ::ffff:172.18.19.200 => 172.18.19.200 + */ +static void chop_v4_mapped_on_v6_prefix(char* buf) +{ + char *last_colon; + size_t len; + char *first_dot = strchr(buf, '.'); + + if (!first_dot) + return; /* Not an IPv4-mappend-on-v6 string representation, nothing to do */ + last_colon = strrchr(buf, ':'); + if (!last_colon) + return; /* pure IPv4 address, nothing to do */ + + len = strlen(last_colon + 1); + memmove(buf, last_colon + 1, len); + buf[len] = '\0'; +} + /*! \brief Find an ASP definition matching the local+remote IP/PORT of given fd * \param[in] fd socket descriptor of given socket * \returns SS7 ASP in case a matching one is found; NULL otherwise */ @@ -1205,7 +1225,7 @@ osmo_ss7_asp_find_by_socket_addr(int fd) { struct osmo_ss7_instance *inst; - struct sockaddr sa_l, sa_r; + struct sockaddr_storage sa_l, sa_r; socklen_t sa_len_l = sizeof(sa_l); socklen_t sa_len_r = sizeof(sa_r); char hostbuf_l[64], hostbuf_r[64]; @@ -1215,23 +1235,32 @@ OSMO_ASSERT(ss7_initialized); /* convert local and remote IP to string */ - rc = getsockname(fd, &sa_l, &sa_len_l); + rc = getsockname(fd, (struct sockaddr*)&sa_l, &sa_len_l); if (rc < 0) return NULL; - rc = getnameinfo(&sa_l, sa_len_l, hostbuf_l, sizeof(hostbuf_l), + rc = getnameinfo((struct sockaddr*)&sa_l, sa_len_l, + hostbuf_l, sizeof(hostbuf_l), NULL, 0, NI_NUMERICHOST); if (rc < 0) return NULL; - local_port = ntohs(get_in_port(&sa_l)); + local_port = ntohs(get_in_port((struct sockaddr*)&sa_l)); - rc = getpeername(fd, &sa_r, &sa_len_r); + rc = getpeername(fd, (struct sockaddr*)&sa_r, &sa_len_r); if (rc < 0) return NULL; - rc = getnameinfo(&sa_r, sa_len_r, hostbuf_r, sizeof(hostbuf_r), + rc = getnameinfo((struct sockaddr*)&sa_r, sa_len_r, + hostbuf_r, sizeof(hostbuf_r), NULL, 0, NI_NUMERICHOST); if (rc < 0) return NULL; - remote_port = ntohs(get_in_port(&sa_r)); + remote_port = ntohs(get_in_port((struct sockaddr*)&sa_r)); + + /* If multi-home is used with both IPv4 and IPv6, then the socket is + * AF_INET6, and then returned IPv4 addresses are actually v6mapped ones. + * We need to convert them to IPv4 before matching. + */ + chop_v4_mapped_on_v6_prefix(hostbuf_l); + chop_v4_mapped_on_v6_prefix(hostbuf_r); /* check all instances for any ASP definition matching the * address combination of local/remote ip/port */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 Gerrit-Change-Number: 19769 Gerrit-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 Aug 21 15:54:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 15:54:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... stp: Support testing multi-home SCTP features with IPv4+IPv6 The IP addr module parameters are split now, IPA module has its own set of configurable addresses, and M3UA its own. Moreover, in M3UA there's an IPv4 and an IPv6 which can be configured, both locally and remotely. If no IPv6 is set (=""), then only IPv4 will be used for the M3UA connection. Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 --- M stp/STP_Tests_Common.ttcn M stp/STP_Tests_IPA.ttcn M stp/STP_Tests_M3UA.ttcn 3 files changed, 50 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/19770/1 diff --git a/stp/STP_Tests_Common.ttcn b/stp/STP_Tests_Common.ttcn index aee5a88..a540b10 100644 --- a/stp/STP_Tests_Common.ttcn +++ b/stp/STP_Tests_Common.ttcn @@ -19,19 +19,6 @@ import from IPL4asp_Types all; -modulepar { - charstring mp_stp_ip := "127.0.0.1"; - charstring mp_local_ip := "127.0.0.1"; -} - -friend template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 3, - template (omit) integer stream := 0) := { - sinfo_stream := stream, - sinfo_ppid := ppid, - remSocks := omit, - assocId := omit -} - type component Test_CT { port TELNETasp_PT VTY; timer g_Tguard := 30.0; diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index c67bc4a..26abc80 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -38,6 +38,8 @@ type record of charstring AspNameArray; modulepar { + charstring mp_stp_ipa_ip := "127.0.0.1"; + charstring mp_local_ipa_ip := "127.0.0.1"; integer mp_stp_ipa_port := 5000; integer mp_local_ipa_port := 20000; AspNameArray mp_ipa_as_names := {"ipa-as-loadshare-sender", @@ -113,7 +115,7 @@ ASP only up to NR_IPA are configured. */ port_offset := 100; } - vc_IPA[idx].start(IPA_Emulation.main_client(mp_stp_ip, mp_stp_ipa_port, mp_local_ip, + vc_IPA[idx].start(IPA_Emulation.main_client(mp_stp_ipa_ip, mp_stp_ipa_port, mp_local_ipa_ip, mp_local_ipa_port + idx + port_offset, g_ccm_pars[idx])); } diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 68cea2a..4f2c9a5 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -35,6 +35,10 @@ import from STP_Tests_Common all; modulepar { + charstring mp_stp_m3ua_ip4 := "127.0.0.1"; + charstring mp_stp_m3ua_ip6 := "::1"; + charstring mp_local_m3ua_ip4 := "127.0.0.1"; + charstring mp_local_m3ua_ip6 := "::1"; integer mp_stp_m3ua_port := 2905; integer mp_stp_m3ua_clnt_port := 2906; integer mp_local_m3ua_port := 9999; @@ -92,11 +96,41 @@ } } +private template (value) Socket ts_Socket(HostName hostName, PortNumber portNumber) := { + hostName := hostName, + portNumber := portNumber +}; + +private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 3, + template (omit) integer stream := 0, + template (omit) SocketList remSocks := omit) := { + sinfo_stream := stream, + sinfo_ppid := ppid, + remSocks := remSocks, + assocId := omit +}; + friend function f_M3UA_connect(integer i) runs on RAW_M3UA_CT { var Result res; - res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_ip, mp_stp_m3ua_port, - mp_local_ip, mp_local_m3ua_port+i, 0, - {sctp:=valueof(ts_SCTP)}); + var Option opt_add_local_addrs; + var OptionList opt_list := {}; + var template SocketList opt_add_remote_addrs; + + if (mp_local_m3ua_ip6 != "") { + opt_add_local_addrs.sctpAdditionalLocalAddresses := {mp_local_m3ua_ip6}; + opt_list := {opt_add_local_addrs}; + } + + if (mp_stp_m3ua_ip6 == "") { + opt_add_remote_addrs := omit; + } else { + opt_add_remote_addrs := {valueof(ts_Socket(mp_stp_m3ua_ip6, mp_stp_m3ua_port))}; + } + + res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_m3ua_ip4, mp_stp_m3ua_port, + mp_local_m3ua_ip4, mp_local_m3ua_port+i, 0, + {sctp:=valueof(ts_SCTP(3, 0, opt_add_remote_addrs))}, + opt_list); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect M3UA socket, check your configuration"); mtc.stop; @@ -112,8 +146,16 @@ friend function f_M3UA_listen(integer i) runs on RAW_M3UA_CT { var Result res; - res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_ip, mp_local_m3ua_port+i, - {sctp:=valueof(ts_SCTP)}); + var Option opt_add_local_addrs; + var OptionList opt_list := {}; + + if (mp_local_m3ua_ip6 != "") { + opt_add_local_addrs.sctpAdditionalLocalAddresses := {mp_local_m3ua_ip6}; + opt_list := {opt_add_local_addrs}; + } + + res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_m3ua_ip4, mp_local_m3ua_port+i, + {sctp:=valueof(ts_SCTP)}, opt_list); if (not ispresent(res.connId)) { setverdict(fail, "Could not bind M3UA socket, check your configuration"); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-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 Aug 21 15:58:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 15:58:46 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 Depends: libosmo-sccp.git Change-Id I09226a5cecc37dd4676acd61c2051befe5234cb3 Depends: osmo-ttcn3-hacks.git Change-Id Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh M ttcn3-stp-test/osmo-stp.cfg 3 files changed, 22 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/19771/1 diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index ec95058..8b5ecd1 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -9,14 +9,19 @@ *.VTY.CTRL_HOSTNAME := "172.18.19.200" [MODULE_PARAMETERS] -STP_Tests_Common.mp_stp_ip := "172.18.19.200"; -STP_Tests_Common.mp_local_ip := "172.18.19.203"; +STP_Tests_IPA.mp_stp_ipa_ip := "172.18.19.200"; +STP_Tests_M3UA.mp_stp_m3ua_ip4 := "172.18.19.200"; +STP_Tests_M3UA.mp_stp_m3ua_ip6 := "fd02:db8:19::203"; +STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; +STP_Tests_M3UA.mp_local_m3ua_ip4 := "172.18.19.203"; +STP_Tests_M3UA.mp_local_m3ua_ip6 := "fd02:db8:19::203"; [MAIN_CONTROLLER] [EXECUTE] -STP_Tests_M3UA.control -STP_Tests_IPA.control -STP_Tests.control +#STP_Tests_M3UA.control +STP_Tests_M3UA.TC_asp_act +#STP_Tests_IPA.control +#STP_Tests.control diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 6b6a2de..c09d5c2 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -16,7 +16,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.19.200 \ + --network $NET_NAME --ip 172.18.19.200 --ip6 fd02:db8:19::200 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -25,7 +25,7 @@ echo Starting container with STP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.19.203 \ + --network $NET_NAME --ip 172.18.19.203 --ip6 fd02:db8:19::203 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ diff --git a/ttcn3-stp-test/osmo-stp.cfg b/ttcn3-stp-test/osmo-stp.cfg index 20fb298..9e4447c 100644 --- a/ttcn3-stp-test/osmo-stp.cfg +++ b/ttcn3-stp-test/osmo-stp.cfg @@ -26,16 +26,24 @@ ! asp asp-sender 9999 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-receiver0 10000 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-receiver1 10001 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-client0 10002 2906 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 sctp-role client role asp as as-sender m3ua @@ -109,6 +117,8 @@ !SERVERS: ! listen m3ua 2905 + local-ip 172.18.19.200 + local-ip fd02:db8:19::200 accept-asp-connections dynamic-permitted listen ipa 5000 accept-asp-connections dynamic-permitted -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-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 Aug 21 15:59:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 15:59:56 +0000 Subject: Change in libosmocore[master]: Add VTY + CTRL ports for upcoming OsmoSMLC References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19772 ) Change subject: Add VTY + CTRL ports for upcoming OsmoSMLC ...................................................................... Add VTY + CTRL ports for upcoming OsmoSMLC We will soon have a minimal Serving Mobile Location Center. Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 --- M include/osmocom/ctrl/ports.h M include/osmocom/vty/ports.h 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/19772/1 diff --git a/include/osmocom/ctrl/ports.h b/include/osmocom/ctrl/ports.h index 4c3b77f..9759dc1 100644 --- a/include/osmocom/ctrl/ports.h +++ b/include/osmocom/ctrl/ports.h @@ -26,4 +26,5 @@ #define OSMO_CTRL_PORT_CBC 4265 /* 4266 used by D-GSM mDNS */ #define OSMO_CTRL_PORT_MGW 4267 +#define OSMO_CTRL_PORT_SMLC 4272 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index cda6a55..b3550d1 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -36,4 +36,5 @@ #define OSMO_VTY_PORT_CBC 4264 #define OSMO_VTY_PORT_UECUPS 4268 #define OSMO_VTY_PORT_E1D 4269 +#define OSMO_VTY_PORT_SMLC 4271 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 Gerrit-Change-Number: 19772 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 Aug 21 16:01:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 16:01:02 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add port numbers for upcoming OsmoSMLC References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 ) Change subject: port_numbers: Add port numbers for upcoming OsmoSMLC ...................................................................... port_numbers: Add port numbers for upcoming OsmoSMLC Change-Id: I09c9a2141dda266999b89513f1faa86adfca8e6a --- M common/chapters/port_numbers.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/73/19773/1 diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index fdb8ef9..48ba7a2 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -48,6 +48,8 @@ |TCP|4268|telnet (VTY)|osmo-uecups |SCTP|4268|UECUPS|osmo-uecups |TCP|4269|telnet (VTY)|osmo-e1d +|TCP|4271|telnet (VTY)|osmo-smlc +|TCP|4272|Control Interface|osmo-smlc |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat |UDP|23000|GPRS-NS over IP default port|osmo-pcu, osmo-sgsn, osmo-gbproxy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 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: I09c9a2141dda266999b89513f1faa86adfca8e6a Gerrit-Change-Number: 19773 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 Aug 21 16:01:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:01:54 +0000 Subject: Change in libosmocore[master]: Add VTY + CTRL ports for upcoming OsmoSMLC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19772 ) Change subject: Add VTY + CTRL ports for upcoming OsmoSMLC ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/ctrl/ports.h File include/osmocom/ctrl/ports.h: https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/ctrl/ports.h at 29 PS1, Line 29: #define OSMO_CTRL_PORT_SMLC 4272 4271? https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/vty/ports.h File include/osmocom/vty/ports.h: https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/vty/ports.h at 39 PS1, Line 39: #define OSMO_VTY_PORT_SMLC 4271 4270? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 Gerrit-Change-Number: 19772 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 21 Aug 2020 16:01: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 Aug 21 16:02:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:02:03 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add port numbers for upcoming OsmoSMLC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 ) Change subject: port_numbers: Add port numbers for upcoming OsmoSMLC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 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: I09c9a2141dda266999b89513f1faa86adfca8e6a Gerrit-Change-Number: 19773 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 21 Aug 2020 16:02:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 16:06:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:06:54 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost 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/+/19738 to look at the new patch set (#2). Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/19738/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 16:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:07:08 +0000 Subject: Change in osmo-msc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost 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-msc/+/19739 to look at the new patch set (#2). Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 --- M src/osmo-msc/msc_main.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/39/19739/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 Gerrit-Change-Number: 19739 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 16:07:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:07:20 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 to look at the new patch set (#2). Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 --- M src/sgsn/sgsn_main.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/41/19741/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 16:07:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:07:37 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 to look at the new patch set (#2). Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/42/19742/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 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 Fri Aug 21 16:09:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:09:06 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... Patch Set 1: This currently fails due to the python tests using IPv6 until the related libosmocore and libosmo-netif patches are merged. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 16:09: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 Aug 21 16:09:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:09:40 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... Patch Set 1: > Patch Set 1: > > This currently fails due to the python tests using IPv6 until the related libosmocore and libosmo-netif patches are merged. Sorry scratch this comment, wrong patch. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 16:09:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 16:09:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Aug 2020 16:09:52 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Patch Set 1: This currently fails due to the python tests using IPv6 until the related libosmocore and libosmo-netif patches are merged. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 16: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 Fri Aug 21 16:11:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 16:11:42 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 16:11: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 Aug 21 16:12:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 16:12:23 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 16:12: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 Aug 21 16:24:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 16:24:38 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19774 ) Change subject: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() ...................................................................... pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() Change-Id: I26ad0e990f6bf049a14f63b1255722d60c7ff868 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/74/19774/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index fb6393a..f92fe4e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -576,7 +576,7 @@ info_ind->mcc, info_ind->mnc, info_ind->mnc_3_digits, info_ind->lac, info_ind->rac, info_ind->cell_id); if (!pcu) { - LOGP(DL1IF, LOGL_NOTICE, "SGSN not available\n"); + LOGP(DL1IF, LOGL_NOTICE, "SGSN is not available\n"); goto bssgp_failed; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I26ad0e990f6bf049a14f63b1255722d60c7ff868 Gerrit-Change-Number: 19774 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 Aug 21 16:24:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 16:24:39 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19775 ) Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... tbf: allocate the bitvec on stack in create_{dl,ul}_ass() Initialize the bit vector to use already allocated memory, so we would not need to allocate additional 23 bytes and copy them from the bit vector to a msgb. Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca --- M src/tbf.cpp 1 file changed, 13 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/75/19775/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index f77b1e2..2d78ef8 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1192,7 +1192,6 @@ struct msgb *msg; struct gprs_rlcmac_dl_tbf *new_dl_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - bitvec *ass_vec = NULL; int poll_ass_dl = 1; unsigned int rrbp = 0; uint32_t new_poll_fn = 0; @@ -1256,10 +1255,11 @@ msg = msgb_alloc(23, "rlcmac_dl_ass"); if (!msg) return NULL; - ass_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ass_vec) - goto free_ret; - bitvec_unhex(ass_vec, DUMMY_VEC); + struct bitvec bv = { + .data_len = GSM_MACBLOCK_LEN, + .data = msgb_put(msg, GSM_MACBLOCK_LEN), + }; + bitvec_unhex(&bv, DUMMY_VEC); LOGPTBF(new_dl_tbf, LOGL_INFO, "start Packet Downlink Assignment (PACCH)\n"); mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); Encoding::write_packet_downlink_assignment(mac_control_block, @@ -1268,14 +1268,13 @@ bts_data()->alpha, bts_data()->gamma, -1, 0, is_egprs_enabled()); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n"); - rc = encode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + rc = encode_gsm_rlcmac_downlink(&bv, mac_control_block); if (rc < 0) { LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Downlink Ass failed (%d)\n", rc); goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts->do_rate_ctr_inc(CTR_PKT_DL_ASSIGNMENT); - bitvec_pack(ass_vec, msgb_put(msg, 23)); if (poll_ass_dl) { set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); @@ -1288,13 +1287,10 @@ } - bitvec_free(ass_vec); talloc_free(mac_control_block); return msg; free_ret: - if (ass_vec != NULL) - bitvec_free(ass_vec); talloc_free(mac_control_block); msgb_free(msg); return NULL; @@ -1333,7 +1329,6 @@ struct msgb *msg = NULL; struct gprs_rlcmac_ul_tbf *new_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - bitvec *ass_vec = NULL; int rc; unsigned int rrbp; uint32_t new_poll_fn; @@ -1361,20 +1356,20 @@ msg = msgb_alloc(23, "rlcmac_ul_ass"); if (!msg) return NULL; + struct bitvec bv = { + .data_len = GSM_MACBLOCK_LEN, + .data = msgb_put(msg, GSM_MACBLOCK_LEN), + }; + bitvec_unhex(&bv, DUMMY_VEC); LOGPTBF(new_tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n"); - ass_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ass_vec) - goto free_ret; - bitvec_unhex(ass_vec, DUMMY_VEC); - Encoding::write_packet_uplink_assignment(ass_vec, m_tfi, + Encoding::write_packet_uplink_assignment(&bv, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); - bitvec_pack(ass_vec, msgb_put(msg, 23)); mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); - rc = decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + rc = decode_gsm_rlcmac_downlink(&bv, mac_control_block); if (rc < 0) { LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Uplink Ass failed (%d)\n", rc); goto free_ret; @@ -1384,13 +1379,10 @@ set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); - bitvec_free(ass_vec); talloc_free(mac_control_block); return msg; free_ret: - if (ass_vec != NULL) - bitvec_free(ass_vec); talloc_free(mac_control_block); msgb_free(msg); return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 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 Aug 21 16:24:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 16:24:39 +0000 Subject: Change in osmo-pcu[master]: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19776 ) Change subject: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible ...................................................................... tbf: cosmetic: use GSM_MACBLOCK_LEN where possible Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a --- M src/tbf.cpp 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/19776/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 2d78ef8..644b947 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1252,7 +1252,7 @@ } new_dl_tbf->was_releasing = was_releasing; - msg = msgb_alloc(23, "rlcmac_dl_ass"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_dl_ass"); if (!msg) return NULL; struct bitvec bv = { @@ -1300,9 +1300,9 @@ { struct msgb *msg; - msg = msgb_alloc(23, "rlcmac_ul_ass_rej"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass_rej"); - bitvec *packet_access_rej = bitvec_alloc(23, tall_pcu_ctx); + bitvec *packet_access_rej = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); bitvec_unhex(packet_access_rej, DUMMY_VEC); @@ -1311,7 +1311,7 @@ bts->do_rate_ctr_inc(CTR_PKT_ACCESS_REJ); - bitvec_pack(packet_access_rej, msgb_put(msg, 23)); + bitvec_pack(packet_access_rej, msgb_put(msg, GSM_MACBLOCK_LEN)); bitvec_free(packet_access_rej); ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; @@ -1353,7 +1353,7 @@ return NULL; } - msg = msgb_alloc(23, "rlcmac_ul_ass"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass"); if (!msg) return NULL; struct bitvec bv = { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a Gerrit-Change-Number: 19776 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 Aug 21 16:37:43 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 21 Aug 2020 16:37:43 +0000 Subject: Change in osmo-mgw[master]: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19777 ) Change subject: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 ...................................................................... configure.ac: require libosmoabis + libosmotrau >= 1.0.0 Since osmo-mgw supports trau frames it requries a newer version. The spec file already requires those newer version. Change-Id: If6c7ecdde09c6e09ded7e0959b7765a01a31d702 --- M configure.ac 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/77/19777/1 diff --git a/configure.ac b/configure.ac index 9aba2ed..83885d4 100644 --- a/configure.ac +++ b/configure.ac @@ -52,8 +52,8 @@ PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) -PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) -PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 1.0.0) +PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 1.0.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If6c7ecdde09c6e09ded7e0959b7765a01a31d702 Gerrit-Change-Number: 19777 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 Fri Aug 21 17:25:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 17:25:44 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran.c: Remove unused #defines References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19778 ) Change subject: osmo_bsc_sigtran.c: Remove unused #defines ...................................................................... osmo_bsc_sigtran.c: Remove unused #defines Change-Id: Ic21f27f67815190020f3860a9fbb5f4f1fd78a57 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/19778/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 57a4da5..657413a 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -41,9 +41,6 @@ * (a copy of the pointer location submitted with osmo_bsc_sigtran_init() */ static struct llist_head *msc_list; -#define RESET_INTERVAL 1 /* sek */ -#define SCCP_MSG_MAXSIZE 1024 -#define CS7_POINTCODE_DEFAULT_OFFSET 2 #define DEFAULT_ASP_REMOTE_IP "127.0.0.1" /* The SCCP stack will not assign connection IDs to us automatically, we -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21f27f67815190020f3860a9fbb5f4f1fd78a57 Gerrit-Change-Number: 19778 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 Aug 21 18:03:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:03:42 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add port numbers for upcoming OsmoSMLC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 ) Change subject: port_numbers: Add port numbers for upcoming OsmoSMLC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 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: I09c9a2141dda266999b89513f1faa86adfca8e6a Gerrit-Change-Number: 19773 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 18:03: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 Aug 21 18:03:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:03:46 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add port numbers for upcoming OsmoSMLC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 ) Change subject: port_numbers: Add port numbers for upcoming OsmoSMLC ...................................................................... port_numbers: Add port numbers for upcoming OsmoSMLC Change-Id: I09c9a2141dda266999b89513f1faa86adfca8e6a --- M common/chapters/port_numbers.adoc 1 file changed, 2 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/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index fdb8ef9..48ba7a2 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -48,6 +48,8 @@ |TCP|4268|telnet (VTY)|osmo-uecups |SCTP|4268|UECUPS|osmo-uecups |TCP|4269|telnet (VTY)|osmo-e1d +|TCP|4271|telnet (VTY)|osmo-smlc +|TCP|4272|Control Interface|osmo-smlc |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat |UDP|23000|GPRS-NS over IP default port|osmo-pcu, osmo-sgsn, osmo-gbproxy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19773 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: I09c9a2141dda266999b89513f1faa86adfca8e6a Gerrit-Change-Number: 19773 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:04:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:04:28 +0000 Subject: Change in libosmocore[master]: Add VTY + CTRL ports for upcoming OsmoSMLC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19772 ) Change subject: Add VTY + CTRL ports for upcoming OsmoSMLC ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/vty/ports.h File include/osmocom/vty/ports.h: https://gerrit.osmocom.org/c/libosmocore/+/19772/1/include/osmocom/vty/ports.h at 39 PS1, Line 39: #define OSMO_VTY_PORT_SMLC 4271 > 4270? I left 4270 opoen if we ever wanted a CTRL port for osmo-e1d -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 Gerrit-Change-Number: 19772 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 18:04:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:04:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:04:31 +0000 Subject: Change in libosmocore[master]: Add VTY + CTRL ports for upcoming OsmoSMLC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19772 ) Change subject: Add VTY + CTRL ports for upcoming OsmoSMLC ...................................................................... Add VTY + CTRL ports for upcoming OsmoSMLC We will soon have a minimal Serving Mobile Location Center. Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 --- M include/osmocom/ctrl/ports.h M include/osmocom/vty/ports.h 2 files changed, 2 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/include/osmocom/ctrl/ports.h b/include/osmocom/ctrl/ports.h index 4c3b77f..9759dc1 100644 --- a/include/osmocom/ctrl/ports.h +++ b/include/osmocom/ctrl/ports.h @@ -26,4 +26,5 @@ #define OSMO_CTRL_PORT_CBC 4265 /* 4266 used by D-GSM mDNS */ #define OSMO_CTRL_PORT_MGW 4267 +#define OSMO_CTRL_PORT_SMLC 4272 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index cda6a55..b3550d1 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -36,4 +36,5 @@ #define OSMO_VTY_PORT_CBC 4264 #define OSMO_VTY_PORT_UECUPS 4268 #define OSMO_VTY_PORT_E1D 4269 +#define OSMO_VTY_PORT_SMLC 4271 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19772 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7e9c2196a03502cfd3d880a3090a5be80773945 Gerrit-Change-Number: 19772 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:05:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:05:47 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18:05: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 Aug 21 18:06:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:06:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Bind to free SCTP port instead of hardcoded 9999 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 ) Change subject: stp: Bind to free SCTP port instead of hardcoded 9999 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6 Gerrit-Change-Number: 19759 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18: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 Fri Aug 21 18:06:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:06:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Enable Titan SCTP multi-homing feature support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 ) Change subject: Enable Titan SCTP multi-homing feature support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf3af8c6386419374b655cf6b40dd3e6ddcef8c5 Gerrit-Change-Number: 19760 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18:06:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:06:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Bind to free SCTP port instead of hardcoded 9999 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 ) Change subject: stp: Bind to free SCTP port instead of hardcoded 9999 ...................................................................... stp: Bind to free SCTP port instead of hardcoded 9999 TTCN3 transforms -1 internally to 9999. We don't care about the src port here since we are a client, so let's simple take a randomly free one. Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 58e52d3..68cea2a 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -95,7 +95,7 @@ friend function f_M3UA_connect(integer i) runs on RAW_M3UA_CT { var Result res; res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_ip, mp_stp_m3ua_port, - mp_local_ip, mp_local_m3ua_port+i, -1, + mp_local_ip, mp_local_m3ua_port+i, 0, {sctp:=valueof(ts_SCTP)}); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect M3UA socket, check your configuration"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19759 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6665e628c5f1db31731d092f58d0bd2520f65ee6 Gerrit-Change-Number: 19759 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 Aug 21 18:06:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:06:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Enable Titan SCTP multi-homing feature support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 ) Change subject: Enable Titan SCTP multi-homing feature support ...................................................................... Enable Titan SCTP multi-homing feature support Reference: titan.TestPorts.IPL4asp/doc/IPL4asp_Description.adoc Change-Id: Icf3af8c6386419374b655cf6b40dd3e6ddcef8c5 --- M regen-makefile.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/regen-makefile.sh b/regen-makefile.sh index a2aa946..f6e9538 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -45,13 +45,13 @@ TITAN_VERSION=$(ttcn3_makefilegen -v 2>&1 |grep "Product number" |cut --delimiter="/" -f 2-| sed -e "s/[A-Z ]//g") sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = \/usr/' Makefile -sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan /' Makefile +sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan -lsctp /' Makefile #sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile # The -DMAKEDEPEND_RUN is a workaround for Debian packaging issue, # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879816 for details if [ $(($TITAN_VERSION >= 65)) = 1 ]; then - sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP/' Makefile + sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED/' Makefile else sed -i -e 's/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -I$(TTCN3_DIR)\/include -I\/usr\/include\/titan/' Makefile fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19760 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf3af8c6386419374b655cf6b40dd3e6ddcef8c5 Gerrit-Change-Number: 19760 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 Aug 21 18:08:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:08:01 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/19732/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-sccp/+/19732/1//COMMIT_MSG at 10 PS1, Line 10: local DNS NSS -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18:08: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 Fri Aug 21 18:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:10:00 +0000 Subject: Change in osmo-smlc[master]: initial skeleton References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19779 ) Change subject: initial skeleton ...................................................................... initial skeleton Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b --- A .gitignore A AUTHORS A COPYING A Makefile.am A README A configure.ac A contrib/Makefile.am A contrib/jenkins.sh A contrib/osmo-smlc.spec.in A contrib/systemd/Makefile.am A contrib/systemd/osmo-smlc.service A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-smlc-doc.install A debian/osmo-smlc.install A debian/rules A debian/source/format A doc/Makefile.am A doc/examples/Makefile.am A doc/examples/osmo-smlc/osmo-smlc.cfg A doc/manuals/Makefile.am A doc/manuals/chapters/overview.adoc A doc/manuals/chapters/running.adoc A doc/manuals/osmosmlc-usermanual-docinfo.xml A doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/osmosmlc-vty-reference.xml A doc/manuals/regen_doc.sh A doc/manuals/vty/smlc_vty_dditions.xml A git-version-gen A include/Makefile.am A include/osmocom/Makefile.am A include/osmocom/smlc/Makefile.am A include/osmocom/smlc/smlc_data.h A include/osmocom/smlc/smlc_sigtran.h A osmoappdesc.py A src/Makefile.am A src/osmo-smlc/Makefile.am A src/osmo-smlc/smlc_ctrl.c A src/osmo-smlc/smlc_main.c A src/osmo-smlc/smlc_sigtran.c A tests/Makefile.am A tests/atlocal.in A tests/test_nodes.vty A tests/testsuite.at 46 files changed, 2,388 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/79/19779/1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba72477 --- /dev/null +++ b/.gitignore @@ -0,0 +1,74 @@ +debian/*.log +*.o +*.lo +*.a +.deps +Makefile +Makefile.in +config.h +config.h.in +*.pc + +*.*~ +*.sw? +.libs +*.pyc +*.gcda +*.gcno + +**/TAGS + +#configure +aclocal.m4 +autom4te.cache/ +config.log +config.status +config.guess +config.sub +configure +compile +depcomp +install-sh +missing +stamp-h1 +libtool +ltmain.sh +m4/*.m4 + +# git-version-gen magic +.tarball-version +.version +osmo-smlc-*.tar.bz2 +osmo-smlc-*.tar.gz + +# apps and app data +src/osmo-smlc/osmo-smlc +src/osmo-smlc/*.cfg* + +tags +/deps + +#tests +tests/testsuite.dir +tests/*/*_test + +tests/atconfig +tests/atlocal +tests/package.m4 +tests/testsuite +tests/testsuite.log + +writtenconfig/ + +# manuals +doc/manuals/*.html +doc/manuals/*.svg +doc/manuals/*.pdf +doc/manuals/*__*.png +doc/manuals/*.check +doc/manuals/generated/ +doc/manuals/osmomsc-usermanual.xml +doc/manuals/common +doc/manuals/build + +contrib/osmo-smlc.spec diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..07ec7d0 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,2 @@ +Harald Welte +Neels Hofmeyr diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..dba13ed --- /dev/null +++ b/COPYING @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..3861d29 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,36 @@ +AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 + +## FIXME: automake >= 1.13 or autoconf >= 2.70 provide better suited AC_CONFIG_MACRO_DIRS for configure.ac +## remove line below when OE toolchain is updated to version which include those +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + $(NULL) + +SUBDIRS = \ + include \ + src \ + tests \ + doc \ + contrib \ + $(NULL) + +BUILT_SOURCES = $(top_srcdir)/.version +EXTRA_DIST = \ + .version \ + contrib/osmo-smlc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) + +AM_DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) + + at RELMAKE@ + +$(top_srcdir)/.version: + echo $(VERSION) > $@-t && mv $@-t $@ +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version diff --git a/README b/README new file mode 100644 index 0000000..06fa1ea --- /dev/null +++ b/README @@ -0,0 +1,4 @@ +About OsmoSMLC +============== + +FIXME diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e9c4ffc --- /dev/null +++ b/configure.ac @@ -0,0 +1,221 @@ +dnl Process this file with autoconf to produce a configure script +AC_INIT([osmo-smlc], + m4_esyscmd([./git-version-gen .tarball-version]), + [openbsc at lists.osmocom.org]) + +dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ +AC_CONFIG_AUX_DIR([.]) + +AM_INIT_AUTOMAKE([dist-bzip2]) +AC_CONFIG_TESTDIR(tests) + +dnl kernel style compile messages +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl include release helper +RELMAKE='-include osmo-release.mk' +AC_SUBST([RELMAKE]) + +dnl checks for programs +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_INSTALL +LT_INIT + +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + +dnl check for pkg-config (explained in detail in libosmocore/configure.ac) +AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) +if test "x$PKG_CONFIG_INSTALLED" = "xno"; then + AC_MSG_WARN([You need to install pkg-config]) +fi +PKG_PROG_PKG_CONFIG([0.20]) + +dnl check for AX_CHECK_COMPILE_FLAG +m4_ifdef([AX_CHECK_COMPILE_FLAG], [], [ + AC_MSG_ERROR([Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect.]) + ]) + +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) +PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp >= 0.10.0) + +dnl checks for header files +AC_HEADER_STDC + +dnl Checks for typedefs, structures and compiler characteristics + +AC_ARG_ENABLE(sanitize, + [AS_HELP_STRING( + [--enable-sanitize], + [Compile with address sanitizer enabled], + )], + [sanitize=$enableval], [sanitize="no"]) +if test x"$sanitize" = x"yes" +then + CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" + CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" +fi + +AC_ARG_ENABLE(werror, + [AS_HELP_STRING( + [--enable-werror], + [Turn all compiler warnings into errors, with exceptions: + a) deprecation (allow upstream to mark deprecation without breaking builds); + b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) + ] + )], + [werror=$enableval], [werror="no"]) +if test x"$werror" = x"yes" +then + WERROR_FLAGS="-Werror" + WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" + WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" + CFLAGS="$CFLAGS $WERROR_FLAGS" + CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" +fi + +# The following test is taken from WebKit's webkit.m4 +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fvisibility=hidden " +AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) +AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], + [ AC_MSG_RESULT([yes]) + SYMBOL_VISIBILITY="-fvisibility=hidden"], + AC_MSG_RESULT([no])) +CFLAGS="$saved_CFLAGS" +AC_SUBST(SYMBOL_VISIBILITY) + +AX_CHECK_COMPILE_FLAG([-Werror=implicit], [CFLAGS="$CFLAGS -Werror=implicit"]) +AX_CHECK_COMPILE_FLAG([-Werror=maybe-uninitialized], [CFLAGS="$CFLAGS -Werror=maybe-uninitialized"]) +AX_CHECK_COMPILE_FLAG([-Werror=memset-transposed-args], [CFLAGS="$CFLAGS -Werror=memset-transposed-args"]) +AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [CFLAGS="$CFLAGS -Wnull-dereference"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-array-argument], [CFLAGS="$CFLAGS -Werror=sizeof-array-argument"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-pointer-memaccess], [CFLAGS="$CFLAGS -Werror=sizeof-pointer-memaccess"]) + +# Coverage build taken from WebKit's configure.in +AC_MSG_CHECKING([whether to enable code coverage support]) +AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage], + [enable code coverage support [default=no]]), + [],[enable_coverage="no"]) +AC_MSG_RESULT([$enable_coverage]) +if test "$enable_coverage" = "yes"; then + COVERAGE_CFLAGS="-ftest-coverage -fprofile-arcs" + COVERAGE_LDFLAGS="-ftest-coverage -fprofile-arcs" + AC_SUBST([COVERAGE_CFLAGS]) + AC_SUBST([COVERAGE_LDFLAGS]) +fi + +AC_ARG_ENABLE(profile, + [AS_HELP_STRING([--enable-profile], [Compile with profiling support enabled], )], + [profile=$enableval], [profile="no"]) +if test x"$profile" = x"yes" +then + CFLAGS="$CFLAGS -pg" + CPPFLAGS="$CPPFLAGS -pg" +fi + +AC_ARG_ENABLE([external_tests], + AC_HELP_STRING([--enable-external-tests], + [Include the VTY/CTRL tests in make check [default=no]]), + [enable_ext_tests="$enableval"],[enable_ext_tests="no"]) +if test "x$enable_ext_tests" = "xyes" ; then + AC_CHECK_PROG(PYTHON2_AVAIL,python2,yes) + if test "x$PYTHON2_AVAIL" != "xyes" ; then + AC_MSG_ERROR([Please install python2 to run the VTY/CTRL tests.]) + fi + AC_CHECK_PROG(OSMOTESTEXT_CHECK,osmotestvty.py,yes) + if test "x$OSMOTESTEXT_CHECK" != "xyes" ; then + AC_MSG_ERROR([Please install git://osmocom.org/python/osmo-python-tests to run the VTY/CTRL tests.]) + fi +fi +AC_MSG_CHECKING([whether to enable VTY/CTRL tests]) +AC_MSG_RESULT([$enable_ext_tests]) +AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes") + +# Generate manuals +AC_ARG_ENABLE(manuals, + [AS_HELP_STRING( + [--enable-manuals], + [Generate manual PDFs [default=no]], + )], + [osmo_ac_build_manuals=$enableval], [osmo_ac_build_manuals="no"]) +AM_CONDITIONAL([BUILD_MANUALS], [test x"$osmo_ac_build_manuals" = x"yes"]) +AC_ARG_VAR(OSMO_GSM_MANUALS_DIR, [path to common osmo-gsm-manuals files, overriding pkg-config and "../osmo-gsm-manuals" + fallback]) +if test x"$osmo_ac_build_manuals" = x"yes" +then + # Find OSMO_GSM_MANUALS_DIR (env, pkg-conf, fallback) + if test -n "$OSMO_GSM_MANUALS_DIR"; then + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from env)" + else + OSMO_GSM_MANUALS_DIR="$($PKG_CONFIG osmo-gsm-manuals --variable=osmogsmmanualsdir 2>/dev/null)" + if test -n "$OSMO_GSM_MANUALS_DIR"; then + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from pkg-conf)" + else + OSMO_GSM_MANUALS_DIR="../osmo-gsm-manuals" + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (fallback)" + fi + fi + if ! test -d "$OSMO_GSM_MANUALS_DIR"; then + AC_MSG_ERROR("OSMO_GSM_MANUALS_DIR does not exist! Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR.") + fi + + # Find and run check-depends + CHECK_DEPENDS="$OSMO_GSM_MANUALS_DIR/check-depends.sh" + if ! test -x "$CHECK_DEPENDS"; then + CHECK_DEPENDS="osmo-gsm-manuals-check-depends" + fi + if ! $CHECK_DEPENDS; then + AC_MSG_ERROR("missing dependencies for --enable-manuals") + fi + + # Put in Makefile with absolute path + OSMO_GSM_MANUALS_DIR="$(realpath "$OSMO_GSM_MANUALS_DIR")" + AC_SUBST([OSMO_GSM_MANUALS_DIR]) +fi + +# https://www.freedesktop.org/software/systemd/man/daemon.html +AC_ARG_WITH([systemdsystemunitdir], + [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, + [with_systemdsystemunitdir=auto]) +AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ + def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) + + AS_IF([test "x$def_systemdsystemunitdir" = "x"], + [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], + [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) + with_systemdsystemunitdir=no], + [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) +AS_IF([test "x$with_systemdsystemunitdir" != "xno"], + [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])]) +AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) + +AC_MSG_RESULT([CFLAGS="$CFLAGS"]) +AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) + +dnl Generate the output +AM_CONFIG_HEADER(config.h) + +AC_OUTPUT( + include/Makefile + include/osmocom/Makefile + include/osmocom/smlc/Makefile + src/Makefile + src/osmo-smlc/Makefile + tests/Makefile + tests/atlocal + doc/Makefile + doc/examples/Makefile + doc/manuals/Makefile + contrib/Makefile + contrib/systemd/Makefile + contrib/osmo-smlc.spec + Makefile) diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 0000000..3439c97 --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = systemd diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh new file mode 100755 index 0000000..b88d812 --- /dev/null +++ b/contrib/jenkins.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +# jenkins build helper script for osmo-smlc. This is how we build on jenkins.osmocom.org +# +# environment variables: +# * WITH_MANUALS: build manual PDFs if set to "1" +# * PUBLISH: upload manuals after building if set to "1" (ignored without WITH_MANUALS = "1") +# + +if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then + echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !" + exit 2 +fi + + +set -ex + +base="$PWD" +deps="$base/deps" +inst="$deps/install" +export deps inst + +osmo-clean-workspace.sh + +mkdir "$deps" || true + +osmo-build-dep.sh libosmocore "" '--disable-doxygen --enable-gnutls' + +verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +osmo-build-dep.sh libosmo-netif +osmo-build-dep.sh libosmo-sccp + +# Additional configure options and depends +CONFIG="" +if [ "$WITH_MANUALS" = "1" ]; then + osmo-build-dep.sh osmo-gsm-manuals + CONFIG="--enable-manuals" +fi + +set +x +echo +echo +echo +echo " =============================== osmo-smlc ===============================" +echo +set -x + +cd "$base" +autoreconf --install --force +./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG +$MAKE $PARALLEL_MAKE +LD_LIBRARY_PATH="$inst/lib" $MAKE check \ + || cat-testlogs.sh +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ + $MAKE distcheck \ + || cat-testlogs.sh + +if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then + make -C "$base/doc/manuals" publish +fi + +$MAKE maintainer-clean +osmo-clean-workspace.sh diff --git a/contrib/osmo-smlc.spec.in b/contrib/osmo-smlc.spec.in new file mode 100644 index 0000000..ed2499e --- /dev/null +++ b/contrib/osmo-smlc.spec.in @@ -0,0 +1,88 @@ +# +# spec file for package osmo-smlc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4113 +%define _lto_cflags %{nil} + +Name: osmo-smlc +Version: @VERSION@ +Release: 0 +Summary: OsmoSMLC: Osmocom's Location Service Center +License: AGPL-3.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmo-smlc +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 0.10.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(talloc) +%{?systemd_requires} + +%description +OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%if 0%{?suse_version} +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service +%endif + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%{_bindir}/osmo-smlc +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-smlc +%{_docdir}/%{name}/examples/osmo-smlc/osmo-smlc.cfg +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-smlc.cfg +%{_unitdir}/%{name}.service + +%changelog diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am new file mode 100644 index 0000000..32cdc71 --- /dev/null +++ b/contrib/systemd/Makefile.am @@ -0,0 +1,6 @@ +EXTRA_DIST = osmo-smlc.service + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + osmo-smlc.service +endif diff --git a/contrib/systemd/osmo-smlc.service b/contrib/systemd/osmo-smlc.service new file mode 100644 index 0000000..23a8f86 --- /dev/null +++ b/contrib/systemd/osmo-smlc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom Serving Mobile Location Center (SMLC) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-smlc -c /etc/osmocom/osmo-smlc.cfg -s +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e573404 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +osmo-smlc (0.0.1) unstable; urgency=medium + + [ Harald Welte ] + * initial skeleton + + -- Harald Welte Fri, 21 Aug 2020 16:02:11 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..5f15744 --- /dev/null +++ b/debian/control @@ -0,0 +1,54 @@ +Source: osmo-smlc +Section: net +Priority: extra +Maintainer: Osmocom team +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libsctp-dev, + libtalloc-dev, + libosmocore-dev (>= 1.3.0), + libosmo-sccp-dev (>= 1.1.0), + libosmo-sigtran-dev (>= 1.1.0), + osmo-gsm-manuals-dev (>= 0.2.0) +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-smlc.git +Vcs-Browser: https://git.osmocom.org/osmo-smlc/ +Homepage: https://osmocom.org/projects/osmo-smlc + +Package: osmo-smlc +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends}, libdbd-sqlite3 +Description: OsmoSMLC: Osmocom's Location Services Center + FIXME + . + This Osmocom implementation of the SMLC handles Lb interfaces via 3GPP + Lb in an M3UA ASP role. + +Package: osmo-smlc-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: osmo-smlc (= ${binary:Version}), ${misc:Depends} +Description: OsmoSMLC: Osmocom's Location Services Center + FIXME + . + This Osmocom implementation of the SMLC handles Lb interfaces via 3GPP + Lb in an M3UA ASP role. + . + This package contains the debug symbols for osmo-smlc in order to + generate meaningful backtraces in bug-reports. + +Package: osmo-smlc-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Description: ${misc:Package} PDF documentation + Various manuals: user manual, VTY reference manual and/or + protocol/interface manuals. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..fcdada7 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-smlc +Source: git://git.osmocom.org/osmo-smlc + +Files: * +Copyright: 2020 Harald Welte + 2020 sysmocom s.f.m.c. GmbH +License: AGPL-3.0+ + 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 . diff --git a/debian/osmo-smlc-doc.install b/debian/osmo-smlc-doc.install new file mode 100644 index 0000000..e3cbcb0 --- /dev/null +++ b/debian/osmo-smlc-doc.install @@ -0,0 +1 @@ +usr/share/doc/osmo-smlc-doc/*.pdf diff --git a/debian/osmo-smlc.install b/debian/osmo-smlc.install new file mode 100644 index 0000000..8e3223a --- /dev/null +++ b/debian/osmo-smlc.install @@ -0,0 +1,4 @@ +etc/osmocom/osmo-smlc.cfg +lib/systemd/system/osmo-smlc.service +usr/bin/osmo-smlc +usr/share/doc/osmo-msc/examples/osmo-smlc/osmo-smlc.cfg usr/share/doc/osmo-smlc/examples diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..15f6320 --- /dev/null +++ b/debian/rules @@ -0,0 +1,67 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# debmake generated override targets +# Set options for ./configure +CONFIGURE_FLAGS += --enable-iu --enable-smpp --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) +# +# Do not install libtool archive, python .pyc .pyo +#override_dh_install: +# dh_install --list-missing -X.la -X.pyc -X.pyo + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +override_dh_strip: + dh_strip --dbg-package=osmo-smlc-dbg + +# Print test results in case of a failure +override_dh_auto_test: + dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) + +# Don't create .pdf.gz files (barely saves space and they can't be opened directly by most pdf readers) +override_dh_compress: + dh_compress -X.pdf diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..2b65598 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,20 @@ +SUBDIRS = \ + examples \ + manuals \ + $(NULL) + +msc: \ + $(NULL) + +dot: \ + $(NULL) + +$(builddir)/%.png: $(srcdir)/%.msc + mscgen -T png -o $@ $< + +$(builddir)/%.png: $(srcdir)/%.dot + dot -Tpng $< > $@ + +.PHONY: poll +poll: + while true; do $(MAKE) msc dot; sleep 1; done diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..f4acac8 --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,30 @@ +OSMOCONF_FILES = \ + osmo-smlc/osmo-smlc.cfg + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done diff --git a/doc/examples/osmo-smlc/osmo-smlc.cfg b/doc/examples/osmo-smlc/osmo-smlc.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/examples/osmo-smlc/osmo-smlc.cfg diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am new file mode 100644 index 0000000..5aa75fe --- /dev/null +++ b/doc/manuals/Makefile.am @@ -0,0 +1,25 @@ +EXTRA_DIST = \ + osmosmlc-usermanual.adoc \ + osmosmlc-usermanual-docinfo.xml \ + osmosmlc-vty-reference.xml \ + chapters \ + regen_doc.sh \ + vty + +if BUILD_MANUALS + ASCIIDOC = osmosmlc-usermanual.adoc + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc + osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc $(srcdir)/chapters/*.dot + + VTY_REFERENCE = osmosmlc-vty-reference.xml + + BUILT_REFERENCE_XML = $(builddir)/vty/smlc_vty_reference.xml + $(builddir)/vty/smlc_vty_reference.xml: $(top_builddir)/src/osmo-smlc/osmo-smlc + mkdir -p $(builddir)/vty + $(top_builddir)/src/osmo-smlc/osmo-smlc --vty-ref-xml > $@ + + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.vty-reference.inc + + OSMO_REPOSITORY = osmo-smlc + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.common.inc +endif diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc new file mode 100644 index 0000000..b0132ad --- /dev/null +++ b/doc/manuals/chapters/overview.adoc @@ -0,0 +1,10 @@ +[[overview]] +== Overview + +This manual should help you getting started with OsmoSMLC. It will cover +aspects of configuring and running the OsmoSMLC. + +[[intro_overview]] +=== About OsmoSMLC + +OsmoSMLC is the Osmocom implementation of a Serving Mobile Location Center. diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc new file mode 100644 index 0000000..0a3174e --- /dev/null +++ b/doc/manuals/chapters/running.adoc @@ -0,0 +1,79 @@ +== Running OsmoSMLC + +The OsmoSMLC executable (`osmo-smlc`) offers the following command-line +arguments: + +=== SYNOPSIS + +*osmo-smlc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'IP'] [-r 'RFCTL'] + +=== OPTIONS + +*-h, --help*:: + Print a short help message about the supported options +*-V, --version*:: + Print the compile-time version number of the program +*-d, --debug 'DBGMASK','DBGLEVELS'*:: + Set the log subsystems and levels for logging to stderr. This + has mostly been superseded by VTY-based logging configuration, + see <> for further information. +*-D, --daemonize*:: + Fork the process as a daemon into background. +*-c, --config-file 'CONFIGFILE'*:: + Specify the file and path name of the configuration file to be + used. If none is specified, use `osmo-smlc.cfg` in the current + working directory. +*-e, --log-level 'LOGLEVEL'*:: + Set the global log level for logging to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <> for more information. + +=== Multiple instances + +Running multiple instances of `osmo-smlc` on the same host is possible if all +interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +For the following links, OsmoSMLC acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoSMLC contacting an STP. + +To run multiple OsmoSMLC instances on the same network, each SMLC +has to configure a distinct point-code. See <>. + + +=== Configure primary links + +==== Connect to an STP + +===== Configure SCCP/M3UA (AoIP) + +OsmoSMLC acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoSMLC's Lb SCCP link, assuming the SMLC at +point-code 1.23.6 via an SG listening for M3UA at 127.0.0.1:2905: + +---- +cs7 instance 0 + point-code 1.23.6 + asp asp-clnt-msc-0 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client +---- + +This configuration is explained in detail in <>. diff --git a/doc/manuals/osmosmlc-usermanual-docinfo.xml b/doc/manuals/osmosmlc-usermanual-docinfo.xml new file mode 100644 index 0000000..b39d11b --- /dev/null +++ b/doc/manuals/osmosmlc-usermanual-docinfo.xml @@ -0,0 +1,63 @@ + + + 1 + August 2020 + HW + + Initial OsmoSMLC manual + + + + + + + Harald + Welte + hwelte at sysmocom.de + HW + + sysmocom + sysmocom - s.f.m.c. GmbH + Managing Director + + + + Neels + Hofmeyr + nhofmeyr at sysmocom.de + NH + + sysmocom + sysmocom - s.f.m.c. GmbH + Senior Developer + + + + + + 2012-2020 + sysmocom - s.f.m.c. GmbH + + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with the Invariant Sections being just 'Foreword', + 'Acknowledgements' and 'Preface', with no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + + + The Asciidoc source code of this manual can be found at + + http://git.osmocom.org/osmo-gsm-manuals/ + + and + + http://git.osmocom.org/osmo-smlc/ + + + + diff --git a/doc/manuals/osmosmlc-usermanual.adoc b/doc/manuals/osmosmlc-usermanual.adoc new file mode 100644 index 0000000..1717659 --- /dev/null +++ b/doc/manuals/osmosmlc-usermanual.adoc @@ -0,0 +1,37 @@ +:gfdl-enabled: +:program-name: OsmoSMLC + +OsmoSMLC User Manual +==================== +Harald Welte + + +include::./common/chapters/preface.adoc[] + +include::{srcdir}/chapters/overview.adoc[] + +include::{srcdir}/chapters/running.adoc[] + +include::./common/chapters/vty.adoc[] + +include::./common/chapters/logging.adoc[] + +include::./common/chapters/cs7-config.adoc[] + +include::./common/chapters/counters-overview.adoc[] + +// include::{srcdir}/chapters/counters.adoc[] + +include::./common/chapters/control_if.adoc[] + +// include::{srcdir}/chapters/control.adoc[] + +include::{srcdir}/chapters/osmux_bsc.adoc[] + +include::./common/chapters/port_numbers.adoc[] + +include::./common/chapters/bibliography.adoc[] + +include::./common/chapters/glossary.adoc[] + +include::./common/chapters/gfdl.adoc[] diff --git a/doc/manuals/osmosmlc-vty-reference.xml b/doc/manuals/osmosmlc-vty-reference.xml new file mode 100644 index 0000000..38085b7 --- /dev/null +++ b/doc/manuals/osmosmlc-vty-reference.xml @@ -0,0 +1,38 @@ + + + + +]> + + + + + + v1 + 21st August 2020 + hw + Initial + + + + OsmoSMLC VTY Reference + + + 2020 + + + + This work is copyright by sysmocom - s.f.m.c. GmbH. All rights reserved. + + + + + + &chapter-vty; + + diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..175b17e --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_SMLC_BRANCH=$COMMIT ./regen_doc.sh osmo-smlc 4271 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/smlc_vty_reference.xml" diff --git a/doc/manuals/vty/smlc_vty_dditions.xml b/doc/manuals/vty/smlc_vty_dditions.xml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/manuals/vty/smlc_vty_dditions.xml diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 0000000..fa499e7 --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1,6 @@ +SUBDIRS = \ + osmocom \ + $(NULL) + +noinst_HEADERS = \ + $(NULL) diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am new file mode 100644 index 0000000..923cb50 --- /dev/null +++ b/include/osmocom/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = \ + smlc \ + $(NULL) diff --git a/include/osmocom/smlc/Makefile.am b/include/osmocom/smlc/Makefile.am new file mode 100644 index 0000000..599651d --- /dev/null +++ b/include/osmocom/smlc/Makefile.am @@ -0,0 +1,4 @@ +noinst_HEADERS = \ + smlc_data.h \ + smlc_sigtran.h \ + $(NULL) diff --git a/include/osmocom/smlc/smlc_data.h b/include/osmocom/smlc/smlc_data.h new file mode 100644 index 0000000..2506fdc --- /dev/null +++ b/include/osmocom/smlc/smlc_data.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include +#include +#include +#include + +#include + +#include + +struct smlc_state { + struct osmo_sccp_user *sccp_user; + struct ctrl_handle *ctrl; + + struct rate_ctr_group *ctrs; + struct osmo_stat_item_group *statg; + struct osmo_tdef *T_defs; +}; + +extern struct smlc_state *g_smlc; + + +enum { + DSMLC, + DLB, /* Lb interface */ +}; + + +int smlc_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i); + +enum smlc_ctrl_node { + CTRL_NODE_SMLC = _LAST_CTRL_NODE, + _LAST_CTRL_NODE_SMLC +}; diff --git a/include/osmocom/smlc/smlc_sigtran.h b/include/osmocom/smlc/smlc_sigtran.h new file mode 100644 index 0000000..aeaf2c5 --- /dev/null +++ b/include/osmocom/smlc/smlc_sigtran.h @@ -0,0 +1,3 @@ +#pragma once + +int smlc_sigtran_init(void); diff --git a/osmoappdesc.py b/osmoappdesc.py new file mode 100644 index 0000000..86a6ac1 --- /dev/null +++ b/osmoappdesc.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +app_configs = { + "osmo-smlc": ["doc/examples/osmo-smlc/osmo-smlc.cfg"] +} + +apps = [(4271, "src/osmo-smlc/osmo-smlc", "OsmoSMLC", "osmo-smlc") + ] + +vty_command = ["./src/osmo-smlc/osmo-smlc", "-c", + "doc/examples/osmo-smlc/osmo-smlc.cfg"] + +vty_app = apps[0] diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..26ff4d1 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,25 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRLY_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +SUBDIRS = \ + osmo-smlc \ + $(NULL) diff --git a/src/osmo-smlc/Makefile.am b/src/osmo-smlc/Makefile.am new file mode 100644 index 0000000..269c23d --- /dev/null +++ b/src/osmo-smlc/Makefile.am @@ -0,0 +1,38 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-smlc \ + $(NULL) + +osmo_smlc_SOURCES = \ + smlc_ctrl.c \ + smlc_main.c \ + smlc_sigtran.c \ + $(NULL) + +osmo_smlc_LDADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(NULL) diff --git a/src/osmo-smlc/smlc_ctrl.c b/src/osmo-smlc/smlc_ctrl.c new file mode 100644 index 0000000..c211d89 --- /dev/null +++ b/src/osmo-smlc/smlc_ctrl.c @@ -0,0 +1,17 @@ +#include + + +/*! \brief control interface lookup function for bsc/bts/msc gsm_data + * \param[in] data Private data passed to controlif_setup() + * \param[in] vline Vector of the line holding the command string + * \param[out] node_type type (CTRL_NODE_) that was determined + * \param[out] node_data private dta of node that was determined + * \param i Current index into vline, up to which it is parsed + */ +int smlc_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i) +{ + return 0; +} + + diff --git a/src/osmo-smlc/smlc_main.c b/src/osmo-smlc/smlc_main.c new file mode 100644 index 0000000..9f32441 --- /dev/null +++ b/src/osmo-smlc/smlc_main.c @@ -0,0 +1,263 @@ +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define _GNU_SOURCE +#include + +#include +#include +#include +#include +#include + + +#include "../../config.h" + +static const char *config_file = "osmo-smlc.cfg"; +static int daemonize = 0; +static void *tall_smlc_ctx; +struct smlc_state *g_smlc; + +static void print_usage() +{ + printf("Usage: osmo-smlc\n"); +} + +static void print_help() +{ + printf(" Some useful help...\n"); + printf(" -h --help This text.\n"); + printf(" -D --daemonize Fork the process into a background daemon.\n"); + printf(" -d --debug option --debug=DRLL:DMM:DRR:DRSL:DNM enable debugging.\n"); + printf(" -V --version Print the version of OsmoBSC.\n"); + printf(" -c --config-file filename The config file to use.\n"); + printf(" -e --log-level number Set a global loglevel.\n"); + printf(" --vty-ref-xml Generate the VTY reference XML output and exit.\n"); +} + +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + static int long_option = 0; + static struct option long_options[] = { + {"help", 0, 0, 'h'}, + {"debug", 1, 0, 'd'}, + {"daemonize", 0, 0, 'D'}, + {"config-file", 1, 0, 'c'}, + {"version", 0, 0, 'V' }, + {"log-level", 1, 0, 'e'}, + {"vty-ref-xml", 0, &long_option, 1}, + {0, 0, 0, 0} + }; + + c = getopt_long(argc, argv, "hd:Dc:Ve:", + long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'h': + print_usage(); + print_help(); + exit(0); + case 0: + switch (long_option) { + case 1: + vty_dump_xml_ref(stdout); + exit(0); + default: + fprintf(stderr, "error parsing cmdline options\n"); + exit(2); + } + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; + case 'D': + daemonize = 1; + break; + case 'c': + config_file = optarg; + break; + case 'V': + print_version(1); + exit(0); + break; + case 'e': + log_set_log_level(osmo_stderr_target, atoi(optarg)); + break; + default: + /* catch unknown options *as well as* missing arguments. */ + fprintf(stderr, "Error in command line options. Exiting.\n"); + exit(-1); + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments on command line\n"); + exit(2); + } +} + +static struct vty_app_info vty_info = { + .name = "OsmoSMLC", + .copyright = + "Copyright (C) 2020 Harald Welte and sysmocom - s.f.m.c. GmbH\r\n\r\n" + "License AGPLv3+: GNU AGPL version 3 or later \r\n" + "This is free software: you are free to change and redistribute it.\r\n" + "There is NO WARRANTY, to the extent permitted by law.\r\n", + .version = PACKAGE_VERSION, +}; + +static void signal_handler(int signal) +{ + fprintf(stdout, "signal %u received\n", signal); + + switch (signal) { + case SIGINT: + case SIGTERM: + exit(0); + break; + case SIGABRT: + /* in case of abort, we want to obtain a talloc report + * and then return to the caller, who will abort the process */ + case SIGUSR1: + talloc_report_full(tall_smlc_ctx, stderr); + break; + default: + break; + } +} + +static const struct log_info_cat smlc_categories[] = { +}; + +const struct log_info log_info = { + .cat = smlc_categories, + .num_cat = ARRAY_SIZE(smlc_categories), +}; + +int main(int argc, char **argv) +{ + int rc; + + tall_smlc_ctx = talloc_named_const(NULL, 1, "osmo-smlc"); + msgb_talloc_ctx_init(tall_smlc_ctx, 0); + osmo_signal_talloc_ctx_init(tall_smlc_ctx); + osmo_xua_msg_tall_ctx_init(tall_smlc_ctx); + vty_info.tall_ctx = tall_smlc_ctx; + + osmo_init_logging2(tall_smlc_ctx, &log_info); + osmo_stats_init(tall_smlc_ctx); + rate_ctr_init(tall_smlc_ctx); + + osmo_fsm_set_dealloc_ctx(OTC_SELECT); + + g_smlc = talloc_zero(tall_smlc_ctx, struct smlc_state); + OSMO_ASSERT(g_smlc); + + /* This needs to precede handle_options() */ + vty_init(&vty_info); + //smlc_vty_init(g_smlc); + ctrl_vty_init(tall_smlc_ctx); + + /* Initialize SS7 */ + OSMO_ASSERT(osmo_ss7_init() == 0); + osmo_ss7_vty_init_asp(tall_smlc_ctx); + osmo_sccp_vty_init(); + + /* parse options */ + handle_options(argc, argv); + + /* Read the config */ + rc = vty_read_config_file(config_file, NULL); + if (rc < 0) { + fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); + exit(1); + } + + /* Start telnet interface after reading config for vty_get_bind_addr() */ + rc = telnet_init_dynif(tall_smlc_ctx, g_smlc, vty_get_bind_addr(), OSMO_VTY_PORT_SMLC); + if (rc < 0) + exit(1); + + /* start control interface after reading config for + * ctrl_vty_get_bind_addr() */ + g_smlc->ctrl = ctrl_interface_setup_dynip2(g_smlc, ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_SMLC, + smlc_ctrl_node_lookup, _LAST_CTRL_NODE_SMLC); + if (!g_smlc->ctrl) { + fprintf(stderr, "Failed to init the control interface. Exiting.\n"); + exit(1); + } + + /* + rc = smlc_ctrl_cmds_install(g_smlc); + if (rc < 0) { + fprintf(stderr, "Failed to install control commands. Exiting.\n"); + exit(1); + } + */ + + if (smlc_sigtran_init() != 0) { + LOGP(DLB, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n"); + exit(1); + } + + signal(SIGINT, &signal_handler); + signal(SIGTERM, &signal_handler); + signal(SIGABRT, &signal_handler); + signal(SIGUSR1, &signal_handler); + signal(SIGUSR2, &signal_handler); + osmo_init_ignore_signals(); + + if (daemonize) { + rc = osmo_daemonize(); + if (rc < 0) { + perror("Error during daemonize"); + exit(1); + } + } + + while (1) { + osmo_select_main_ctx(0); + } + + return 0; +} diff --git a/src/osmo-smlc/smlc_sigtran.c b/src/osmo-smlc/smlc_sigtran.c new file mode 100644 index 0000000..902df0c --- /dev/null +++ b/src/osmo-smlc/smlc_sigtran.c @@ -0,0 +1,94 @@ +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 +#include + +#include +#include + + +#define DEFAULT_M3UA_REMOTE_IP "localhost" +#define DEFAULT_PC "0.23.6" + +static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu) +{ + struct osmo_scu_prim *scu_prim = (struct osmo_scu_prim *)oph; + //struct osmo_sccp_user *scu = _scu; + int rc = 0; + + switch (OSMO_PRIM_HDR(&scu_prim->oph)) { + case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): + /* Handle inbound UNITDATA */ + DEBUGP(DLB, "N-UNITDATA.ind(%s)\n", osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + //rc = handle_unitdata_from_bsc(&scu_prim->u.unitdata.calling_addr, oph->msg, scu); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): + /* Handle inbound connections */ + DEBUGP(DLB, "N-CONNECT.ind(X->%u)\n", scu_prim->u.connect.conn_id); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): + /* Handle outbound connection confirmation */ + DEBUGP(DLB, "N-CONNECT.cnf(%u, %s)\n", scu_prim->u.connect.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): + /* Handle incoming connection oriented data */ + DEBUGP(DLB, "N-DATA.ind(%u, %s)\n", scu_prim->u.data.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_INDICATION): + DEBUGP(DLB, "N-DISCONNECT.ind(%u, %s, cause=%i)\n", scu_prim->u.disconnect.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg)), + scu_prim->u.disconnect.cause); + break; + default: + LOGP(DLB, LOGL_ERROR, "Unhandled SIGTRAN operation %s on primitive %u\n", + get_value_string(osmo_prim_op_names, oph->operation), oph->primitive); + break; + } + + msgb_free(oph->msg); + return rc; +} + +int smlc_sigtran_init(void) +{ + struct osmo_sccp_instance *sccp; + int default_pc = osmo_ss7_pointcode_parse(NULL, DEFAULT_PC); + + OSMO_ASSERT(default_pc); + + sccp = osmo_sccp_simple_client_on_ss7_id(g_smlc, 0, "Lb", default_pc, OSMO_SS7_ASP_PROT_M3UA, + 0, NULL, 0, DEFAULT_M3UA_REMOTE_IP); + + + g_smlc->sccp_user = osmo_sccp_user_bind(sccp, "SMLC", sccp_sap_up, OSMO_SCCP_SSN_SMLC_BSSAP); + if (!g_smlc->sccp_user) + return -EINVAL; + + return 0; +} diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..a9f7001 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,84 @@ +SUBDIRS = \ + $(NULL) + +# The `:;' works around a Bash 3.2 bug when the output is not writeable. +$(srcdir)/package.m4: $(top_srcdir)/configure.ac + :;{ \ + echo '# Signature of the current package.' && \ + echo 'm4_define([AT_PACKAGE_NAME],' && \ + echo ' [$(PACKAGE_NAME)])' && \ + echo 'm4_define([AT_PACKAGE_TARNAME],' && \ + echo ' [$(PACKAGE_TARNAME)])' && \ + echo 'm4_define([AT_PACKAGE_VERSION],' && \ + echo ' [$(PACKAGE_VERSION)])' && \ + echo 'm4_define([AT_PACKAGE_STRING],' && \ + echo ' [$(PACKAGE_STRING)])' && \ + echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \ + echo ' [$(PACKAGE_BUGREPORT)])'; \ + echo 'm4_define([AT_PACKAGE_URL],' && \ + echo ' [$(PACKAGE_URL)])'; \ + } >'$(srcdir)/package.m4' + +EXTRA_DIST = \ + testsuite.at \ + $(srcdir)/package.m4 \ + $(TESTSUITE) \ + test_nodes.vty \ + $(NULL) + +TESTSUITE = $(srcdir)/testsuite + +DISTCLEANFILES = \ + atconfig \ + $(NULL) + +if ENABLE_EXT_TESTS +python-tests: $(BUILT_SOURCES) + $(MAKE) vty-test + $(MAKE) ctrl-test +else +python-tests: $(BUILT_SOURCES) + echo "Not running python-based tests (determined at configure-time)" +endif + +# Run a specific test with: 'make vty-test VTY_TEST=osmo-smlc.vty' +VTY_TEST ?= *.vty + +# To update the VTY script from current application behavior, +# pass -u to vty_script_runner.py by doing: +# make vty-test U=-u +vty-test: + osmo_verify_transcript_vty.py -v \ + -n OsmoSMLC -p 4271 \ + -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc/osmo-smlc.cfg" \ + $(U) $(srcdir)/$(VTY_TEST) + +# To update the CTRL script from current application behavior, +# pass -u to ctrl_script_runner.py by doing: +# make ctrl-test U=-u +ctrl-test: + -rm -f $(CTRL_TEST_DB) + osmo_verify_transcript_ctrl.py -v \ + -p 4272 \ + -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc.cfg -l $(CTRL_TEST_DB)" \ + $(U) $(srcdir)/*.ctrl + -rm -f $(CTRL_TEST_DB) + -rm $(CTRL_TEST_DB)-* + +check-local: atconfig $(TESTSUITE) + $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) + $(MAKE) $(AM_MAKEFLAGS) python-tests + +installcheck-local: atconfig $(TESTSUITE) + $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \ + $(TESTSUITEFLAGS) + +clean-local: + test ! -f '$(TESTSUITE)' || \ + $(SHELL) '$(TESTSUITE)' --clean + +AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te +AUTOTEST = $(AUTOM4TE) --language=autotest +$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4 + $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at + mv $@.tmp $@ diff --git a/tests/atlocal.in b/tests/atlocal.in new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/atlocal.in diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty new file mode 100644 index 0000000..8ad784a --- /dev/null +++ b/tests/test_nodes.vty @@ -0,0 +1,3 @@ +OsmoSMLC> enable +OsmoSMLC# +... diff --git a/tests/testsuite.at b/tests/testsuite.at new file mode 100644 index 0000000..09a77c3 --- /dev/null +++ b/tests/testsuite.at @@ -0,0 +1,2 @@ +AT_INIT +AT_BANNER([Regression tests.]) -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b Gerrit-Change-Number: 19779 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 Aug 21 18:19:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:19:17 +0000 Subject: Change in osmo-ci[master]: jenkins: add master + gerrit for osmo-smlc References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/19780 ) Change subject: jenkins: add master + gerrit for osmo-smlc ...................................................................... jenkins: add master + gerrit for osmo-smlc Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/80/19780/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 37352db..b84e70e 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -234,6 +234,7 @@ - gapk - osmo-uecups - osmo-el2tpd + - osmo-smlc - pysim: slave_axis: !!python/tuple [simtester] diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 88ba4a6..c2b671e 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -328,6 +328,7 @@ - gapk - osmo-uecups - osmo-el2tpd + - osmo-smlc - rtl-sdr: email: laforge at gnumonks.org steve at steve-m.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd Gerrit-Change-Number: 19780 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 Aug 21 18:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:19:42 +0000 Subject: Change in osmo-ci[master]: jenkins: add master + gerrit for osmo-smlc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19780 ) Change subject: jenkins: add master + gerrit for osmo-smlc ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd Gerrit-Change-Number: 19780 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18:19: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 Aug 21 18:19:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:19:45 +0000 Subject: Change in osmo-ci[master]: jenkins: add master + gerrit for osmo-smlc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19780 ) Change subject: jenkins: add master + gerrit for osmo-smlc ...................................................................... jenkins: add master + gerrit for osmo-smlc Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 37352db..b84e70e 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -234,6 +234,7 @@ - gapk - osmo-uecups - osmo-el2tpd + - osmo-smlc - pysim: slave_axis: !!python/tuple [simtester] diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 88ba4a6..c2b671e 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -328,6 +328,7 @@ - gapk - osmo-uecups - osmo-el2tpd + - osmo-smlc - rtl-sdr: email: laforge at gnumonks.org steve at steve-m.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19780 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd Gerrit-Change-Number: 19780 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:22:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:22:55 +0000 Subject: Change in osmo-smlc[master]: initial skeleton In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19779 ) Change subject: initial skeleton ...................................................................... Patch Set 1: Verified+1 Code-Review+2 somehow build verification didn't start and I cannot push an updated version of the first patch: To ssh://gerrit.osmocom.org:29418/osmo-smlc ! [remote rejected] HEAD -> refs/for/master (no new changes) Hence, I'm merging this. -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b Gerrit-Change-Number: 19779 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 18:22: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 Aug 21 18:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:22:59 +0000 Subject: Change in osmo-smlc[master]: initial skeleton In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19779 ) Change subject: initial skeleton ...................................................................... initial skeleton Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b --- A .gitignore A AUTHORS A COPYING A Makefile.am A README A configure.ac A contrib/Makefile.am A contrib/jenkins.sh A contrib/osmo-smlc.spec.in A contrib/systemd/Makefile.am A contrib/systemd/osmo-smlc.service A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-smlc-doc.install A debian/osmo-smlc.install A debian/rules A debian/source/format A doc/Makefile.am A doc/examples/Makefile.am A doc/examples/osmo-smlc/osmo-smlc.cfg A doc/manuals/Makefile.am A doc/manuals/chapters/overview.adoc A doc/manuals/chapters/running.adoc A doc/manuals/osmosmlc-usermanual-docinfo.xml A doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/osmosmlc-vty-reference.xml A doc/manuals/regen_doc.sh A doc/manuals/vty/smlc_vty_dditions.xml A git-version-gen A include/Makefile.am A include/osmocom/Makefile.am A include/osmocom/smlc/Makefile.am A include/osmocom/smlc/smlc_data.h A include/osmocom/smlc/smlc_sigtran.h A osmoappdesc.py A src/Makefile.am A src/osmo-smlc/Makefile.am A src/osmo-smlc/smlc_ctrl.c A src/osmo-smlc/smlc_main.c A src/osmo-smlc/smlc_sigtran.c A tests/Makefile.am A tests/atlocal.in A tests/test_nodes.vty A tests/testsuite.at 46 files changed, 2,388 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba72477 --- /dev/null +++ b/.gitignore @@ -0,0 +1,74 @@ +debian/*.log +*.o +*.lo +*.a +.deps +Makefile +Makefile.in +config.h +config.h.in +*.pc + +*.*~ +*.sw? +.libs +*.pyc +*.gcda +*.gcno + +**/TAGS + +#configure +aclocal.m4 +autom4te.cache/ +config.log +config.status +config.guess +config.sub +configure +compile +depcomp +install-sh +missing +stamp-h1 +libtool +ltmain.sh +m4/*.m4 + +# git-version-gen magic +.tarball-version +.version +osmo-smlc-*.tar.bz2 +osmo-smlc-*.tar.gz + +# apps and app data +src/osmo-smlc/osmo-smlc +src/osmo-smlc/*.cfg* + +tags +/deps + +#tests +tests/testsuite.dir +tests/*/*_test + +tests/atconfig +tests/atlocal +tests/package.m4 +tests/testsuite +tests/testsuite.log + +writtenconfig/ + +# manuals +doc/manuals/*.html +doc/manuals/*.svg +doc/manuals/*.pdf +doc/manuals/*__*.png +doc/manuals/*.check +doc/manuals/generated/ +doc/manuals/osmomsc-usermanual.xml +doc/manuals/common +doc/manuals/build + +contrib/osmo-smlc.spec diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..07ec7d0 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,2 @@ +Harald Welte +Neels Hofmeyr diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..dba13ed --- /dev/null +++ b/COPYING @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..3861d29 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,36 @@ +AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 + +## FIXME: automake >= 1.13 or autoconf >= 2.70 provide better suited AC_CONFIG_MACRO_DIRS for configure.ac +## remove line below when OE toolchain is updated to version which include those +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + $(NULL) + +SUBDIRS = \ + include \ + src \ + tests \ + doc \ + contrib \ + $(NULL) + +BUILT_SOURCES = $(top_srcdir)/.version +EXTRA_DIST = \ + .version \ + contrib/osmo-smlc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) + +AM_DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) + + at RELMAKE@ + +$(top_srcdir)/.version: + echo $(VERSION) > $@-t && mv $@-t $@ +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version diff --git a/README b/README new file mode 100644 index 0000000..06fa1ea --- /dev/null +++ b/README @@ -0,0 +1,4 @@ +About OsmoSMLC +============== + +FIXME diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e9c4ffc --- /dev/null +++ b/configure.ac @@ -0,0 +1,221 @@ +dnl Process this file with autoconf to produce a configure script +AC_INIT([osmo-smlc], + m4_esyscmd([./git-version-gen .tarball-version]), + [openbsc at lists.osmocom.org]) + +dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ +AC_CONFIG_AUX_DIR([.]) + +AM_INIT_AUTOMAKE([dist-bzip2]) +AC_CONFIG_TESTDIR(tests) + +dnl kernel style compile messages +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl include release helper +RELMAKE='-include osmo-release.mk' +AC_SUBST([RELMAKE]) + +dnl checks for programs +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_INSTALL +LT_INIT + +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + +dnl check for pkg-config (explained in detail in libosmocore/configure.ac) +AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) +if test "x$PKG_CONFIG_INSTALLED" = "xno"; then + AC_MSG_WARN([You need to install pkg-config]) +fi +PKG_PROG_PKG_CONFIG([0.20]) + +dnl check for AX_CHECK_COMPILE_FLAG +m4_ifdef([AX_CHECK_COMPILE_FLAG], [], [ + AC_MSG_ERROR([Please install autoconf-archive; re-run 'autoreconf -fi' for it to take effect.]) + ]) + +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) +PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp >= 0.10.0) + +dnl checks for header files +AC_HEADER_STDC + +dnl Checks for typedefs, structures and compiler characteristics + +AC_ARG_ENABLE(sanitize, + [AS_HELP_STRING( + [--enable-sanitize], + [Compile with address sanitizer enabled], + )], + [sanitize=$enableval], [sanitize="no"]) +if test x"$sanitize" = x"yes" +then + CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" + CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" +fi + +AC_ARG_ENABLE(werror, + [AS_HELP_STRING( + [--enable-werror], + [Turn all compiler warnings into errors, with exceptions: + a) deprecation (allow upstream to mark deprecation without breaking builds); + b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) + ] + )], + [werror=$enableval], [werror="no"]) +if test x"$werror" = x"yes" +then + WERROR_FLAGS="-Werror" + WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" + WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" + CFLAGS="$CFLAGS $WERROR_FLAGS" + CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" +fi + +# The following test is taken from WebKit's webkit.m4 +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fvisibility=hidden " +AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) +AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], + [ AC_MSG_RESULT([yes]) + SYMBOL_VISIBILITY="-fvisibility=hidden"], + AC_MSG_RESULT([no])) +CFLAGS="$saved_CFLAGS" +AC_SUBST(SYMBOL_VISIBILITY) + +AX_CHECK_COMPILE_FLAG([-Werror=implicit], [CFLAGS="$CFLAGS -Werror=implicit"]) +AX_CHECK_COMPILE_FLAG([-Werror=maybe-uninitialized], [CFLAGS="$CFLAGS -Werror=maybe-uninitialized"]) +AX_CHECK_COMPILE_FLAG([-Werror=memset-transposed-args], [CFLAGS="$CFLAGS -Werror=memset-transposed-args"]) +AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [CFLAGS="$CFLAGS -Wnull-dereference"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-array-argument], [CFLAGS="$CFLAGS -Werror=sizeof-array-argument"]) +AX_CHECK_COMPILE_FLAG([-Werror=sizeof-pointer-memaccess], [CFLAGS="$CFLAGS -Werror=sizeof-pointer-memaccess"]) + +# Coverage build taken from WebKit's configure.in +AC_MSG_CHECKING([whether to enable code coverage support]) +AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage], + [enable code coverage support [default=no]]), + [],[enable_coverage="no"]) +AC_MSG_RESULT([$enable_coverage]) +if test "$enable_coverage" = "yes"; then + COVERAGE_CFLAGS="-ftest-coverage -fprofile-arcs" + COVERAGE_LDFLAGS="-ftest-coverage -fprofile-arcs" + AC_SUBST([COVERAGE_CFLAGS]) + AC_SUBST([COVERAGE_LDFLAGS]) +fi + +AC_ARG_ENABLE(profile, + [AS_HELP_STRING([--enable-profile], [Compile with profiling support enabled], )], + [profile=$enableval], [profile="no"]) +if test x"$profile" = x"yes" +then + CFLAGS="$CFLAGS -pg" + CPPFLAGS="$CPPFLAGS -pg" +fi + +AC_ARG_ENABLE([external_tests], + AC_HELP_STRING([--enable-external-tests], + [Include the VTY/CTRL tests in make check [default=no]]), + [enable_ext_tests="$enableval"],[enable_ext_tests="no"]) +if test "x$enable_ext_tests" = "xyes" ; then + AC_CHECK_PROG(PYTHON2_AVAIL,python2,yes) + if test "x$PYTHON2_AVAIL" != "xyes" ; then + AC_MSG_ERROR([Please install python2 to run the VTY/CTRL tests.]) + fi + AC_CHECK_PROG(OSMOTESTEXT_CHECK,osmotestvty.py,yes) + if test "x$OSMOTESTEXT_CHECK" != "xyes" ; then + AC_MSG_ERROR([Please install git://osmocom.org/python/osmo-python-tests to run the VTY/CTRL tests.]) + fi +fi +AC_MSG_CHECKING([whether to enable VTY/CTRL tests]) +AC_MSG_RESULT([$enable_ext_tests]) +AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes") + +# Generate manuals +AC_ARG_ENABLE(manuals, + [AS_HELP_STRING( + [--enable-manuals], + [Generate manual PDFs [default=no]], + )], + [osmo_ac_build_manuals=$enableval], [osmo_ac_build_manuals="no"]) +AM_CONDITIONAL([BUILD_MANUALS], [test x"$osmo_ac_build_manuals" = x"yes"]) +AC_ARG_VAR(OSMO_GSM_MANUALS_DIR, [path to common osmo-gsm-manuals files, overriding pkg-config and "../osmo-gsm-manuals" + fallback]) +if test x"$osmo_ac_build_manuals" = x"yes" +then + # Find OSMO_GSM_MANUALS_DIR (env, pkg-conf, fallback) + if test -n "$OSMO_GSM_MANUALS_DIR"; then + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from env)" + else + OSMO_GSM_MANUALS_DIR="$($PKG_CONFIG osmo-gsm-manuals --variable=osmogsmmanualsdir 2>/dev/null)" + if test -n "$OSMO_GSM_MANUALS_DIR"; then + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from pkg-conf)" + else + OSMO_GSM_MANUALS_DIR="../osmo-gsm-manuals" + echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (fallback)" + fi + fi + if ! test -d "$OSMO_GSM_MANUALS_DIR"; then + AC_MSG_ERROR("OSMO_GSM_MANUALS_DIR does not exist! Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR.") + fi + + # Find and run check-depends + CHECK_DEPENDS="$OSMO_GSM_MANUALS_DIR/check-depends.sh" + if ! test -x "$CHECK_DEPENDS"; then + CHECK_DEPENDS="osmo-gsm-manuals-check-depends" + fi + if ! $CHECK_DEPENDS; then + AC_MSG_ERROR("missing dependencies for --enable-manuals") + fi + + # Put in Makefile with absolute path + OSMO_GSM_MANUALS_DIR="$(realpath "$OSMO_GSM_MANUALS_DIR")" + AC_SUBST([OSMO_GSM_MANUALS_DIR]) +fi + +# https://www.freedesktop.org/software/systemd/man/daemon.html +AC_ARG_WITH([systemdsystemunitdir], + [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, + [with_systemdsystemunitdir=auto]) +AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ + def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) + + AS_IF([test "x$def_systemdsystemunitdir" = "x"], + [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], + [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) + with_systemdsystemunitdir=no], + [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) +AS_IF([test "x$with_systemdsystemunitdir" != "xno"], + [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])]) +AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) + +AC_MSG_RESULT([CFLAGS="$CFLAGS"]) +AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) + +dnl Generate the output +AM_CONFIG_HEADER(config.h) + +AC_OUTPUT( + include/Makefile + include/osmocom/Makefile + include/osmocom/smlc/Makefile + src/Makefile + src/osmo-smlc/Makefile + tests/Makefile + tests/atlocal + doc/Makefile + doc/examples/Makefile + doc/manuals/Makefile + contrib/Makefile + contrib/systemd/Makefile + contrib/osmo-smlc.spec + Makefile) diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 0000000..3439c97 --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = systemd diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh new file mode 100755 index 0000000..b88d812 --- /dev/null +++ b/contrib/jenkins.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +# jenkins build helper script for osmo-smlc. This is how we build on jenkins.osmocom.org +# +# environment variables: +# * WITH_MANUALS: build manual PDFs if set to "1" +# * PUBLISH: upload manuals after building if set to "1" (ignored without WITH_MANUALS = "1") +# + +if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then + echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !" + exit 2 +fi + + +set -ex + +base="$PWD" +deps="$base/deps" +inst="$deps/install" +export deps inst + +osmo-clean-workspace.sh + +mkdir "$deps" || true + +osmo-build-dep.sh libosmocore "" '--disable-doxygen --enable-gnutls' + +verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]") + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" +export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" + +osmo-build-dep.sh libosmo-netif +osmo-build-dep.sh libosmo-sccp + +# Additional configure options and depends +CONFIG="" +if [ "$WITH_MANUALS" = "1" ]; then + osmo-build-dep.sh osmo-gsm-manuals + CONFIG="--enable-manuals" +fi + +set +x +echo +echo +echo +echo " =============================== osmo-smlc ===============================" +echo +set -x + +cd "$base" +autoreconf --install --force +./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG +$MAKE $PARALLEL_MAKE +LD_LIBRARY_PATH="$inst/lib" $MAKE check \ + || cat-testlogs.sh +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ + $MAKE distcheck \ + || cat-testlogs.sh + +if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then + make -C "$base/doc/manuals" publish +fi + +$MAKE maintainer-clean +osmo-clean-workspace.sh diff --git a/contrib/osmo-smlc.spec.in b/contrib/osmo-smlc.spec.in new file mode 100644 index 0000000..ed2499e --- /dev/null +++ b/contrib/osmo-smlc.spec.in @@ -0,0 +1,88 @@ +# +# spec file for package osmo-smlc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4113 +%define _lto_cflags %{nil} + +Name: osmo-smlc +Version: @VERSION@ +Release: 0 +Summary: OsmoSMLC: Osmocom's Location Service Center +License: AGPL-3.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmo-smlc +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 0.10.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(talloc) +%{?systemd_requires} + +%description +OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%if 0%{?suse_version} +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service +%endif + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%{_bindir}/osmo-smlc +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-smlc +%{_docdir}/%{name}/examples/osmo-smlc/osmo-smlc.cfg +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-smlc.cfg +%{_unitdir}/%{name}.service + +%changelog diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am new file mode 100644 index 0000000..32cdc71 --- /dev/null +++ b/contrib/systemd/Makefile.am @@ -0,0 +1,6 @@ +EXTRA_DIST = osmo-smlc.service + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + osmo-smlc.service +endif diff --git a/contrib/systemd/osmo-smlc.service b/contrib/systemd/osmo-smlc.service new file mode 100644 index 0000000..23a8f86 --- /dev/null +++ b/contrib/systemd/osmo-smlc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom Serving Mobile Location Center (SMLC) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-smlc -c /etc/osmocom/osmo-smlc.cfg -s +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e573404 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +osmo-smlc (0.0.1) unstable; urgency=medium + + [ Harald Welte ] + * initial skeleton + + -- Harald Welte Fri, 21 Aug 2020 16:02:11 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..5f15744 --- /dev/null +++ b/debian/control @@ -0,0 +1,54 @@ +Source: osmo-smlc +Section: net +Priority: extra +Maintainer: Osmocom team +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libsctp-dev, + libtalloc-dev, + libosmocore-dev (>= 1.3.0), + libosmo-sccp-dev (>= 1.1.0), + libosmo-sigtran-dev (>= 1.1.0), + osmo-gsm-manuals-dev (>= 0.2.0) +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-smlc.git +Vcs-Browser: https://git.osmocom.org/osmo-smlc/ +Homepage: https://osmocom.org/projects/osmo-smlc + +Package: osmo-smlc +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends}, libdbd-sqlite3 +Description: OsmoSMLC: Osmocom's Location Services Center + FIXME + . + This Osmocom implementation of the SMLC handles Lb interfaces via 3GPP + Lb in an M3UA ASP role. + +Package: osmo-smlc-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: osmo-smlc (= ${binary:Version}), ${misc:Depends} +Description: OsmoSMLC: Osmocom's Location Services Center + FIXME + . + This Osmocom implementation of the SMLC handles Lb interfaces via 3GPP + Lb in an M3UA ASP role. + . + This package contains the debug symbols for osmo-smlc in order to + generate meaningful backtraces in bug-reports. + +Package: osmo-smlc-doc +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Description: ${misc:Package} PDF documentation + Various manuals: user manual, VTY reference manual and/or + protocol/interface manuals. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..fcdada7 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-smlc +Source: git://git.osmocom.org/osmo-smlc + +Files: * +Copyright: 2020 Harald Welte + 2020 sysmocom s.f.m.c. GmbH +License: AGPL-3.0+ + 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 . diff --git a/debian/osmo-smlc-doc.install b/debian/osmo-smlc-doc.install new file mode 100644 index 0000000..e3cbcb0 --- /dev/null +++ b/debian/osmo-smlc-doc.install @@ -0,0 +1 @@ +usr/share/doc/osmo-smlc-doc/*.pdf diff --git a/debian/osmo-smlc.install b/debian/osmo-smlc.install new file mode 100644 index 0000000..8e3223a --- /dev/null +++ b/debian/osmo-smlc.install @@ -0,0 +1,4 @@ +etc/osmocom/osmo-smlc.cfg +lib/systemd/system/osmo-smlc.service +usr/bin/osmo-smlc +usr/share/doc/osmo-msc/examples/osmo-smlc/osmo-smlc.cfg usr/share/doc/osmo-smlc/examples diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..15f6320 --- /dev/null +++ b/debian/rules @@ -0,0 +1,67 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# debmake generated override targets +# Set options for ./configure +CONFIGURE_FLAGS += --enable-iu --enable-smpp --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) +# +# Do not install libtool archive, python .pyc .pyo +#override_dh_install: +# dh_install --list-missing -X.la -X.pyc -X.pyo + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +override_dh_strip: + dh_strip --dbg-package=osmo-smlc-dbg + +# Print test results in case of a failure +override_dh_auto_test: + dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) + +# Don't create .pdf.gz files (barely saves space and they can't be opened directly by most pdf readers) +override_dh_compress: + dh_compress -X.pdf diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..2b65598 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,20 @@ +SUBDIRS = \ + examples \ + manuals \ + $(NULL) + +msc: \ + $(NULL) + +dot: \ + $(NULL) + +$(builddir)/%.png: $(srcdir)/%.msc + mscgen -T png -o $@ $< + +$(builddir)/%.png: $(srcdir)/%.dot + dot -Tpng $< > $@ + +.PHONY: poll +poll: + while true; do $(MAKE) msc dot; sleep 1; done diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..f4acac8 --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,30 @@ +OSMOCONF_FILES = \ + osmo-smlc/osmo-smlc.cfg + +osmoconfdir = $(sysconfdir)/osmocom +osmoconf_DATA = $(OSMOCONF_FILES) + +EXTRA_DIST = $(OSMOCONF_FILES) + +CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' + +dist-hook: + for f in $$($(CFG_FILES)); do \ + j="$(distdir)/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +install-data-hook: + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + mkdir -p "$$(dirname $$j)" && \ + $(INSTALL_DATA) $(srcdir)/$$f $$j; \ + done + +uninstall-hook: + @$(PRE_UNINSTALL) + for f in $$($(CFG_FILES)); do \ + j="$(DESTDIR)$(docdir)/examples/$$f" && \ + $(RM) $$j; \ + done diff --git a/doc/examples/osmo-smlc/osmo-smlc.cfg b/doc/examples/osmo-smlc/osmo-smlc.cfg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/examples/osmo-smlc/osmo-smlc.cfg diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am new file mode 100644 index 0000000..5aa75fe --- /dev/null +++ b/doc/manuals/Makefile.am @@ -0,0 +1,25 @@ +EXTRA_DIST = \ + osmosmlc-usermanual.adoc \ + osmosmlc-usermanual-docinfo.xml \ + osmosmlc-vty-reference.xml \ + chapters \ + regen_doc.sh \ + vty + +if BUILD_MANUALS + ASCIIDOC = osmosmlc-usermanual.adoc + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc + osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc $(srcdir)/chapters/*.dot + + VTY_REFERENCE = osmosmlc-vty-reference.xml + + BUILT_REFERENCE_XML = $(builddir)/vty/smlc_vty_reference.xml + $(builddir)/vty/smlc_vty_reference.xml: $(top_builddir)/src/osmo-smlc/osmo-smlc + mkdir -p $(builddir)/vty + $(top_builddir)/src/osmo-smlc/osmo-smlc --vty-ref-xml > $@ + + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.vty-reference.inc + + OSMO_REPOSITORY = osmo-smlc + include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.common.inc +endif diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc new file mode 100644 index 0000000..b0132ad --- /dev/null +++ b/doc/manuals/chapters/overview.adoc @@ -0,0 +1,10 @@ +[[overview]] +== Overview + +This manual should help you getting started with OsmoSMLC. It will cover +aspects of configuring and running the OsmoSMLC. + +[[intro_overview]] +=== About OsmoSMLC + +OsmoSMLC is the Osmocom implementation of a Serving Mobile Location Center. diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc new file mode 100644 index 0000000..0a3174e --- /dev/null +++ b/doc/manuals/chapters/running.adoc @@ -0,0 +1,79 @@ +== Running OsmoSMLC + +The OsmoSMLC executable (`osmo-smlc`) offers the following command-line +arguments: + +=== SYNOPSIS + +*osmo-smlc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'IP'] [-r 'RFCTL'] + +=== OPTIONS + +*-h, --help*:: + Print a short help message about the supported options +*-V, --version*:: + Print the compile-time version number of the program +*-d, --debug 'DBGMASK','DBGLEVELS'*:: + Set the log subsystems and levels for logging to stderr. This + has mostly been superseded by VTY-based logging configuration, + see <> for further information. +*-D, --daemonize*:: + Fork the process as a daemon into background. +*-c, --config-file 'CONFIGFILE'*:: + Specify the file and path name of the configuration file to be + used. If none is specified, use `osmo-smlc.cfg` in the current + working directory. +*-e, --log-level 'LOGLEVEL'*:: + Set the global log level for logging to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <> for more information. + +=== Multiple instances + +Running multiple instances of `osmo-smlc` on the same host is possible if all +interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +For the following links, OsmoSMLC acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoSMLC contacting an STP. + +To run multiple OsmoSMLC instances on the same network, each SMLC +has to configure a distinct point-code. See <>. + + +=== Configure primary links + +==== Connect to an STP + +===== Configure SCCP/M3UA (AoIP) + +OsmoSMLC acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoSMLC's Lb SCCP link, assuming the SMLC at +point-code 1.23.6 via an SG listening for M3UA at 127.0.0.1:2905: + +---- +cs7 instance 0 + point-code 1.23.6 + asp asp-clnt-msc-0 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client +---- + +This configuration is explained in detail in <>. diff --git a/doc/manuals/osmosmlc-usermanual-docinfo.xml b/doc/manuals/osmosmlc-usermanual-docinfo.xml new file mode 100644 index 0000000..b39d11b --- /dev/null +++ b/doc/manuals/osmosmlc-usermanual-docinfo.xml @@ -0,0 +1,63 @@ + + + 1 + August 2020 + HW + + Initial OsmoSMLC manual + + + + + + + Harald + Welte + hwelte at sysmocom.de + HW + + sysmocom + sysmocom - s.f.m.c. GmbH + Managing Director + + + + Neels + Hofmeyr + nhofmeyr at sysmocom.de + NH + + sysmocom + sysmocom - s.f.m.c. GmbH + Senior Developer + + + + + + 2012-2020 + sysmocom - s.f.m.c. GmbH + + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with the Invariant Sections being just 'Foreword', + 'Acknowledgements' and 'Preface', with no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + + + The Asciidoc source code of this manual can be found at + + http://git.osmocom.org/osmo-gsm-manuals/ + + and + + http://git.osmocom.org/osmo-smlc/ + + + + diff --git a/doc/manuals/osmosmlc-usermanual.adoc b/doc/manuals/osmosmlc-usermanual.adoc new file mode 100644 index 0000000..1717659 --- /dev/null +++ b/doc/manuals/osmosmlc-usermanual.adoc @@ -0,0 +1,37 @@ +:gfdl-enabled: +:program-name: OsmoSMLC + +OsmoSMLC User Manual +==================== +Harald Welte + + +include::./common/chapters/preface.adoc[] + +include::{srcdir}/chapters/overview.adoc[] + +include::{srcdir}/chapters/running.adoc[] + +include::./common/chapters/vty.adoc[] + +include::./common/chapters/logging.adoc[] + +include::./common/chapters/cs7-config.adoc[] + +include::./common/chapters/counters-overview.adoc[] + +// include::{srcdir}/chapters/counters.adoc[] + +include::./common/chapters/control_if.adoc[] + +// include::{srcdir}/chapters/control.adoc[] + +include::{srcdir}/chapters/osmux_bsc.adoc[] + +include::./common/chapters/port_numbers.adoc[] + +include::./common/chapters/bibliography.adoc[] + +include::./common/chapters/glossary.adoc[] + +include::./common/chapters/gfdl.adoc[] diff --git a/doc/manuals/osmosmlc-vty-reference.xml b/doc/manuals/osmosmlc-vty-reference.xml new file mode 100644 index 0000000..38085b7 --- /dev/null +++ b/doc/manuals/osmosmlc-vty-reference.xml @@ -0,0 +1,38 @@ + + + + +]> + + + + + + v1 + 21st August 2020 + hw + Initial + + + + OsmoSMLC VTY Reference + + + 2020 + + + + This work is copyright by sysmocom - s.f.m.c. GmbH. All rights reserved. + + + + + + &chapter-vty; + + diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..175b17e --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_SMLC_BRANCH=$COMMIT ./regen_doc.sh osmo-smlc 4271 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/smlc_vty_reference.xml" diff --git a/doc/manuals/vty/smlc_vty_dditions.xml b/doc/manuals/vty/smlc_vty_dditions.xml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/doc/manuals/vty/smlc_vty_dditions.xml diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 0000000..fa499e7 --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1,6 @@ +SUBDIRS = \ + osmocom \ + $(NULL) + +noinst_HEADERS = \ + $(NULL) diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am new file mode 100644 index 0000000..923cb50 --- /dev/null +++ b/include/osmocom/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = \ + smlc \ + $(NULL) diff --git a/include/osmocom/smlc/Makefile.am b/include/osmocom/smlc/Makefile.am new file mode 100644 index 0000000..599651d --- /dev/null +++ b/include/osmocom/smlc/Makefile.am @@ -0,0 +1,4 @@ +noinst_HEADERS = \ + smlc_data.h \ + smlc_sigtran.h \ + $(NULL) diff --git a/include/osmocom/smlc/smlc_data.h b/include/osmocom/smlc/smlc_data.h new file mode 100644 index 0000000..2506fdc --- /dev/null +++ b/include/osmocom/smlc/smlc_data.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include +#include +#include +#include + +#include + +#include + +struct smlc_state { + struct osmo_sccp_user *sccp_user; + struct ctrl_handle *ctrl; + + struct rate_ctr_group *ctrs; + struct osmo_stat_item_group *statg; + struct osmo_tdef *T_defs; +}; + +extern struct smlc_state *g_smlc; + + +enum { + DSMLC, + DLB, /* Lb interface */ +}; + + +int smlc_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i); + +enum smlc_ctrl_node { + CTRL_NODE_SMLC = _LAST_CTRL_NODE, + _LAST_CTRL_NODE_SMLC +}; diff --git a/include/osmocom/smlc/smlc_sigtran.h b/include/osmocom/smlc/smlc_sigtran.h new file mode 100644 index 0000000..aeaf2c5 --- /dev/null +++ b/include/osmocom/smlc/smlc_sigtran.h @@ -0,0 +1,3 @@ +#pragma once + +int smlc_sigtran_init(void); diff --git a/osmoappdesc.py b/osmoappdesc.py new file mode 100644 index 0000000..86a6ac1 --- /dev/null +++ b/osmoappdesc.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +app_configs = { + "osmo-smlc": ["doc/examples/osmo-smlc/osmo-smlc.cfg"] +} + +apps = [(4271, "src/osmo-smlc/osmo-smlc", "OsmoSMLC", "osmo-smlc") + ] + +vty_command = ["./src/osmo-smlc/osmo-smlc", "-c", + "doc/examples/osmo-smlc/osmo-smlc.cfg"] + +vty_app = apps[0] diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..26ff4d1 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,25 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRLY_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +SUBDIRS = \ + osmo-smlc \ + $(NULL) diff --git a/src/osmo-smlc/Makefile.am b/src/osmo-smlc/Makefile.am new file mode 100644 index 0000000..269c23d --- /dev/null +++ b/src/osmo-smlc/Makefile.am @@ -0,0 +1,38 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-smlc \ + $(NULL) + +osmo_smlc_SOURCES = \ + smlc_ctrl.c \ + smlc_main.c \ + smlc_sigtran.c \ + $(NULL) + +osmo_smlc_LDADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(NULL) diff --git a/src/osmo-smlc/smlc_ctrl.c b/src/osmo-smlc/smlc_ctrl.c new file mode 100644 index 0000000..c211d89 --- /dev/null +++ b/src/osmo-smlc/smlc_ctrl.c @@ -0,0 +1,17 @@ +#include + + +/*! \brief control interface lookup function for bsc/bts/msc gsm_data + * \param[in] data Private data passed to controlif_setup() + * \param[in] vline Vector of the line holding the command string + * \param[out] node_type type (CTRL_NODE_) that was determined + * \param[out] node_data private dta of node that was determined + * \param i Current index into vline, up to which it is parsed + */ +int smlc_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i) +{ + return 0; +} + + diff --git a/src/osmo-smlc/smlc_main.c b/src/osmo-smlc/smlc_main.c new file mode 100644 index 0000000..9f32441 --- /dev/null +++ b/src/osmo-smlc/smlc_main.c @@ -0,0 +1,263 @@ +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define _GNU_SOURCE +#include + +#include +#include +#include +#include +#include + + +#include "../../config.h" + +static const char *config_file = "osmo-smlc.cfg"; +static int daemonize = 0; +static void *tall_smlc_ctx; +struct smlc_state *g_smlc; + +static void print_usage() +{ + printf("Usage: osmo-smlc\n"); +} + +static void print_help() +{ + printf(" Some useful help...\n"); + printf(" -h --help This text.\n"); + printf(" -D --daemonize Fork the process into a background daemon.\n"); + printf(" -d --debug option --debug=DRLL:DMM:DRR:DRSL:DNM enable debugging.\n"); + printf(" -V --version Print the version of OsmoBSC.\n"); + printf(" -c --config-file filename The config file to use.\n"); + printf(" -e --log-level number Set a global loglevel.\n"); + printf(" --vty-ref-xml Generate the VTY reference XML output and exit.\n"); +} + +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + static int long_option = 0; + static struct option long_options[] = { + {"help", 0, 0, 'h'}, + {"debug", 1, 0, 'd'}, + {"daemonize", 0, 0, 'D'}, + {"config-file", 1, 0, 'c'}, + {"version", 0, 0, 'V' }, + {"log-level", 1, 0, 'e'}, + {"vty-ref-xml", 0, &long_option, 1}, + {0, 0, 0, 0} + }; + + c = getopt_long(argc, argv, "hd:Dc:Ve:", + long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'h': + print_usage(); + print_help(); + exit(0); + case 0: + switch (long_option) { + case 1: + vty_dump_xml_ref(stdout); + exit(0); + default: + fprintf(stderr, "error parsing cmdline options\n"); + exit(2); + } + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; + case 'D': + daemonize = 1; + break; + case 'c': + config_file = optarg; + break; + case 'V': + print_version(1); + exit(0); + break; + case 'e': + log_set_log_level(osmo_stderr_target, atoi(optarg)); + break; + default: + /* catch unknown options *as well as* missing arguments. */ + fprintf(stderr, "Error in command line options. Exiting.\n"); + exit(-1); + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments on command line\n"); + exit(2); + } +} + +static struct vty_app_info vty_info = { + .name = "OsmoSMLC", + .copyright = + "Copyright (C) 2020 Harald Welte and sysmocom - s.f.m.c. GmbH\r\n\r\n" + "License AGPLv3+: GNU AGPL version 3 or later \r\n" + "This is free software: you are free to change and redistribute it.\r\n" + "There is NO WARRANTY, to the extent permitted by law.\r\n", + .version = PACKAGE_VERSION, +}; + +static void signal_handler(int signal) +{ + fprintf(stdout, "signal %u received\n", signal); + + switch (signal) { + case SIGINT: + case SIGTERM: + exit(0); + break; + case SIGABRT: + /* in case of abort, we want to obtain a talloc report + * and then return to the caller, who will abort the process */ + case SIGUSR1: + talloc_report_full(tall_smlc_ctx, stderr); + break; + default: + break; + } +} + +static const struct log_info_cat smlc_categories[] = { +}; + +const struct log_info log_info = { + .cat = smlc_categories, + .num_cat = ARRAY_SIZE(smlc_categories), +}; + +int main(int argc, char **argv) +{ + int rc; + + tall_smlc_ctx = talloc_named_const(NULL, 1, "osmo-smlc"); + msgb_talloc_ctx_init(tall_smlc_ctx, 0); + osmo_signal_talloc_ctx_init(tall_smlc_ctx); + osmo_xua_msg_tall_ctx_init(tall_smlc_ctx); + vty_info.tall_ctx = tall_smlc_ctx; + + osmo_init_logging2(tall_smlc_ctx, &log_info); + osmo_stats_init(tall_smlc_ctx); + rate_ctr_init(tall_smlc_ctx); + + osmo_fsm_set_dealloc_ctx(OTC_SELECT); + + g_smlc = talloc_zero(tall_smlc_ctx, struct smlc_state); + OSMO_ASSERT(g_smlc); + + /* This needs to precede handle_options() */ + vty_init(&vty_info); + //smlc_vty_init(g_smlc); + ctrl_vty_init(tall_smlc_ctx); + + /* Initialize SS7 */ + OSMO_ASSERT(osmo_ss7_init() == 0); + osmo_ss7_vty_init_asp(tall_smlc_ctx); + osmo_sccp_vty_init(); + + /* parse options */ + handle_options(argc, argv); + + /* Read the config */ + rc = vty_read_config_file(config_file, NULL); + if (rc < 0) { + fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file); + exit(1); + } + + /* Start telnet interface after reading config for vty_get_bind_addr() */ + rc = telnet_init_dynif(tall_smlc_ctx, g_smlc, vty_get_bind_addr(), OSMO_VTY_PORT_SMLC); + if (rc < 0) + exit(1); + + /* start control interface after reading config for + * ctrl_vty_get_bind_addr() */ + g_smlc->ctrl = ctrl_interface_setup_dynip2(g_smlc, ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_SMLC, + smlc_ctrl_node_lookup, _LAST_CTRL_NODE_SMLC); + if (!g_smlc->ctrl) { + fprintf(stderr, "Failed to init the control interface. Exiting.\n"); + exit(1); + } + + /* + rc = smlc_ctrl_cmds_install(g_smlc); + if (rc < 0) { + fprintf(stderr, "Failed to install control commands. Exiting.\n"); + exit(1); + } + */ + + if (smlc_sigtran_init() != 0) { + LOGP(DLB, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n"); + exit(1); + } + + signal(SIGINT, &signal_handler); + signal(SIGTERM, &signal_handler); + signal(SIGABRT, &signal_handler); + signal(SIGUSR1, &signal_handler); + signal(SIGUSR2, &signal_handler); + osmo_init_ignore_signals(); + + if (daemonize) { + rc = osmo_daemonize(); + if (rc < 0) { + perror("Error during daemonize"); + exit(1); + } + } + + while (1) { + osmo_select_main_ctx(0); + } + + return 0; +} diff --git a/src/osmo-smlc/smlc_sigtran.c b/src/osmo-smlc/smlc_sigtran.c new file mode 100644 index 0000000..902df0c --- /dev/null +++ b/src/osmo-smlc/smlc_sigtran.c @@ -0,0 +1,94 @@ +/* (C) 2020 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 +#include + +#include +#include + + +#define DEFAULT_M3UA_REMOTE_IP "localhost" +#define DEFAULT_PC "0.23.6" + +static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu) +{ + struct osmo_scu_prim *scu_prim = (struct osmo_scu_prim *)oph; + //struct osmo_sccp_user *scu = _scu; + int rc = 0; + + switch (OSMO_PRIM_HDR(&scu_prim->oph)) { + case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): + /* Handle inbound UNITDATA */ + DEBUGP(DLB, "N-UNITDATA.ind(%s)\n", osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + //rc = handle_unitdata_from_bsc(&scu_prim->u.unitdata.calling_addr, oph->msg, scu); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): + /* Handle inbound connections */ + DEBUGP(DLB, "N-CONNECT.ind(X->%u)\n", scu_prim->u.connect.conn_id); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): + /* Handle outbound connection confirmation */ + DEBUGP(DLB, "N-CONNECT.cnf(%u, %s)\n", scu_prim->u.connect.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): + /* Handle incoming connection oriented data */ + DEBUGP(DLB, "N-DATA.ind(%u, %s)\n", scu_prim->u.data.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); + + break; + case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_INDICATION): + DEBUGP(DLB, "N-DISCONNECT.ind(%u, %s, cause=%i)\n", scu_prim->u.disconnect.conn_id, + osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg)), + scu_prim->u.disconnect.cause); + break; + default: + LOGP(DLB, LOGL_ERROR, "Unhandled SIGTRAN operation %s on primitive %u\n", + get_value_string(osmo_prim_op_names, oph->operation), oph->primitive); + break; + } + + msgb_free(oph->msg); + return rc; +} + +int smlc_sigtran_init(void) +{ + struct osmo_sccp_instance *sccp; + int default_pc = osmo_ss7_pointcode_parse(NULL, DEFAULT_PC); + + OSMO_ASSERT(default_pc); + + sccp = osmo_sccp_simple_client_on_ss7_id(g_smlc, 0, "Lb", default_pc, OSMO_SS7_ASP_PROT_M3UA, + 0, NULL, 0, DEFAULT_M3UA_REMOTE_IP); + + + g_smlc->sccp_user = osmo_sccp_user_bind(sccp, "SMLC", sccp_sap_up, OSMO_SCCP_SSN_SMLC_BSSAP); + if (!g_smlc->sccp_user) + return -EINVAL; + + return 0; +} diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..a9f7001 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,84 @@ +SUBDIRS = \ + $(NULL) + +# The `:;' works around a Bash 3.2 bug when the output is not writeable. +$(srcdir)/package.m4: $(top_srcdir)/configure.ac + :;{ \ + echo '# Signature of the current package.' && \ + echo 'm4_define([AT_PACKAGE_NAME],' && \ + echo ' [$(PACKAGE_NAME)])' && \ + echo 'm4_define([AT_PACKAGE_TARNAME],' && \ + echo ' [$(PACKAGE_TARNAME)])' && \ + echo 'm4_define([AT_PACKAGE_VERSION],' && \ + echo ' [$(PACKAGE_VERSION)])' && \ + echo 'm4_define([AT_PACKAGE_STRING],' && \ + echo ' [$(PACKAGE_STRING)])' && \ + echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \ + echo ' [$(PACKAGE_BUGREPORT)])'; \ + echo 'm4_define([AT_PACKAGE_URL],' && \ + echo ' [$(PACKAGE_URL)])'; \ + } >'$(srcdir)/package.m4' + +EXTRA_DIST = \ + testsuite.at \ + $(srcdir)/package.m4 \ + $(TESTSUITE) \ + test_nodes.vty \ + $(NULL) + +TESTSUITE = $(srcdir)/testsuite + +DISTCLEANFILES = \ + atconfig \ + $(NULL) + +if ENABLE_EXT_TESTS +python-tests: $(BUILT_SOURCES) + $(MAKE) vty-test + $(MAKE) ctrl-test +else +python-tests: $(BUILT_SOURCES) + echo "Not running python-based tests (determined at configure-time)" +endif + +# Run a specific test with: 'make vty-test VTY_TEST=osmo-smlc.vty' +VTY_TEST ?= *.vty + +# To update the VTY script from current application behavior, +# pass -u to vty_script_runner.py by doing: +# make vty-test U=-u +vty-test: + osmo_verify_transcript_vty.py -v \ + -n OsmoSMLC -p 4271 \ + -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc/osmo-smlc.cfg" \ + $(U) $(srcdir)/$(VTY_TEST) + +# To update the CTRL script from current application behavior, +# pass -u to ctrl_script_runner.py by doing: +# make ctrl-test U=-u +ctrl-test: + -rm -f $(CTRL_TEST_DB) + osmo_verify_transcript_ctrl.py -v \ + -p 4272 \ + -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc.cfg -l $(CTRL_TEST_DB)" \ + $(U) $(srcdir)/*.ctrl + -rm -f $(CTRL_TEST_DB) + -rm $(CTRL_TEST_DB)-* + +check-local: atconfig $(TESTSUITE) + $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) + $(MAKE) $(AM_MAKEFLAGS) python-tests + +installcheck-local: atconfig $(TESTSUITE) + $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \ + $(TESTSUITEFLAGS) + +clean-local: + test ! -f '$(TESTSUITE)' || \ + $(SHELL) '$(TESTSUITE)' --clean + +AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te +AUTOTEST = $(AUTOM4TE) --language=autotest +$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4 + $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at + mv $@.tmp $@ diff --git a/tests/atlocal.in b/tests/atlocal.in new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/atlocal.in diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty new file mode 100644 index 0000000..8ad784a --- /dev/null +++ b/tests/test_nodes.vty @@ -0,0 +1,3 @@ +OsmoSMLC> enable +OsmoSMLC# +... diff --git a/tests/testsuite.at b/tests/testsuite.at new file mode 100644 index 0000000..09a77c3 --- /dev/null +++ b/tests/testsuite.at @@ -0,0 +1,2 @@ +AT_INIT +AT_BANNER([Regression tests.]) -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19779 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b Gerrit-Change-Number: 19779 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 18:32:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 18:32:38 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: remove libosmo-netif; it's not used here References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19781 ) Change subject: contrib/jenkins.sh: remove libosmo-netif; it's not used here ...................................................................... contrib/jenkins.sh: remove libosmo-netif; it's not used here Change-Id: I8fcc171bb86525ab25d39ee47adddcd15d401826 --- M contrib/jenkins.sh 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/81/19781/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index b88d812..c258396 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,7 +31,6 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" -osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp # Additional configure options and depends -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I8fcc171bb86525ab25d39ee47adddcd15d401826 Gerrit-Change-Number: 19781 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 Aug 21 19:34:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:34:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 ) Change subject: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned ...................................................................... library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned Change-Id: I92ba84c5d1f77c86f7871c488965f6345c2dbbe2 Related: SYS#4868, OS#4547 --- M library/PCUIF_Types.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/19782/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index aab5f09..8144d97 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -153,6 +153,7 @@ private type record PCUIF_InfoV10Trx { uint16_t arfcn, BIT8 pdch_mask, + OCT1 spare, uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; @@ -743,6 +744,7 @@ template (value) uint3_t tsc := 7) := { arfcn := arfcn, pdch_mask := pdch_mask, + spare := '00'O, hLayer1 := 0, ts := { ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92ba84c5d1f77c86f7871c488965f6345c2dbbe2 Gerrit-Change-Number: 19782 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 Aug 21 19:37:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:37:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 ) Change subject: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92ba84c5d1f77c86f7871c488965f6345c2dbbe2 Gerrit-Change-Number: 19782 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 21 Aug 2020 19:37: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 Aug 21 19:56:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:56:19 +0000 Subject: Change in osmo-pcu[master]: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible 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/+/19776 to look at the new patch set (#2). Change subject: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible ...................................................................... tbf: cosmetic: use GSM_MACBLOCK_LEN where possible Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a --- M src/tbf.cpp 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/19776/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a Gerrit-Change-Number: 19776 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 Aug 21 19:56:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:56:19 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() 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/+/19775 to look at the new patch set (#2). Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... tbf: allocate the bitvec on stack in create_{dl,ul}_ass() Initialize the bit vector to use already allocated memory, so we would not need to allocate additional 23 bytes and copy them from the bit vector to a msgb. Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca --- M src/tbf.cpp 1 file changed, 19 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/75/19775/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 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 Aug 21 19:56:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:56:21 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19783 ) Change subject: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance ...................................................................... gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.err 3 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/19783/1 diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index c4ac4b1..06c721e 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -1699,8 +1699,8 @@ static const CSN_DESCR_BEGIN(PU_AckNack_GPRS_AdditionsR99_t) - M_NEXT_EXIST (PU_AckNack_GPRS_AdditionsR99_t, Exist_PacketExtendedTimingAdvance, 1), - M_UINT (PU_AckNack_GPRS_AdditionsR99_t, PacketExtendedTimingAdvance, 2), + M_NEXT_EXIST (PU_AckNack_GPRS_AdditionsR99_t, Exist_Packet_Extended_Timing_Advance, 1), + M_UINT (PU_AckNack_GPRS_AdditionsR99_t, Packet_Extended_Timing_Advance, 2), M_UINT (PU_AckNack_GPRS_AdditionsR99_t, TBF_EST, 1), CSN_DESCR_END (PU_AckNack_GPRS_AdditionsR99_t) @@ -2092,7 +2092,7 @@ M_NEXT_EXIST (PUA_EGPRS_00_t, Exist_BEP_PERIOD2, 1), M_UINT (PUA_EGPRS_00_t, BEP_PERIOD2, 4), - M_TYPE (PUA_EGPRS_00_t, PacketTimingAdvance, Packet_Timing_Advance_t), + M_TYPE (PUA_EGPRS_00_t, Packet_Timing_Advance, Packet_Timing_Advance_t), M_NEXT_EXIST (PUA_EGPRS_00_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (PUA_EGPRS_00_t, Packet_Extended_Timing_Advance, 2), @@ -4549,9 +4549,9 @@ static const CSN_DESCR_BEGIN(PHO_TimingAdvance_t) - M_TYPE (PHO_TimingAdvance_t, GlobalPacketTimingAdvance, Global_Packet_Timing_Advance_t), - M_NEXT_EXIST (PHO_TimingAdvance_t, Exist_PacketExtendedTimingAdvance, 1), - M_UINT (PHO_TimingAdvance_t, PacketExtendedTimingAdvance, 2), + M_TYPE (PHO_TimingAdvance_t, GlobalPacket_Timing_Advance, Global_Packet_Timing_Advance_t), + M_NEXT_EXIST (PHO_TimingAdvance_t, Exist_Packet_Extended_Timing_Advance, 1), + M_UINT (PHO_TimingAdvance_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END (PHO_TimingAdvance_t) static const diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 642530f..01e2ee6 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1893,8 +1893,8 @@ typedef struct { - gboolean Exist_PacketExtendedTimingAdvance; - guint8 PacketExtendedTimingAdvance; + gboolean Exist_Packet_Extended_Timing_Advance; + guint8 Packet_Extended_Timing_Advance; guint8 TBF_EST; } PU_AckNack_GPRS_AdditionsR99_t; @@ -2201,7 +2201,7 @@ gboolean Exist_BEP_PERIOD2; guint8 BEP_PERIOD2; - Packet_Timing_Advance_t PacketTimingAdvance; + Packet_Timing_Advance_t Packet_Timing_Advance; gboolean Exist_Packet_Extended_Timing_Advance; guint8 Packet_Extended_Timing_Advance; @@ -4854,9 +4854,9 @@ typedef struct { - Global_Packet_Timing_Advance_t GlobalPacketTimingAdvance; - guint8 Exist_PacketExtendedTimingAdvance; - guint8 PacketExtendedTimingAdvance; + Global_Packet_Timing_Advance_t GlobalPacket_Timing_Advance; + guint8 Exist_Packet_Extended_Timing_Advance; + guint8 Packet_Extended_Timing_Advance; } PHO_TimingAdvance_t; typedef struct diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 3a2b370..661f37b 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -8,8 +8,8 @@ DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | Desc length = 15 | offset = 0 | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | : End Desc | : End EGPRS_AckNack | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | Desc length = 15 | : End Desc | : End EGPRS_AckNack | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt Polling Req (4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd Gerrit-Change-Number: 19783 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 Aug 21 19:56:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:56:21 +0000 Subject: Change in osmo-pcu[master]: encoding: fix RRBP field in write_packet_uplink_assignment() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19784 ) Change subject: encoding: fix RRBP field in write_packet_uplink_assignment() ...................................................................... encoding: fix RRBP field in write_packet_uplink_assignment() Do not hard-code 0x00, write what was passed as a parameter. Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 --- M src/encoding.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/84/19784/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index bbc80bc..0db74c1 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -547,7 +547,7 @@ uint8_t ta_ts = 0; /* FIXME: supply it as parameter from caller */ bitvec_write_field(dest, &wp,0x1,2); // Payload Type - bitvec_write_field(dest, &wp,0x0,2); // Uplink block with TDMA framenumber (N+13) + bitvec_write_field(dest, &wp,rrbp,2); // Uplink block with TDMA framenumber (N+13) bitvec_write_field(dest, &wp,poll,1); // Suppl/Polling Bit bitvec_write_field(dest, &wp,0x0,3); // Uplink state flag bitvec_write_field(dest, &wp,0xa,6); // MESSAGE TYPE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 Gerrit-Change-Number: 19784 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 Aug 21 19:56:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 19:56:22 +0000 Subject: Change in osmo-pcu[master]: encoding: use bool for use_egprs in write_packet_uplink_assignment() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19785 ) Change subject: encoding: use bool for use_egprs in write_packet_uplink_assignment() ...................................................................... encoding: use bool for use_egprs in write_packet_uplink_assignment() Change-Id: Iab4fb44c666a0d4fe8c98f5ff9221e23a6f1f2fa --- M src/encoding.cpp M src/encoding.h 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/85/19785/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 0db74c1..da9b25c 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -538,7 +538,7 @@ bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, - uint8_t gamma, int8_t ta_idx, int8_t use_egprs) + uint8_t gamma, int8_t ta_idx, bool use_egprs) { // TODO We should use our implementation of encode RLC/MAC Control messages. unsigned wp = 0; diff --git a/src/encoding.h b/src/encoding.h index bb9944c..be2bf80 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -61,7 +61,7 @@ uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, - int8_t use_egprs); + bool use_egprs); static void write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab4fb44c666a0d4fe8c98f5ff9221e23a6f1f2fa Gerrit-Change-Number: 19785 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 Aug 21 21:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 21:08:21 +0000 Subject: Change in osmo-pcu[master]: encoding: pass pdch slot directly to encoding functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19786 ) Change subject: encoding: pass pdch slot directly to encoding functions ...................................................................... encoding: pass pdch slot directly to encoding functions In order to be able to encode frequency hopping parameters, let's pass a const pointer to 'gprs_rlcmac_pdch' (PDCH slot) directly, instead of passing all related parameters separately. Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Related: SYS#4868, OS#4547 --- M src/bts.cpp M src/encoding.cpp M src/encoding.h M tests/types/TypesTest.cpp 4 files changed, 34 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/19786/1 diff --git a/src/bts.cpp b/src/bts.cpp index 22b4c08..220f71d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -897,8 +897,9 @@ trx_no, m_bts.trx[trx_no].arfcn & ~ARFCN_FLAG_MASK, ts_no, ta, tsc, tbf ? tbf->tfi() : -1, usf); plen = Encoding::write_immediate_assignment( - tbf, bv, false, rip->ra, Fn, ta, m_bts.trx[trx_no].arfcn, - ts_no, tsc, usf, false, sb_fn, m_bts.alpha, m_bts.gamma, -1, + &m_bts.trx[trx_no].pdch[ts_no], tbf, bv, + false, rip->ra, Fn, ta, usf, false, sb_fn, + m_bts.alpha, m_bts.gamma, -1, rip->burst_type); do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_UL_TBF); } @@ -965,8 +966,9 @@ void BTS::snd_dl_ass(gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup) { + uint8_t trx_no = tbf->trx->trx_no; + uint8_t ts_no = tbf->first_ts; int plen; - unsigned int ts = tbf->first_ts; LOGPTBF(tbf, LOGL_INFO, "TX: START Immediate Assignment Downlink (PCH)\n"); bitvec *immediate_assignment = bitvec_alloc(22, tall_pcu_ctx); /* without plen */ @@ -974,12 +976,12 @@ /* 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", - tbf->trx->trx_no, tbf->trx->arfcn, - ts, tbf->ta(), poll ? tbf->poll_fn : -1); - plen = Encoding::write_immediate_assignment(tbf, immediate_assignment, true, 125, - (tbf->pdch[ts]->last_rts_fn + 21216) % GSM_MAX_FN, tbf->ta(), - tbf->trx->arfcn, ts, tbf->tsc(), 7, poll, - tbf->poll_fn, m_bts.alpha, m_bts.gamma, -1, + trx_no, tbf->trx->arfcn, ts_no, tbf->ta(), poll ? tbf->poll_fn : -1); + plen = Encoding::write_immediate_assignment(&m_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, + m_bts.alpha, m_bts.gamma, -1, GSM_L1_BURST_TYPE_ACCESS_0); if (plen >= 0) { do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_DL_TBF); diff --git a/src/encoding.cpp b/src/encoding.cpp index da9b25c..660fea6 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -438,9 +438,10 @@ * see GSM 04.08, 9.1.18 and GSM 44.018, 9.1.18 + 10.5.2.16 */ int Encoding::write_immediate_assignment( + const struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_tbf *tbf, bitvec * dest, bool downlink, uint16_t ra, - uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, uint8_t tsc, + uint32_t ref_fn, uint8_t ta, uint8_t usf, bool polling, uint32_t fn, uint8_t alpha, uint8_t gamma, int8_t ta_idx, enum ph_burst_type burst_type) { @@ -461,11 +462,12 @@ bitvec_write_field(dest, &wp,0x0,4); // Page Mode // GSM 04.08 10.5.2.25a Packet Channel Description - bitvec_write_field(dest, &wp,0x1,5); // Channel type - bitvec_write_field(dest, &wp,ts,3); // TN - bitvec_write_field(dest, &wp,tsc,3); // TSC - bitvec_write_field(dest, &wp,0x0,3); // non-hopping RF channel configuraion - bitvec_write_field(dest, &wp,arfcn,10); // ARFCN + bitvec_write_field(dest, &wp, 0x01, 5); // Channel type + bitvec_write_field(dest, &wp, pdch->ts_no, 3); // TN + bitvec_write_field(dest, &wp, pdch->tsc, 3); // TSC + + bitvec_write_field(dest, &wp, 0x00, 3); // spare (non-hopping RF channel configuraion) + bitvec_write_field(dest, &wp, pdch->trx->arfcn, 10); // ARFCN //10.5.2.30 Request Reference if (((burst_type == GSM_L1_BURST_TYPE_ACCESS_1) || diff --git a/src/encoding.h b/src/encoding.h index be2bf80..859b944 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -42,10 +42,11 @@ class Encoding { public: static int write_immediate_assignment( + const struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_tbf *tbf, bitvec * dest, bool downlink, uint16_t ra, - uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, - uint8_t tsc, uint8_t usf, bool polling, + uint32_t ref_fn, uint8_t ta, + uint8_t usf, bool polling, uint32_t fn, uint8_t alpha, uint8_t gamma, int8_t ta_idx, enum ph_burst_type burst_type); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index e1c894d..c3bd69f 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -728,17 +728,25 @@ static void check_imm_ass(struct gprs_rlcmac_tbf *tbf, bool dl, enum ph_burst_type bt, const uint8_t *exp, uint8_t len, const char *kind) { - uint8_t alpha = 7, gamma = 8, ta = 35, ts = 5, tsc = 1, usf = 1, sz = sizeof(DUMMY_VEC) / 2, plen; + uint8_t alpha = 7, gamma = 8, ta = 35, usf = 1, sz = sizeof(DUMMY_VEC) / 2, plen; bitvec *immediate_assignment = bitvec_alloc(sz, tall_pcu_ctx); struct msgb *m = msgb_alloc(80, "test"); bool poll = true; - uint16_t ra = 13, arfcn = 877; + uint16_t ra = 13; uint32_t ref_fn = 24, fn = 11; int8_t ta_idx = 0; + /* HACK: tbf can be NULL, so we cannot use tbf->trx here */ + struct gprs_rlcmac_trx trx; + trx.pdch[5].trx = &trx; + trx.pdch[5].ts_no = 5; + trx.pdch[5].tsc = 1; + trx.arfcn = 877; + bitvec_unhex(immediate_assignment, DUMMY_VEC); - plen = Encoding::write_immediate_assignment(tbf, immediate_assignment, dl, - ra, ref_fn, ta, arfcn, ts, tsc, usf, + plen = Encoding::write_immediate_assignment(&trx.pdch[5], tbf, + immediate_assignment, + dl, ra, ref_fn, ta, usf, poll, fn, alpha, gamma, ta_idx, bt); printf("[%u] %s Immediate Assignment <%s>:\n\t%s\n", plen, dl ? "DL" : "UL", kind, osmo_hexdump(immediate_assignment->data, sz)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Gerrit-Change-Number: 19786 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 Aug 21 21:08:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 21:08:22 +0000 Subject: Change in osmo-pcu[master]: encoding: use CSN.1 codec to generate Packet Uplink Assignment References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19787 ) Change subject: encoding: use CSN.1 codec to generate Packet Uplink Assignment ...................................................................... encoding: use CSN.1 codec to generate Packet Uplink Assignment It's quite odd to see that in write_packet_downlink_assignment() we initialize an 'RlcMacDownlink_t', so then the caller can use the power of CSN.1 codec to generate the final sequence of bytes to be transmitted, while in write_packet_uplink_assignment() we already compose the final RLC/MAC message straight away using the low-level bitvec API (like bitvec_write_field()). I guess the reason is that at the time of writing this code, the CSN.1 codec was not stable enough, so it was safer to generate the message 'by hand'. This would also explain why we *decode* the final RLC/MAC message in create_ul_ass() right after encoding. Rewrite write_packet_uplink_assignment(), so now it initializes a caller-provided 'RlcMacDownlink_t' structure. Given that it's allocated on heap using talloc_zero(), do not initialize presence indicators of fields that are not present in the message. This would facilitate handling of frequency hopping parameters in the upcoming changes, in particular we can now introduce a function that would compose Frequency Parameters IE for both write_packet_{downlink,uplink}_assignment(). Tested manually by running a GPRS-enabled network, as well as by running test cases from ttcn3-pcu-test => no regressions observed. Change-Id: I2850b91e0043cdca8ae7498a5fc727eeedd029b6 Related: SYS#4868, OS#4547 --- M src/encoding.cpp M src/encoding.h M src/tbf.cpp 3 files changed, 106 insertions(+), 77 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/19787/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 660fea6..33fe196 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -537,93 +537,122 @@ /* generate uplink assignment */ void Encoding::write_packet_uplink_assignment( - bitvec * dest, uint8_t old_tfi, + RlcMacDownlink_t * block, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, bool use_egprs) { - // TODO We should use our implementation of encode RLC/MAC Control messages. - unsigned wp = 0; - uint8_t ts; - /* timeslot assigned for the Continuous Timing Advance procedure */ - uint8_t ta_ts = 0; /* FIXME: supply it as parameter from caller */ + Packet_Uplink_Assignment_t *pua; + Packet_Timing_Advance_t *pta; + Frequency_Parameters_t *fp; + Dynamic_Allocation_t *da; - bitvec_write_field(dest, &wp,0x1,2); // Payload Type - bitvec_write_field(dest, &wp,rrbp,2); // Uplink block with TDMA framenumber (N+13) - bitvec_write_field(dest, &wp,poll,1); // Suppl/Polling Bit - bitvec_write_field(dest, &wp,0x0,3); // Uplink state flag - bitvec_write_field(dest, &wp,0xa,6); // MESSAGE TYPE + /* RLC/MAC control block without the optional RLC/MAC control header */ + block->PAYLOAD_TYPE = 0x01; // Payload Type + block->RRBP = rrbp; // RRBP (e.g. N+13) + block->SP = poll; // RRBP field is valid + block->USF = 0x00; // Uplink state flag - bitvec_write_field(dest, &wp,0x0,2); // Page Mode + /* See 3GPP TS 44.060, section 11.2.29 */ + pua = &block->u.Packet_Uplink_Assignment; + pua->MESSAGE_TYPE = 0x0a; // Packet Uplink Assignment + pua->PAGE_MODE = 0x00; // Normal Paging - bitvec_write_field(dest, &wp,0x0,1); // switch PERSIST_LEVEL: off + /* TLLI or Global (UL/DL) TFI */ if (use_tlli) { - bitvec_write_field(dest, &wp,0x2,2); // switch TLLI : on - bitvec_write_field(dest, &wp,tlli,32); // TLLI + pua->ID.UnionType = 0x01; + pua->ID.u.TLLI = tlli; } else { - bitvec_write_field(dest, &wp,0x0,1); // switch TFI : on - bitvec_write_field(dest, &wp,old_downlink,1); // 0=UPLINK TFI, 1=DL TFI - bitvec_write_field(dest, &wp,old_tfi,5); // TFI + pua->ID.UnionType = 0x00; + pua->ID.u.Global_TFI.UnionType = old_downlink; + pua->ID.u.Global_TFI.u.UPLINK_TFI = old_tfi; } + /* GPRS/EGPRS specific parameters */ + pua->UnionType = use_egprs ? 0x01 : 0x00; if (!use_egprs) { - bitvec_write_field(dest, &wp,0x0,1); // Message escape - bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND - bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING - write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts); - } else { /* EPGRS */ - bitvec_write_field(dest, &wp,0x1,1); // Message escape - bitvec_write_field(dest, &wp,0x0,2); // EGPRS message contents - bitvec_write_field(dest, &wp,0x0,1); // No CONTENTION_RESOLUTION_TLLI - bitvec_write_field(dest, &wp,0x0,1); // No COMPACT reduced MA - bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 4); // EGPRS Modulation and Coding IE - /* 0: no RESEGMENT, 1: Segmentation*/ - bitvec_write_field(dest, &wp, 0x1, 1); - write_ws(dest, &wp, tbf->window_size()); // EGPRS Window Size - bitvec_write_field(dest, &wp,0x0,1); // No Access Technologies Request - bitvec_write_field(dest, &wp,0x0,1); // No ARAC RETRANSMISSION REQUEST - bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING - bitvec_write_field(dest, &wp,0x0,1); // No BEP_PERIOD2 - write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts); - bitvec_write_field(dest, &wp,0x0,1); // No Packet Extended Timing Advance + PUA_GPRS_t *gprs = &pua->u.PUA_GPRS_Struct; + + /* Use the commanded CS/MSC value during the content resolution */ + gprs->CHANNEL_CODING_COMMAND = mcs_chan_code(tbf->current_cs()); + gprs->TLLI_BLOCK_CHANNEL_CODING = 0x01; // ^^^ + + /* Dynamic allocation */ + gprs->UnionType = 0x01; + /* Frequency Parameters IE is present */ + gprs->Exist_Frequency_Parameters = 0x01; + + /* Common parameters to be set below */ + pta = &gprs->Packet_Timing_Advance; + fp = &gprs->Frequency_Parameters; + da = &gprs->u.Dynamic_Allocation; + } else { + PUA_EGPRS_00_t *egprs = &pua->u.PUA_EGPRS_Struct.u.PUA_EGPRS_00; + pua->u.PUA_EGPRS_Struct.UnionType = 0x00; // 'Normal' EGPRS, not EGPRS2 + + /* Use the commanded CS/MSC value during the content resolution */ + egprs->EGPRS_CHANNEL_CODING_COMMAND = mcs_chan_code(tbf->current_cs()); + egprs->TLLI_BLOCK_CHANNEL_CODING = 0x01; // ^^^ + egprs->RESEGMENT = 0x01; // Enable segmentation + egprs->EGPRS_WindowSize = tbf->window_size(); + + /* Dynamic allocation */ + egprs->UnionType = 0x01; + /* Frequency Parameters IE is present */ + egprs->Exist_Frequency_Parameters = 0x01; + + /* Common parameters to be set below */ + pta = &egprs->Packet_Timing_Advance; + fp = &egprs->Frequency_Parameters; + da = &egprs->u.Dynamic_Allocation; } -#if 1 - bitvec_write_field(dest, &wp,0x1,1); // Frequency Parameters information elements = present - bitvec_write_field(dest, &wp,tbf->tsc(),3); // Training Sequence Code (TSC) - bitvec_write_field(dest, &wp,0x0,2); // ARFCN = present - bitvec_write_field(dest, &wp,tbf->trx->arfcn,10); // ARFCN -#else - bitvec_write_field(dest, &wp,0x0,1); // Frequency Parameters = off -#endif - - bitvec_write_field(dest, &wp,0x1,2); // Dynamic Allocation - - bitvec_write_field(dest, &wp,0x0,1); // Extended Dynamic Allocation = off - bitvec_write_field(dest, &wp,0x0,1); // P0 = off - - bitvec_write_field(dest, &wp,0x0,1); // USF_GRANULARITY - bitvec_write_field(dest, &wp,0x1,1); // switch TFI : on - bitvec_write_field(dest, &wp,tbf->tfi(),5);// TFI - - bitvec_write_field(dest, &wp,0x0,1); // - bitvec_write_field(dest, &wp,0x0,1); // TBF Starting Time = off - if (alpha || gamma) { - bitvec_write_field(dest, &wp,0x1,1); // Timeslot Allocation with Power Control - bitvec_write_field(dest, &wp,alpha,4); // ALPHA - } else - bitvec_write_field(dest, &wp,0x0,1); // Timeslot Allocation - - for (ts = 0; ts < 8; ts++) { - if (tbf->pdch[ts]) { - bitvec_write_field(dest, &wp,0x1,1); // USF_TN(i): on - bitvec_write_field(dest, &wp,tbf->m_usf[ts],3); // USF_TN(i) - if (alpha || gamma) - bitvec_write_field(dest, &wp,gamma,5); // GAMMA power control parameter - } else - bitvec_write_field(dest, &wp,0x0,1); // USF_TN(i): off + /* Packet Timing Advance (if known) */ + if (tbf->ta() <= 63) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ + pta->Exist_TIMING_ADVANCE_VALUE = 0x01; // Present + pta->TIMING_ADVANCE_VALUE = tbf->ta(); } - // bitvec_write_field(dest, &wp,0x0,1); // Measurement Mapping struct not present + + /* Continuous Timing Advance Control */ + if (ta_idx >= 0 && ta_idx < 16) { + pta->Exist_IndexAndtimeSlot = 0x01; // Present + pta->TIMING_ADVANCE_TIMESLOT_NUMBER = 0; // FIXME! + pta->TIMING_ADVANCE_INDEX = ta_idx; + } + + /* Frequency Parameters IE */ + fp->TSC = tbf->tsc(); // Training Sequence Code (TSC) + fp->UnionType = 0x00; // Single ARFCN + fp->u.ARFCN = tbf->trx->arfcn; + + /* Dynamic allocation parameters */ + da->USF_GRANULARITY = 0x00; + + /* Assign an Uplink TFI */ + da->Exist_UPLINK_TFI_ASSIGNMENT = 0x01; + da->UPLINK_TFI_ASSIGNMENT = tbf->tfi(); + + /* Timeslot Allocation with or without Power Control */ + da->UnionType = (alpha || gamma) ? 0x01 : 0x00; + if (da->UnionType == 0x01) + da->u.Timeslot_Allocation_Power_Ctrl_Param.ALPHA = alpha; + + for (unsigned int tn = 0; tn < 8; tn++) { + if (tbf->pdch[tn] == NULL) + continue; + + if (da->UnionType == 0x01) { + Timeslot_Allocation_Power_Ctrl_Param_t *params = \ + &da->u.Timeslot_Allocation_Power_Ctrl_Param; + params->Slot[tn].Exist = 0x01; // Enable this timeslot + params->Slot[tn].USF_TN = tbf->m_usf[tn]; // USF_TN(i) + params->Slot[tn].GAMMA_TN = gamma; + } else { + Timeslot_Allocation_t *slot = &da->u.Timeslot_Allocation[tn]; + slot->Exist = 0x01; // Enable this timeslot + slot->USF_TN = tbf->m_usf[tn]; // USF_TN(i) + } + } } diff --git a/src/encoding.h b/src/encoding.h index 859b944..b65ef06 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -58,7 +58,7 @@ ); static void write_packet_uplink_assignment( - bitvec * dest, uint8_t old_tfi, + RlcMacDownlink_t * block, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, diff --git a/src/tbf.cpp b/src/tbf.cpp index c1ec729..0447edc 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1368,16 +1368,16 @@ bitvec_unhex(&bv, DUMMY_VEC); LOGPTBF(new_tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n"); - Encoding::write_packet_uplink_assignment(&bv, m_tfi, + mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); + Encoding::write_packet_uplink_assignment(mac_control_block, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); - mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); - rc = decode_gsm_rlcmac_downlink(&bv, mac_control_block); + rc = encode_gsm_rlcmac_downlink(&bv, mac_control_block); if (rc < 0) { - LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Uplink Ass failed (%d)\n", rc); + LOGP(DTBF, LOGL_ERROR, "Encoding of Packet Uplink Ass failed (%d)\n", rc); goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2850b91e0043cdca8ae7498a5fc727eeedd029b6 Gerrit-Change-Number: 19787 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 Aug 21 21:08:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 21:08:22 +0000 Subject: Change in osmo-pcu[master]: encoding: implement handing of hopping parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19788 ) Change subject: encoding: implement handing of hopping parameters ...................................................................... encoding: implement handing of hopping parameters The following test cases verify coding of the hopping parameters: + (RR) Immediate Assignment - TC_pcuif_fh_imm_ass_ul_egprs, - TC_pcuif_fh_imm_ass_ul, - TC_pcuif_fh_imm_ass_dl, + (RLC/MAC) Packet Uplink/Downlink Assignment: - TC_pcuif_fh_pkt_ass_ul, - TC_pcuif_fh_pkt_ass_dl, all of them pass with this (and the upcoming) change applied. Change-Id: I8adc0cdb1b05a87b4df5d4bc196f6d381283a06f Related: SYS#4868, OS#4547 --- M src/encoding.cpp M src/pdch.h 2 files changed, 83 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/19788/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 33fe196..ef2524b 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -466,8 +466,15 @@ bitvec_write_field(dest, &wp, pdch->ts_no, 3); // TN bitvec_write_field(dest, &wp, pdch->tsc, 3); // TSC - bitvec_write_field(dest, &wp, 0x00, 3); // spare (non-hopping RF channel configuraion) - bitvec_write_field(dest, &wp, pdch->trx->arfcn, 10); // ARFCN + /* RF channel configuraion: hopping or non-hopping */ + if (pdch->fh.enabled) { + bitvec_write_field(dest, &wp, 0x01, 1); /* direct encoding */ + bitvec_write_field(dest, &wp, pdch->fh.maio, 6); + bitvec_write_field(dest, &wp, pdch->fh.hsn, 6); + } else { + bitvec_write_field(dest, &wp, 0x00, 3); + bitvec_write_field(dest, &wp, pdch->trx->arfcn, 10); + } //10.5.2.30 Request Reference if (((burst_type == GSM_L1_BURST_TYPE_ACCESS_1) || @@ -485,9 +492,18 @@ bitvec_write_field(dest, &wp,0x0,2); // spare bitvec_write_field(dest, &wp,ta,6); // Timing Advance value - // No mobile allocation in non-hopping systems. - // A zero-length LV. Just write L=0. - bitvec_write_field(dest, &wp,0,8); + /* 10.5.2.21 Mobile Allocation */ + if (pdch->fh.enabled) { + OSMO_ASSERT(pdch->fh.ma_len <= ARRAY_SIZE(pdch->fh.ma)); + bitvec_write_field(dest, &wp, pdch->fh.ma_len, 8); + + for (int i = 0; i < pdch->fh.ma_len; i++) + bitvec_write_field(dest, &wp, pdch->fh.ma[i], 8); + } else { + // No mobile allocation in non-hopping systems. + // A zero-length LV. Just write L=0. + bitvec_write_field(dest, &wp, 0x00, 8); + } OSMO_ASSERT(wp % 8 == 0); @@ -535,6 +551,55 @@ return plen; } +/* Prepare to be encoded Frequency Parameters IE (see Table 12.8.1) */ +static void gen_freq_params(Frequency_Parameters_t *freq_params, + const struct gprs_rlcmac_tbf *tbf) +{ + const struct gprs_rlcmac_pdch *pdch = NULL; + Direct_encoding_1_t fh_params; + + /* Training Sequence Code */ + freq_params->TSC = tbf->tsc(); + + /* Find at least one PDCH, if it's hopping then all other should too */ + for (unsigned int tn = 0; tn < 8; tn++) { + if (tbf->pdch[tn] != NULL) { + pdch = tbf->pdch[tn]; + break; + } + } + + /* If frequency hopping is not in use, encode a single ARFCN */ + if (pdch == NULL || !pdch->fh.enabled) { + freq_params->UnionType = 0x00; + freq_params->u.ARFCN = tbf->trx->arfcn; + return; + } + + /* Direct encoding 1 (see Table 12.8.1) */ + freq_params->UnionType = 0x2; + + /* HSN / MAIO */ + fh_params.MAIO = pdch->fh.maio; + fh_params.GPRS_Mobile_Allocation.HSN = pdch->fh.hsn; + fh_params.GPRS_Mobile_Allocation.ElementsOf_RFL_NUMBER = 0; + + /* Mobile Allocation bitmap */ + fh_params.GPRS_Mobile_Allocation.UnionType = 0; /* MA bitmap */ + fh_params.GPRS_Mobile_Allocation.u.MA.MA_LENGTH = pdch->fh.ma_len; /* in bytes */ + memcpy(fh_params.GPRS_Mobile_Allocation.u.MA.MA_BITMAP, pdch->fh.ma, pdch->fh.ma_len); + + /* Mobile Allocation bitmap length (in bits) */ + fh_params.GPRS_Mobile_Allocation.u.MA.MA_BitLength = pdch->fh.ma_len * 8; + for (unsigned int i = 0; i < 8; i++) { /* skip redundant bits */ + if (pdch->fh.ma[0] & (0x80 >> i)) + break; + fh_params.GPRS_Mobile_Allocation.u.MA.MA_BitLength--; + } + + freq_params->u.Direct_encoding_1 = fh_params; +} + /* generate uplink assignment */ void Encoding::write_packet_uplink_assignment( RlcMacDownlink_t * block, uint8_t old_tfi, @@ -621,9 +686,7 @@ } /* Frequency Parameters IE */ - fp->TSC = tbf->tsc(); // Training Sequence Code (TSC) - fp->UnionType = 0x00; // Single ARFCN - fp->u.ARFCN = tbf->trx->arfcn; + gen_freq_params(fp, tbf); /* Dynamic allocation parameters */ da->USF_GRANULARITY = 0x00; @@ -715,9 +778,7 @@ block->u.Packet_Downlink_Assignment.Exist_P0_and_BTS_PWR_CTRL_MODE = 0x0; // POWER CONTROL = off block->u.Packet_Downlink_Assignment.Exist_Frequency_Parameters = 0x1; // Frequency Parameters = on - block->u.Packet_Downlink_Assignment.Frequency_Parameters.TSC = tbf->tsc(); // Training Sequence Code (TSC) - block->u.Packet_Downlink_Assignment.Frequency_Parameters.UnionType = 0x0; // ARFCN = on - block->u.Packet_Downlink_Assignment.Frequency_Parameters.u.ARFCN = tbf->trx->arfcn; // ARFCN + gen_freq_params(&block->u.Packet_Downlink_Assignment.Frequency_Parameters, tbf); block->u.Packet_Downlink_Assignment.Exist_DOWNLINK_TFI_ASSIGNMENT = 0x1; // DOWNLINK TFI ASSIGNMENT = on block->u.Packet_Downlink_Assignment.DOWNLINK_TFI_ASSIGNMENT = tbf->tfi(); // TFI diff --git a/src/pdch.h b/src/pdch.h index ec35174..6ed4931 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -106,6 +106,17 @@ void update_ta(uint8_t tai, uint8_t ta); #endif + /* Frequency hopping parameters */ + struct { + bool enabled; + /* 3GPP TS 45.002 HSN / MAIO (6 bit each) */ + uint8_t hsn; + uint8_t maio; + /* 3GPP TS 44.018, 10.5.2.21 "Mobile Allocation" */ + uint8_t ma_len; + uint8_t ma[8]; + } fh; + /* back pointers */ struct gprs_rlcmac_trx *trx; uint8_t ts_no; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8adc0cdb1b05a87b4df5d4bc196f6d381283a06f Gerrit-Change-Number: 19788 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 Aug 21 21:08:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 21:08:22 +0000 Subject: Change in osmo-pcu[master]: pcuif_proto: version 10: add frequency hopping parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19789 ) Change subject: pcuif_proto: version 10: add frequency hopping parameters ...................................................................... pcuif_proto: version 10: add frequency hopping parameters Change-Id: I6863830883d90954006a7126c22d348aa2a83271 Related: SYS#4868, OS#4547 --- M include/osmocom/pcu/pcuif_proto.h M src/pcu_l1_if.cpp 2 files changed, 33 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/19789/1 diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index e88607e..ad6fa9a 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -5,7 +5,7 @@ #define PCU_SOCK_DEFAULT "/tmp/pcu_bts" -#define PCU_IF_VERSION 0x09 +#define PCU_IF_VERSION 0x0a #define TXT_MAX_LEN 128 /* msg_type */ @@ -112,12 +112,20 @@ uint8_t ts_nr; } __attribute__ ((packed)); +struct gsm_pcu_if_info_ts { + uint8_t tsc; + uint8_t h; + uint8_t hsn; + uint8_t maio; + uint8_t ma[8]; +} __attribute__ ((packed)); + struct gsm_pcu_if_info_trx { uint16_t arfcn; - uint8_t pdch_mask; /* PDCH channels per TS */ + uint8_t pdch_mask; /* PDCH slot-mask */ uint8_t spare; - uint8_t tsc[8]; /* TSC per channel */ uint32_t hlayer1; + struct gsm_pcu_if_info_ts ts[8]; /* timeslots per TRX */ } __attribute__ ((packed)); struct gsm_pcu_if_info_ind { diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index f92fe4e..3c348a4 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -630,6 +630,7 @@ } for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) { + const struct gsm_pcu_if_info_ts *its = &info_ind->trx[trx_nr].ts[ts_nr]; struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_nr].pdch[ts_nr]; if ((info_ind->trx[trx_nr].pdch_mask & (1 << ts_nr))) { /* FIXME: activate dynamically at RLCMAC */ @@ -643,9 +644,27 @@ pcu_tx_act_req(trx_nr, ts_nr, 1); pdch->enable(); } - pdch->tsc = info_ind->trx[trx_nr].tsc[ts_nr]; - LOGP(DL1IF, LOGL_INFO, "PDCH: trx=%d ts=%d\n", - trx_nr, ts_nr); + + pdch->tsc = its->tsc; + + /* (Optional) frequency hopping parameters */ + if (its->h) { + pdch->fh.enabled = true; + pdch->fh.maio = its->maio; + pdch->fh.hsn = its->hsn; + pdch->fh.ma_len = 0; + + /* Mobile Allocation (byte/bit order as on the wire) */ + for (unsigned int i = 0; i < ARRAY_SIZE(pdch->fh.ma); i++) { + /* Skip redundant octets (basically padding) */ + if (!pdch->fh.ma_len && its->ma[i] == 0x00) + continue; + pdch->fh.ma[pdch->fh.ma_len++] = its->ma[i]; + } + } + + LOGP(DL1IF, LOGL_INFO, "PDCH (trx=%u, ts=%u): tsc=%u, hopping=%s\n", + trx_nr, ts_nr, pdch->tsc, pdch->fh.enabled ? "yes" : "no"); } else { if (pdch->is_enabled()) { pcu_tx_act_req(trx_nr, ts_nr, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6863830883d90954006a7126c22d348aa2a83271 Gerrit-Change-Number: 19789 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 Aug 21 21:15:59 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 Aug 2020 21:15:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... lchan_fsm: merge lchan_mr_config() There are some preperations and checks done before calling lchan_mr_config(), those checks could also be done from inside lchan_mr_config(), so lets merge them into lchan_mr_config() Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 21 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/19790/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4ed95dd..05fb66f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -415,8 +415,9 @@ } /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, const struct gsm48_multi_rate_conf *mr_conf) +static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) { + struct gsm48_multi_rate_conf mr_conf; bool full_rate = (lchan->type == GSM_LCHAN_TCH_F); struct gsm_bts *bts = lchan->ts->trx->bts; struct bsc_msc_data *msc = lchan->conn->sccp.msc; @@ -426,6 +427,22 @@ struct gsm48_multi_rate_conf mr_conf_filtered; const struct gsm48_multi_rate_conf *mr_conf_bts; + /* Generate mr conf struct from S15-S0 bits */ + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, s15_s0) < 0) { + LOG_LCHAN(lchan, LOGL_ERROR, + "can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", s15_s0); + return -EINVAL; + } + + /* Do not include 12.2 kbps rate when S1 is set. */ + if (lchan->type == GSM_LCHAN_TCH_H && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration + * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) + * not included. */ + mr_conf.m12_2 = 0; + } + /* There are two different active sets, depending on the channel rate, * make sure the appropate one is selected. */ if (full_rate) @@ -438,7 +455,7 @@ * interface. To ensure that the VTY settings are observed we create * a manipulated copy of the mr_conf that ensures forbidden codec rates * are not used in the multirate configuration IE. */ - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &msc->amr_conf, mr_conf); + rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &msc->amr_conf, &mr_conf); if (rc_rate < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, MSC)\n"); @@ -478,6 +495,7 @@ return -EINVAL; } + lchan->s15_s0 = s15_s0; return 0; } @@ -508,7 +526,6 @@ static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - struct gsm48_multi_rate_conf mr_conf; struct gsm_bts *bts = lchan->ts->trx->bts; struct osmo_mgcpc_ep_ci *use_mgwep_ci; struct gsm_lchan *old_lchan = lchan->activate.info.re_use_mgw_endpoint_from_lchan; @@ -537,26 +554,10 @@ } if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0) < 0) { - lchan_fail("Can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", - info->s15_s0); - return; - } - - /* Do not include 12.2 kbps rate when S1 is set. */ - if (lchan->type == GSM_LCHAN_TCH_H && (info->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { - /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration - * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR - * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) - * not included. */ - mr_conf.m12_2 = 0; - } - - if (lchan_mr_config(lchan, &mr_conf) < 0) { + if (lchan_mr_config(lchan, info->s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } - lchan->s15_s0 = info->s15_s0; } switch (info->chan_mode) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 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 Aug 21 21:16:00 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 Aug 2020 21:16:00 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make internal functions static. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19791 ) Change subject: lchan_fsm: make internal functions static. ...................................................................... lchan_fsm: make internal functions static. The functions lchan_fsm_allstate_action, lchan_fsm_allstate_action and lchan_fsm_cleanup are only used internally in lchan_fsm.c, lets make them static Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/19791/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 05fb66f..26bfd29 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1329,7 +1329,7 @@ {} }; -void lchan_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void lchan_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -1349,7 +1349,7 @@ } } -int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) +static int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); switch (fi->state) { @@ -1424,7 +1424,7 @@ lchan->release.in_release_handler = false; } -void lchan_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +static void lchan_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (lchan->fi->state == LCHAN_ST_BORKEN) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 Gerrit-Change-Number: 19791 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 Aug 21 21:16:00 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 Aug 2020 21:16:00 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make rsl mode-modify working again References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19792 ) Change subject: lchan_fsm: make rsl mode-modify working again ...................................................................... lchan_fsm: make rsl mode-modify working again osmo-nitb supports the modification of an lchan if the lchan is compatible but in the wrong mode. This feature was dropped in the transition to AoIP/bsc-split. However, osmo-bsc still has code to generate and parse the messeages, but the FSMs do not support a mode modify yetm Lets add handling for mode-modify to the lchan_fsm and assignment_fsm in order to support mode modify again Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Related: OS#4549 --- M include/osmocom/bsc/lchan_fsm.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 194 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/19792/1 diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 55ab024..e5b3707 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -18,6 +18,8 @@ LCHAN_ST_WAIT_TS_READY, LCHAN_ST_WAIT_ACTIV_ACK, /*< After RSL Chan Act Ack, lchan is active but RTP not configured. */ LCHAN_ST_WAIT_RLL_RTP_ESTABLISH, + LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK, + LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK, LCHAN_ST_ESTABLISHED, /*< Active and RTP is fully configured. */ LCHAN_ST_WAIT_RLL_RTP_RELEASED, LCHAN_ST_WAIT_BEFORE_RF_RELEASE, @@ -40,10 +42,10 @@ LCHAN_EV_RLL_REL_CONF, LCHAN_EV_RSL_RF_CHAN_REL_ACK, LCHAN_EV_RLL_ERR_IND, - - /* FIXME: not yet implemented: Chan Mode Modify, see assignment_fsm_start(). */ LCHAN_EV_CHAN_MODE_MODIF_ACK, LCHAN_EV_CHAN_MODE_MODIF_ERROR, + LCHAN_EV_RSL_MT_MODE_MODIFY_ACK, + LCHAN_EV_RSL_MT_MODE_MODIFY_NACK, }; void lchan_fsm_init(); @@ -55,6 +57,8 @@ void lchan_activate(struct gsm_lchan *lchan, struct lchan_activate_info *info); void lchan_ready_to_switch_rtp(struct gsm_lchan *lchan); +void lchan_modfy(struct gsm_lchan *lchan, struct lchan_activate_info *info); + static inline const char *lchan_state_name(struct gsm_lchan *lchan) { return lchan->fi ? osmo_fsm_inst_state_name(lchan->fi) : "NULL"; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 6787511..42f3a42 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1186,10 +1186,12 @@ case RSL_MT_MODE_MODIFY_ACK: LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY ACK\n"); count_codecs(sign_link->trx->bts, msg->lchan); + osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RSL_MT_MODE_MODIFY_ACK, NULL); break; case RSL_MT_MODE_MODIFY_NACK: LOG_LCHAN(msg->lchan, LOGL_DEBUG, "CHANNEL MODE MODIFY NACK\n"); rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_MODE_MODIFY_NACK]); + osmo_fsm_inst_dispatch(msg->lchan->fi, LCHAN_EV_RSL_MT_MODE_MODIFY_NACK, NULL); break; case RSL_MT_IPAC_PDCH_ACT_ACK: rc = rsl_rx_ipacc_pdch(msg, "ACT ACK", TS_EV_PDCH_ACT_ACK); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index ca29daa..7592c2a 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -379,9 +379,8 @@ return 0; } -/* Check if the conn is already associated with an lchan. If yes, we will check - * if that lchan is compatible with the preferred rate/codec. If the lchan - * turns out to be incompatible we try with the alternate rate/codec. */ +/* Decide if we should re-use an existing lchan. For this we check if the + * current lchan is compatible with one of the requested modes. */ static bool reuse_existing_lchan(struct gsm_subscriber_connection *conn) { struct assignment_request *req = &conn->assignment.req; @@ -395,22 +394,10 @@ for (i = 0; i < req->n_ch_mode_rate; i++) if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - break; + return true; } - if (i == req->n_ch_mode_rate) - return false; - - if (conn->lchan->tch_mode != conn->lchan->ch_mode_rate.chan_mode) { - /* FIXME: send Channel Mode Modify to put the current lchan in the right mode, and kick - * off its RTP stream setup code path. See gsm48_lchan_modify() and - * gsm48_rx_rr_modif_ack(), and see lchan_fsm.h LCHAN_EV_CHAN_MODE_MODIF_* */ - LOG_ASSIGNMENT(conn, LOGL_DEBUG, - "Current lchan would be compatible, but Channel Mode Modify is not implemented\n"); - return false; - } - - return true; + return false; } void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, @@ -447,22 +434,60 @@ return; /* There may be an already existing lchan, if yes, try to work with - * the existing lchan */ + * the existing lchan. */ if (reuse_existing_lchan(conn)) { + + /* If the requested mode and the current TCH mode matches up, just send the + * assignment complete directly and be done with the assignment procedure. + * however, this will be not the common case. */ + if (conn->lchan->tch_mode == conn->lchan->ch_mode_rate.chan_mode) { + LOG_ASSIGNMENT(conn, LOGL_DEBUG, + "Current lchan mode is compatible with requested chan_mode," + " sending BSSMAP Assignment Complete directly." + " requested chan_mode=%s; current lchan is %s\n", + gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), + gsm_lchan_name(conn->lchan)); + + send_assignment_complete(conn); + /* If something went wrong during send_assignment_complete(), + * the fi will be gone from error handling in there. */ + if (conn->assignment.fi) { + assignment_count_result(CTR_ASSIGNMENT_COMPLETED); + osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); + } + return; + } + + /* The requested mode does not match the current TCH mode but the lchan is + * compatible. We will initiate a mode modify procedure. */ LOG_ASSIGNMENT(conn, LOGL_DEBUG, - "Current lchan is compatible with requested chan_mode," - " sending BSSMAP Assignment Complete directly." - " requested chan_mode=%s; current lchan is %s\n", + "Current lchan mode is not compatible with requested chan_mode," + " so we will modify it. requested chan_mode=%s; current lchan is %s\n", gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), gsm_lchan_name(conn->lchan)); - send_assignment_complete(conn); - /* If something went wrong during send_assignment_complete(), the fi will be gone from - * error handling in there. */ - if (conn->assignment.fi) { - assignment_count_result(CTR_ASSIGNMENT_COMPLETED); - osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); - } + info = (struct lchan_activate_info){ + .activ_for = FOR_ASSIGNMENT, + .for_conn = conn, + .chan_mode = conn->lchan->ch_mode_rate.chan_mode, + .encr = conn->lchan->encr, + .s15_s0 = conn->lchan->ch_mode_rate.s15_s0, + .requires_voice_stream = conn->assignment.requires_voice_stream, + .msc_assigned_cic = req->msc_assigned_cic, + .re_use_mgw_endpoint_from_lchan = conn->lchan, + }; + + lchan_modfy(conn->lchan, &info); + + /* Since we opted not to allocate a new lchan, the new lchan is + * still the old lchan. */ + conn->assignment.new_lchan = conn->lchan; + + /* Also we need to spare the RR assignment, so we jump forward + * and wait for the lchan_fsm until it reaches the established + * state again. */ + assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED); + return; } @@ -682,6 +707,7 @@ .out_state_mask = 0 | S(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE) | S(ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE) + | S(ASSIGNMENT_ST_WAIT_LCHAN_ESTABLISHED) /* MODE MODIFY */ , }, [ASSIGNMENT_ST_WAIT_RR_ASS_COMPLETE] = { diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 69ec4d3..ef0fb4e 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -654,7 +654,6 @@ int gsm48_rx_rr_modif_ack(struct msgb *msg) { - int rc; struct gsm48_hdr *gh = msgb_l3(msg); struct gsm48_chan_mode_modify *mod = (struct gsm48_chan_mode_modify *) gh->data; @@ -688,15 +687,7 @@ break; } - /* We've successfully modified the MS side of the channel, - * now go on to modify the BTS side of the channel */ - rc = rsl_chan_mode_modify_req(msg->lchan); - - /* FIXME: we not only need to do this after mode modify, but - * also after channel activation */ - if (is_ipaccess_bts(msg->lchan->ts->trx->bts) && mod->mode != GSM48_CMODE_SIGN) - rsl_tx_ipacc_crcx(msg->lchan); - return rc; + return 0; } int gsm48_parse_meas_rep(struct gsm_meas_rep *rep, struct msgb *msg) diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 26bfd29..db72651 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -59,6 +59,7 @@ switch (lchan->fi->state) { case LCHAN_ST_WAIT_RLL_RTP_ESTABLISH: case LCHAN_ST_ESTABLISHED: + case LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK: return true; default: return false; @@ -249,7 +250,7 @@ } while(0) /* Which state to transition to when lchan_fail() is called in a given state. */ -uint32_t lchan_fsm_on_error[32] = { +uint32_t lchan_fsm_on_error[34] = { [LCHAN_ST_UNUSED] = LCHAN_ST_UNUSED, [LCHAN_ST_WAIT_TS_READY] = LCHAN_ST_UNUSED, [LCHAN_ST_WAIT_ACTIV_ACK] = LCHAN_ST_BORKEN, @@ -260,6 +261,8 @@ [LCHAN_ST_WAIT_RF_RELEASE_ACK] = LCHAN_ST_BORKEN, [LCHAN_ST_WAIT_AFTER_ERROR] = LCHAN_ST_UNUSED, [LCHAN_ST_BORKEN] = LCHAN_ST_BORKEN, + [LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK] = LCHAN_ST_BORKEN, + [LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK] = LCHAN_ST_BORKEN, }; #define lchan_fail(fmt, args...) lchan_fail_to(lchan_fsm_on_error[fi->state], fmt, ## args) @@ -523,6 +526,53 @@ } } +void lchan_modfy(struct gsm_lchan *lchan, struct lchan_activate_info *info) +{ + struct osmo_fsm_inst *fi; + struct osmo_mgcpc_ep_ci *use_mgwep_ci; + + OSMO_ASSERT(lchan && info); + fi = lchan->fi; + + /* It is only possible to modify already established lchans. */ + if (!lchan_state_is(lchan, LCHAN_ST_ESTABLISHED)) + goto abort; + + lchan->activate.info = *info; + use_mgwep_ci = lchan_use_mgw_endpoint_ci_bts(lchan); + + if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { + if (lchan_mr_config(lchan, info->s15_s0) < 0) { + lchan_fail("Can not generate multirate configuration IE\n"); + return; + } + } + + LOG_LCHAN(lchan, LOGL_INFO, + "Modification requested: %s voice=%s MGW-ci=%s type=%s tch-mode=%s encr-alg=A5/%u ck=%s\n", + lchan_activate_mode_name(lchan->activate.info.activ_for), + lchan->activate.info.requires_voice_stream ? "yes" : "no", + lchan->activate.info.requires_voice_stream ? + (use_mgwep_ci ? osmo_mgcpc_ep_ci_name(use_mgwep_ci) : "new") + : "none", + gsm_lchant_name(lchan->type), + gsm48_chan_mode_name(lchan->tch_mode), + (lchan->activate.info.encr.alg_id ? : 1) - 1, + lchan->activate.info.encr.key_len ? osmo_hexdump_nospc(lchan->activate.info.encr.key, + lchan->activate.info.encr.key_len) : "none"); + + /* While the mode is changed the lchan is virtually "not activated", at least + * from the FSM implementations perspective */ + lchan->activate.concluded = false; + + /* Initiate mode modfication, start with the MS side (RR) */ + lchan_fsm_state_chg(LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK); + gsm48_lchan_modify(lchan, info->chan_mode); + return; +abort: + lchan_release(lchan, !!(lchan->conn), true, RSL_ERR_EQUIPMENT_FAIL); +} + static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -833,6 +883,59 @@ } } +static void lchan_fsm_wait_chan_mode_modif_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct gsm_lchan *lchan = lchan_fi_lchan(fi); + int rc; + + switch (event) { + + case LCHAN_EV_CHAN_MODE_MODIF_ACK: + lchan_fsm_state_chg(LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK); + rc = rsl_chan_mode_modify_req(lchan); + if (rc < 0) { + lchan_fail("Failed to send rsl message to change the channel mode on the BTS side: %s in state %s\n", + osmo_fsm_event_name(fi->fsm, event), + osmo_fsm_inst_state_name(fi)); + } + return; + + case LCHAN_EV_CHAN_MODE_MODIF_ERROR: + lchan_fail("Failed to change channel mode on the MS side: %s in state %s\n", + osmo_fsm_event_name(fi->fsm, event), + osmo_fsm_inst_state_name(fi)); + return; + + default: + OSMO_ASSERT(false); + } +} + +static void lchan_fsm_wait_rsl_mt_mode_modify_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct gsm_lchan *lchan = lchan_fi_lchan(fi); + switch (event) { + + case LCHAN_EV_RSL_MT_MODE_MODIFY_ACK: + /* Prepare an MGW endpoint CI if appropriate. */ + if (lchan->activate.info.requires_voice_stream) { + lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); + lchan_rtp_fsm_start(lchan); + } else + lchan_fsm_state_chg(LCHAN_ST_ESTABLISHED); + return; + + case LCHAN_EV_RSL_MT_MODE_MODIFY_NACK: + lchan_fail("Failed to change channel mode on the BTS side: %s in state %s\n", + osmo_fsm_event_name(fi->fsm, event), + osmo_fsm_inst_state_name(fi)); + return; + + default: + OSMO_ASSERT(false); + } +} + static void lchan_fsm_established_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -1223,6 +1326,30 @@ | S(LCHAN_ST_WAIT_RLL_RTP_RELEASED) , }, + [LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK] = { + .name = "WAIT_CHAN_MODE_MODIF_ACK", + .action = lchan_fsm_wait_chan_mode_modif_ack, + .in_event_mask = 0 + | S(LCHAN_EV_CHAN_MODE_MODIF_ACK) + | S(LCHAN_EV_CHAN_MODE_MODIF_ERROR) + , + .out_state_mask = 0 + | S(LCHAN_ST_BORKEN) + | S(LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK) + , + }, + [LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK] = { + .name = "WAIT_RSL_MT_MODE_MODIFY_ACK", + .action = lchan_fsm_wait_rsl_mt_mode_modify_ack, + .in_event_mask = 0 + | S(LCHAN_EV_RSL_MT_MODE_MODIFY_ACK) + | S(LCHAN_EV_RSL_MT_MODE_MODIFY_NACK) + , + .out_state_mask = 0 + | S(LCHAN_ST_BORKEN) + | S(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH) + , + }, [LCHAN_ST_ESTABLISHED] = { .name = "ESTABLISHED", .onenter = lchan_fsm_established_onenter, @@ -1239,6 +1366,7 @@ | S(LCHAN_ST_WAIT_RLL_RTP_RELEASED) | S(LCHAN_ST_WAIT_BEFORE_RF_RELEASE) | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) + | S(LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK) , }, [LCHAN_ST_WAIT_RLL_RTP_RELEASED] = { @@ -1326,6 +1454,8 @@ OSMO_VALUE_STRING(LCHAN_EV_RLL_ERR_IND), OSMO_VALUE_STRING(LCHAN_EV_CHAN_MODE_MODIF_ACK), OSMO_VALUE_STRING(LCHAN_EV_CHAN_MODE_MODIF_ERROR), + OSMO_VALUE_STRING(LCHAN_EV_RSL_MT_MODE_MODIFY_ACK), + OSMO_VALUE_STRING(LCHAN_EV_RSL_MT_MODE_MODIFY_NACK), {} }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Gerrit-Change-Number: 19792 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 Aug 21 21:16:00 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 Aug 2020 21:16:00 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: prioritize emergency calls over regular calls References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19793 ) Change subject: abis_rsl: prioritize emergency calls over regular calls ...................................................................... abis_rsl: prioritize emergency calls over regular calls when an emergency call arrives while all TCH are busy, the BSC should pick an arbitrary (preferably the longest lasting) call / lchan and release it in favor of the incoming emergancy call. The release of the existing call is a process that can not be done synchronously while the ChanRQD is handled sonce multiple messages are exchanged between BTS and MSC and multiple FSMs need to do their work. To be able to release one lchan while handling a ChanRQD a queue is implemented in which the incomming channel requests are collected. The queue is checked regulary for incoming requests. If one of the requests is for an emergency call and if all channels are busy one channel is picked and released. It is also made sure that the incoming emergency call directly gets the TCH that was just released. Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36 Related: OS#4549 --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/bts.h M include/osmocom/bsc/lchan_fsm.h M include/osmocom/bsc/lchan_select.h M src/ipaccess/ipaccess-config.c M src/ipaccess/ipaccess-proxy.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_select.c M src/utils/bs11_config.c M src/utils/meas_json.c M tests/abis/abis_test.c M tests/acc/acc_test.c M tests/bsc/bsc_test.c M tests/gsm0408/gsm0408_test.c M tests/nanobts_omlattr/nanobts_omlattr_test.c 17 files changed, 271 insertions(+), 47 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/19793/1 diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index 2611a3d..146c636 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -118,5 +118,7 @@ int rsl_tx_rf_chan_release(struct gsm_lchan *lchan); +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts); + #endif /* RSL_MT_H */ diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 16053a3..693fb80 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -495,6 +495,8 @@ struct osmo_timer_list etws_timer; /* when to stop ETWS PN */ struct llist_head oml_fail_rep; + struct llist_head chan_rqd_queue; + struct osmo_timer_list chan_rqd_queue_timer; }; #define GSM_BTS_SI2Q(bts, i) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i]) diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index e5b3707..8dc228b 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -75,3 +75,5 @@ void lchan_forget_conn(struct gsm_lchan *lchan); void lchan_set_last_error(struct gsm_lchan *lchan, const char *fmt, ...); + +void lchan_fsm_skip_error(struct gsm_lchan *lchan); diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 865181b..7a828d9 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -4,3 +4,4 @@ struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); +bool lchan_select_avail(struct gsm_bts *bts, enum gsm_chan_t type); diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c index c9264d7..be5f6a8 100644 --- a/src/ipaccess/ipaccess-config.c +++ b/src/ipaccess/ipaccess-config.c @@ -1142,3 +1142,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/src/ipaccess/ipaccess-proxy.c b/src/ipaccess/ipaccess-proxy.c index d5dd8d4..fec866a 100644 --- a/src/ipaccess/ipaccess-proxy.c +++ b/src/ipaccess/ipaccess-proxy.c @@ -1260,3 +1260,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 42f3a42..64c4af5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1322,77 +1322,219 @@ return rsl_send_imm_ass_rej(bts, rqd_ref, wait_ind); } +struct chan_rqd { + struct llist_head list; + struct gsm_bts *bts; + struct gsm48_req_ref ref; + enum gsm_chreq_reason_t reason; + uint8_t ta; + bool relasing; + struct gsm_lchan *lchan; +}; + /* Handle packet channel rach requests */ -static int rsl_rx_pchan_rqd(struct msgb *msg, struct gsm_bts *bts) +static int rsl_rx_pchan_rqd(struct chan_rqd *rqd) { - struct gsm48_req_ref *rqd_ref; - struct abis_rsl_dchan_hdr *rqd_hdr = msgb_l2(msg); - rqd_ref = (struct gsm48_req_ref *) &rqd_hdr->data[1]; - uint8_t ra = rqd_ref->ra; uint8_t t1, t2, t3; uint32_t fn; uint8_t rqd_ta; uint8_t is_11bit; /* Process rach request and forward contained information to PCU */ - if (ra == 0x7F) { + if (rqd->ref.ra == 0x7F) { is_11bit = 1; /* FIXME: Also handle 11 bit rach requests */ - LOGP(DRSL, LOGL_ERROR, "BTS %d eleven bit access burst not supported yet!\n",bts->nr); + LOGP(DRSL, LOGL_ERROR, "BTS %d eleven bit access burst not supported yet!\n",rqd->bts->nr); return -EINVAL; } else { is_11bit = 0; - t1 = rqd_ref->t1; - t2 = rqd_ref->t2; - t3 = rqd_ref->t3_low | (rqd_ref->t3_high << 3); + t1 = rqd->ref.t1; + t2 = rqd->ref.t2; + t3 = rqd->ref.t3_low | (rqd->ref.t3_high << 3); fn = (51 * ((t3-t2) % 26) + t3 + 51 * 26 * t1); - - rqd_ta = rqd_hdr->data[sizeof(struct gsm48_req_ref)+2]; + rqd_ta = rqd->ta; } - return pcu_tx_rach_ind(bts, rqd_ta, ra, fn, is_11bit, + return pcu_tx_rach_ind(rqd->bts, rqd_ta, rqd->ref.ra, fn, is_11bit, GSM_L1_BURST_TYPE_ACCESS_0); } /* MS has requested a channel on the RACH */ static int rsl_rx_chan_rqd(struct msgb *msg) { - struct lchan_activate_info info; struct e1inp_sign_link *sign_link = msg->dst; struct gsm_bts *bts = sign_link->trx->bts; struct abis_rsl_dchan_hdr *rqd_hdr = msgb_l2(msg); - struct gsm48_req_ref *rqd_ref; - enum gsm_chan_t lctype; - enum gsm_chreq_reason_t chreq_reason; - struct gsm_lchan *lchan; - uint8_t rqd_ta; + struct chan_rqd *rqd; + + rqd = talloc_zero(bts, struct chan_rqd); + OSMO_ASSERT(rqd); + + rqd->bts = bts; /* parse request reference to be used in immediate assign */ - if (rqd_hdr->data[0] != RSL_IE_REQ_REFERENCE) + if (rqd_hdr->data[0] != RSL_IE_REQ_REFERENCE) { + talloc_free(rqd); return -EINVAL; - - rqd_ref = (struct gsm48_req_ref *) &rqd_hdr->data[1]; + } + memcpy(&rqd->ref, &rqd_hdr->data[1], sizeof(rqd->ref)); /* parse access delay and use as TA */ - if (rqd_hdr->data[sizeof(struct gsm48_req_ref)+1] != RSL_IE_ACCESS_DELAY) + if (rqd_hdr->data[sizeof(struct gsm48_req_ref)+1] != RSL_IE_ACCESS_DELAY) { + talloc_free(rqd); return -EINVAL; - rqd_ta = rqd_hdr->data[sizeof(struct gsm48_req_ref)+2]; + } + rqd->ta = rqd_hdr->data[sizeof(struct gsm48_req_ref)+2]; /* Determine channel request cause code */ - chreq_reason = get_reason_by_chreq(rqd_ref->ra, bts->network->neci); + rqd->reason = get_reason_by_chreq(rqd->ref.ra, bts->network->neci); LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", - get_value_string(gsm_chreq_descs, chreq_reason), rqd_ref->ra, bts->network->neci, chreq_reason); + get_value_string(gsm_chreq_descs, rqd->reason), rqd->ref.ra, bts->network->neci, rqd->reason); + + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL]); + + /* Enqueue request */ + llist_add_tail(&rqd->list, &bts->chan_rqd_queue); + return 0; +} + +/* Find any busy TCH/H or TCH/F lchan, prefer established and old lchans */ +static struct gsm_lchan *get_any_lchan(struct gsm_bts *bts) +{ + int trx_nr; + int ts_nr; + struct gsm_bts_trx *trx; + struct gsm_bts_trx_ts *ts; + struct gsm_lchan *lchan_est = NULL; + struct gsm_lchan *lchan_any = NULL; + struct gsm_lchan *lchan; + + for (trx_nr = 0; trx_nr < bts->num_trx; trx_nr++) { + trx = gsm_bts_trx_num(bts, trx_nr); + for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { + ts = &trx->ts[ts_nr]; + ts_for_each_lchan(lchan, ts) { + if (lchan->type == GSM_LCHAN_TCH_F || lchan->type == GSM_LCHAN_TCH_H) { + if (bts->chan_alloc_reverse) { + if (lchan->fi->state == LCHAN_ST_ESTABLISHED) + lchan_est = lchan; + else + lchan_any = lchan; + } else { + if (lchan->fi->state == LCHAN_ST_ESTABLISHED) { + if (!lchan_est) + lchan_est = lchan; + } else { + if (!lchan_any) + lchan_any = lchan; + } + } + } + } + } + } + + if (lchan_est) + return lchan_est; + else if (lchan_any) + return lchan_any; + return NULL; +} + +/* Ensure that an incoming emergency call gets priority, if all voice channels + * are busy, terminate one regular call */ +static int handle_emergency_call(struct chan_rqd *rqd) +{ + /* If the request is not about an emergency call, we may exit early, + * without doing anything. */ + if(rqd->reason != GSM_CHREQ_REASON_EMERG) + return 0; + + /* First check the situation on the BTS, if we still have TCH/H or + * TCH/F resources available, then not action is required. */ + if (lchan_select_avail(rqd->bts, GSM_LCHAN_TCH_F)) { + LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, + "CHAN RQD/EMERGENCY-PRIORITY: at least one TCH/F is (now) available!\n"); + return 0; + } + if (lchan_select_avail(rqd->bts, GSM_LCHAN_TCH_H)) { + LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, + "CHAN RQD/EMERGENCY-PRIORITY: at least one TCH/H is (now) available!\n"); + return 0; + } + + if (!rqd->relasing) { + /* Pick any busy TCH/F or TCH/H lchan and inititate a channel + * release to make room for the incoming emergency call */ + rqd->lchan = get_any_lchan(rqd->bts); + if (!rqd->lchan) { + /* It can not happen that we first find out that there + * is no TCH/H or TCH/F available and at the same time + * we ware unable to find any busy TCH/H or TCH/F. In + * this case, the BTS probably does not have any + * voice channels configured? */ + LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, + "CHAN RQD/EMERGENCY-PRIORITY: no TCH/H or TCH/F available - check VTY config!\n"); + return 0; + } + + LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, + "CHAN RQD/EMERGENCY-PRIORITY: inducing termination of lchan %s (state:%s) in favor of incoming EMERGENCY CALL!\n", + gsm_lchan_name(rqd->lchan), osmo_fsm_inst_state_name(rqd->lchan->fi)); + + lchan_release(rqd->lchan, !!(rqd->lchan->conn), true, 0); + rqd->relasing = true; + } else { + if (!rqd->lchan->fi) { + LOG_BTS(rqd->bts, DRSL, LOGL_ERROR, + "CHAN RQD/EMERGENCY-PRIORITY: lchan %s has lost its FSM - skipping!\n", + gsm_lchan_name(rqd->lchan)); + return 0; + } + + LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, + "CHAN RQD/EMERGENCY-PRIORITY: still terminating lchan %s (state:%s) in favor of incoming EMERGENCY CALL!\n", + gsm_lchan_name(rqd->lchan), osmo_fsm_inst_state_name(rqd->lchan->fi)); + + /* If the channel was released in error (not established), the + * lchan FSM automatically blocks the LCHAN for a short time. + * This is not acceptable in an emergency situation, so we skip + * this waiting period. */ + if (rqd->lchan->fi->state == LCHAN_ST_WAIT_AFTER_ERROR) + lchan_fsm_skip_error(rqd->lchan); + } + + return -1; +} + +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) +{ + struct lchan_activate_info info; + enum gsm_chan_t lctype; + struct gsm_lchan *lchan; + struct llist_head *lh_rqd; + struct chan_rqd *rqd; + + if (llist_empty(&bts->chan_rqd_queue)) { + return 0; + } + lh_rqd = bts->chan_rqd_queue.next; + if(!lh_rqd) + return 0; + rqd = llist_entry(lh_rqd, struct chan_rqd, list); /* Handle PDCH related rach requests (in case of BSC-co-located-PCU */ - if (chreq_reason == GSM_CHREQ_REASON_PDCH) - return rsl_rx_pchan_rqd(msg, bts); + if (rqd->reason == GSM_CHREQ_REASON_PDCH) + return rsl_rx_pchan_rqd(rqd); + + /* Ensure that emergency calls will get priority over regular calls */ + if (handle_emergency_call(rqd) < 0) + return 0; /* determine channel type (SDCCH/TCH_F/TCH_H) based on * request reference RA */ - lctype = get_ctype_by_chreq(bts->network, rqd_ref->ra); - - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL]); + lctype = get_ctype_by_chreq(bts->network, rqd->ref.ra); /* check availability / allocate channel * @@ -1402,30 +1544,45 @@ * - If there is still no channel available, try a TCH/F. * */ - if (chreq_reason == GSM_CHREQ_REASON_EMERG) { + if (rqd->reason == GSM_CHREQ_REASON_EMERG) { if (bts->si_common.rach_control.t2 & 0x4) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: MS attempts EMERGENCY CALL although EMERGENCY CALLS " "are not allowed in sysinfo (spec violation by MS!)\n"); - rsl_tx_imm_ass_rej(bts, rqd_ref); + rsl_tx_imm_ass_rej(bts, &rqd->ref); + llist_del(lh_rqd); + talloc_free(rqd); return -EINVAL; } } - lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + + /* If an emergency call is incoming, the preemption logic already + * has made sure that there is at least one TCH/F or TCH/H available, + * so we refrain from assigning an SDCCH first, assigning the TCH + * dirrectly is faster and safer in this case */ + if (rqd->reason == GSM_CHREQ_REASON_EMERG) + lchan = NULL; + else + lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); + gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); + gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", - gsm_lchant_name(lctype), rqd_ref->ra); + gsm_lchant_name(lctype), rqd->ref.ra); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL]); - rsl_tx_imm_ass_rej(bts, rqd_ref); + rsl_tx_imm_ass_rej(bts, &rqd->ref); + llist_del(lh_rqd); + talloc_free(rqd); return 0; } @@ -1433,17 +1590,19 @@ lchan->rqd_ref = talloc_zero(bts, struct gsm48_req_ref); OSMO_ASSERT(lchan->rqd_ref); - *(lchan->rqd_ref) = *rqd_ref; - lchan->rqd_ta = rqd_ta; + *(lchan->rqd_ref) = rqd->ref; + lchan->rqd_ta = rqd->ta; LOG_LCHAN(lchan, LOGL_DEBUG, "MS: Channel Request: reason=%s ra=0x%02x ta=%d\n", - gsm_chreq_name(chreq_reason), rqd_ref->ra, rqd_ta); + gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ .activ_for = FOR_MS_CHANNEL_REQUEST, .chan_mode = GSM48_CMODE_SIGN, }; lchan_activate(lchan, &info); + llist_del(lh_rqd); + talloc_free(rqd); return 0; } diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 4318b7e..ff85267 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -23,6 +23,7 @@ #include #include #include +#include const struct value_string bts_attribute_names[] = { OSMO_VALUE_STRING(BTS_TYPE_VARIANT), @@ -31,6 +32,14 @@ { 0, NULL } }; +/* timer call-back to poll CHAN RQD queue */ +static void chan_rqd_poll_cb(void *data) +{ + struct gsm_bts *bts = (struct gsm_bts *)data; + abis_rsl_chan_rqd_queue_poll(bts); + osmo_timer_schedule(&bts->chan_rqd_queue_timer, 0, 100000); +} + enum bts_attribute str2btsattr(const char *s) { return get_string_value(bts_attribute_names, s); @@ -319,6 +328,11 @@ INIT_LLIST_HEAD(&bts->loc_list); INIT_LLIST_HEAD(&bts->local_neighbors); INIT_LLIST_HEAD(&bts->oml_fail_rep); + INIT_LLIST_HEAD(&bts->chan_rqd_queue); + + /* Start CHAN RQD queue */ + osmo_timer_setup(&bts->chan_rqd_queue_timer, chan_rqd_poll_cb, bts); + osmo_timer_schedule(&bts->chan_rqd_queue_timer, 0, 0); /* Enable all codecs by default. These get reset to a more fine grained selection IF a * 'codec-support' config appears in the config file (see bsc_vty.c). */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index db72651..ea4a115 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1479,6 +1479,13 @@ } } +void lchan_fsm_skip_error(struct gsm_lchan *lchan) +{ + struct osmo_fsm_inst *fi = lchan->fi; + if (fi->state == LCHAN_ST_WAIT_AFTER_ERROR) + lchan_fsm_state_chg(LCHAN_ST_UNUSED); +} + static int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index d2dba1b..6f73fbc 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -162,16 +162,11 @@ return lchan_select_by_type(bts, type); } -/* Return a matching lchan from a specific BTS that is currently available. The next logical step is - * lchan_activate() on it, which would possibly cause dynamic timeslot pchan switching, taken care of by - * the lchan and timeslot FSMs. */ -struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type) +static struct gsm_lchan *_get_lchan_by_type(struct gsm_bts *bts, enum gsm_chan_t type) { struct gsm_lchan *lchan = NULL; enum gsm_phys_chan_config first, first_cbch, second, second_cbch; - LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); - switch (type) { case GSM_LCHAN_SDCCH: if (bts->chan_alloc_reverse) { @@ -231,6 +226,20 @@ LOG_BTS(bts, DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); } + return lchan; +} + +/* Return a matching lchan from a specific BTS that is currently available. The next logical step is + * lchan_activate() on it, which would possibly cause dynamic timeslot pchan switching, taken care of by + * the lchan and timeslot FSMs. */ +struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type) +{ + struct gsm_lchan *lchan = NULL; + + LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); + + lchan = _get_lchan_by_type(bts, type); + if (lchan) { lchan->type = type; LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); @@ -240,3 +249,18 @@ return lchan; } + +/* Look through the available BTS resources and tell if a desired channel type would be available */ +bool lchan_select_avail(struct gsm_bts *bts, enum gsm_chan_t type) +{ + struct gsm_lchan *lchan = NULL; + + LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_avail(%s)\n", gsm_lchant_name(type)); + + lchan = _get_lchan_by_type(bts, type); + + if (lchan) + return true; + + return false; +} diff --git a/src/utils/bs11_config.c b/src/utils/bs11_config.c index c279179..db804d5 100644 --- a/src/utils/bs11_config.c +++ b/src/utils/bs11_config.c @@ -995,3 +995,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/src/utils/meas_json.c b/src/utils/meas_json.c index b44a300..6c9d438 100644 --- a/src/utils/meas_json.c +++ b/src/utils/meas_json.c @@ -210,3 +210,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/tests/abis/abis_test.c b/tests/abis/abis_test.c index 9d26edd..e87564e 100644 --- a/tests/abis/abis_test.c +++ b/tests/abis/abis_test.c @@ -196,3 +196,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/tests/acc/acc_test.c b/tests/acc/acc_test.c index 72d3212..e92972d 100644 --- a/tests/acc/acc_test.c +++ b/tests/acc/acc_test.c @@ -65,6 +65,8 @@ osmo_timer_del(&bts->acc_mgr.rotate_timer); if (osmo_timer_pending(&bts->acc_ramp.step_timer)) osmo_timer_del(&bts->acc_ramp.step_timer); + if (osmo_timer_pending(&bts->chan_rqd_queue_timer)) + osmo_timer_del(&bts->chan_rqd_queue_timer); /* no need to llist_del(&bts->list), we never registered the bts there. */ talloc_free(bts); fprintf(stderr, "BTS deallocated OK in %s()\n", msg); @@ -531,3 +533,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index dd2b1bb..e387c37 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -245,3 +245,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 35531f8..18ee788 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -142,6 +142,8 @@ rate_ctr_group_free(bts->bts_ctrs); if (osmo_timer_pending(&bts->acc_mgr.rotate_timer)) osmo_timer_del(&bts->acc_mgr.rotate_timer); + if (osmo_timer_pending(&bts->chan_rqd_queue_timer)) + osmo_timer_del(&bts->chan_rqd_queue_timer); /* no need to llist_del(&bts->list), we never registered the bts there. */ talloc_free(bts); printf("BTS deallocated OK in %s()\n", msg); @@ -976,3 +978,4 @@ int rsl_sacch_filling(struct gsm_bts_trx *trx, uint8_t type, const uint8_t *data, int len) { return 0; } int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } diff --git a/tests/nanobts_omlattr/nanobts_omlattr_test.c b/tests/nanobts_omlattr/nanobts_omlattr_test.c index ea98409..975c280 100644 --- a/tests/nanobts_omlattr/nanobts_omlattr_test.c +++ b/tests/nanobts_omlattr/nanobts_omlattr_test.c @@ -325,3 +325,4 @@ int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo_sysinfo_type si_type, const uint8_t *data, int len) { return 0; } int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type) { return 0; } +int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36 Gerrit-Change-Number: 19793 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 Aug 21 21:19:53 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 21 Aug 2020 21:19:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: test emergency call preemption References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 ) Change subject: BSC_Tests: test emergency call preemption ...................................................................... BSC_Tests: test emergency call preemption Fill all channels of the BTS and then try to do a channel request for an emergency call. Osmo-bsc should pick one of the TCH channels and release it so that there is room for the emergency call. Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13 Related: OS#4549 --- M bsc/BSC_Tests.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/19794/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 003df49..375b85d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6285,6 +6285,48 @@ vc_conn.done; } +/* Test what happens when an emergency call arrives while all TCH channels are + * busy, the BSC is expected to terminate one call in favor of the incoming + * emergency call */ +testcase TC_emerg_premption() runs on test_CT { + var ASP_RSL_Unitdata rsl_ud; + var integer i; + var integer chreq_total, chreq_nochan; + var RSL_Message rx_rsl; + var RslChannelNr chan_nr; + + f_init(1); + f_sleep(1.0); + + f_vty_allow_emerg_msc(true); + f_vty_allow_emerg_bts(true, 0); + + /* Fill up all channels on the BTS */ + chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total"); + chreq_nochan := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:no_channel"); + for (i := 0; i < NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS; i := i+1) { + chan_nr := f_chreq_act_ack('33'O, i); + } + IPA_RSL[0].clear; + f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total", + chreq_total + NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS); + + /* Send Channel request for emegergency call */ + f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23)); + + /* Expect the BSC to release one (the first) TCH/F on the BTS */ + chan_nr := valueof(t_RslChanNr_Bm(1)); + f_expect_chan_rel(0, chan_nr, expect_rr_chan_rel := false, expect_rll_rel_req := false); + + /* Expect the BSC to send activate/assign the a channel for the emergency call */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + chan_nr := rx_rsl.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 33)); + rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + setverdict(pass); +} + /* Dyn PDCH todo: * activate OSMO as TCH/F * activate OSMO as TCH/H @@ -6506,6 +6548,8 @@ execute( TC_assignment_emerg_setup_allow() ); execute( TC_assignment_emerg_setup_deny_msc() ); execute( TC_assignment_emerg_setup_deny_bts() ); + execute( TC_emerg_premption() ); + } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13 Gerrit-Change-Number: 19794 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 Aug 21 21:42:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 21:42:42 +0000 Subject: Change in osmo-pcu[master]: encoding: implement handing of hopping parameters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19788 ) Change subject: encoding: implement handing of hopping parameters ...................................................................... Patch Set 1: > https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-pcu/1276/ : FAILURE LOL, all unit tests pass when compiled with ASan, but 'types' fails when compiled without. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8adc0cdb1b05a87b4df5d4bc196f6d381283a06f Gerrit-Change-Number: 19788 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:42: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 Aug 21 21:50:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:50:53 +0000 Subject: Change in osmo-mgw[master]: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19777 ) Change subject: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If6c7ecdde09c6e09ded7e0959b7765a01a31d702 Gerrit-Change-Number: 19777 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21: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 Fri Aug 21 21:50:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:50:56 +0000 Subject: Change in osmo-mgw[master]: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19777 ) Change subject: configure.ac: require libosmoabis + libosmotrau >= 1.0.0 ...................................................................... configure.ac: require libosmoabis + libosmotrau >= 1.0.0 Since osmo-mgw supports trau frames it requries a newer version. The spec file already requires those newer version. Change-Id: If6c7ecdde09c6e09ded7e0959b7765a01a31d702 --- M configure.ac 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 9aba2ed..83885d4 100644 --- a/configure.ac +++ b/configure.ac @@ -52,8 +52,8 @@ PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) -PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) -PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.6.0) +PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 1.0.0) +PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 1.0.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If6c7ecdde09c6e09ded7e0959b7765a01a31d702 Gerrit-Change-Number: 19777 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus 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 Aug 21 21:53:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:53:42 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 2: Paul is formally correct, but the code looks so mich uglier Witz the PRIu32 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21:53: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 Aug 21 21:53:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:53:57 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:53:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 21:54:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:54:16 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: constify the argument of pcu_rx_info_ind() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19727 ) Change subject: pcu_l1_if: constify the argument of pcu_rx_info_ind() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f Gerrit-Change-Number: 19727 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:54: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 Aug 21 21:54:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:54:37 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19728 ) Change subject: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b Gerrit-Change-Number: 19728 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:54:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 21:54:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:54:56 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19729 ) Change subject: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 Gerrit-Change-Number: 19729 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:54:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 21:55:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:55:10 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19774 ) Change subject: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I26ad0e990f6bf049a14f63b1255722d60c7ff868 Gerrit-Change-Number: 19774 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21:55:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 21:57:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:57:15 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19783 ) Change subject: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance ...................................................................... Patch Set 1: Code-Review+1 It may be that the specs already use inconsistent Name formatting. In that case we might want to keep it like the spec. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd Gerrit-Change-Number: 19783 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21:57: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 Aug 21 21:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:57:37 +0000 Subject: Change in osmo-pcu[master]: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19776 ) Change subject: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a Gerrit-Change-Number: 19776 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21:57: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 Aug 21 21:58:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:58:53 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19775 ) Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... Patch Set 2: Interesting solution! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21:58: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 Fri Aug 21 21:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:58:59 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19775 ) Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 21: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 Fri Aug 21 21:59:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:59:14 +0000 Subject: Change in osmo-pcu[master]: encoding: constify 'tbf' in UL/DL assignment functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19730 ) Change subject: encoding: constify 'tbf' in UL/DL assignment functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b80ce22914a355592502c936046b233c3ba216d Gerrit-Change-Number: 19730 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:59: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 Aug 21 21:59:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 21:59:50 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 21:59: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 Aug 21 22:01:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 22:01:20 +0000 Subject: Change in osmo-pcu[master]: encoding: fix RRBP field in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19784 ) Change subject: encoding: fix RRBP field in write_packet_uplink_assignment() ...................................................................... Patch Set 1: Code-Review+1 Seems like we have no test coverage, if this kind of bug shows up? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 Gerrit-Change-Number: 19784 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 22:01: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 Aug 21 22:01:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 22:01:34 +0000 Subject: Change in osmo-pcu[master]: encoding: use bool for use_egprs in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19785 ) Change subject: encoding: use bool for use_egprs in write_packet_uplink_assignment() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab4fb44c666a0d4fe8c98f5ff9221e23a6f1f2fa Gerrit-Change-Number: 19785 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 22:01: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 Aug 21 22:03:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 22:03:48 +0000 Subject: Change in osmo-pcu[master]: encoding: fix RRBP field in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19784 ) Change subject: encoding: fix RRBP field in write_packet_uplink_assignment() ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Seems like we have no test coverage, if this kind of bug shows up? I am not sure if we support scheduling the ACK using a formula different than N+13... If yes, for sure we should add a test case. If not, well, let's wait for somebody who really needs this feature ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 Gerrit-Change-Number: 19784 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 22:03:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 22:04:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 22:04:51 +0000 Subject: Change in osmo-pcu[master]: encoding: use CSN.1 codec to generate Packet Uplink Assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19787 ) Change subject: encoding: use CSN.1 codec to generate Packet Uplink Assignment ...................................................................... Patch Set 1: This is the kind of change where you need good test coverage to know old and new are generating identical output -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2850b91e0043cdca8ae7498a5fc727eeedd029b6 Gerrit-Change-Number: 19787 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Aug 2020 22:04:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 22:06:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Aug 2020 22:06:26 +0000 Subject: Change in osmo-pcu[master]: encoding: implement handing of hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19788 ) Change subject: encoding: implement handing of hopping parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8adc0cdb1b05a87b4df5d4bc196f6d381283a06f Gerrit-Change-Number: 19788 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Aug 2020 22:06:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 21 22:08:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Aug 2020 22:08:25 +0000 Subject: Change in osmo-pcu[master]: encoding: pass pdch slot directly to encoding functions In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 to look at the new patch set (#2). Change subject: encoding: pass pdch slot directly to encoding functions ...................................................................... encoding: pass pdch slot directly to encoding functions In order to be able to encode frequency hopping parameters, let's pass a const pointer to 'gprs_rlcmac_pdch' (PDCH slot) directly, instead of passing all related parameters separately. Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Related: SYS#4868, OS#4547 --- M src/bts.cpp M src/encoding.cpp M src/encoding.h M tests/types/TypesTest.cpp 4 files changed, 34 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/19786/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Gerrit-Change-Number: 19786 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 22 01:37:51 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 22 Aug 2020 01:37:51 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f4076faab19b_6422b28160b65f866067a@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 libboard/qmod/source/wwan_perst.c] [ 162s] [COMPILING libboard/qmod/source/card_pres.c] [ 162s] [COMPILING libboard/qmod/source/wwan_led.c] [ 162s] [COMPILING libboard/qmod/source/i2c.c] [ 162s] [COMPILING libboard/qmod/source/board_qmod.c] [ 163s] [COMPILING apps/dfu/main.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 163s] Memory region Used Size Region Size %age Used [ 163s] rom: 16588 B 16 KB 101.25% [ 163s] 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' [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 163s] collect2: error: ld returned 1 exit status [ 163s] % [ 163s] make[2]: *** [Makefile:234: 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] [ 158.454479] sysrq: Power Off [ 166s] [ 158.463792] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb17 failed "build simtrace2_0.7.0.63.39070.dsc" at Sat Aug 22 01:37:40 UTC 2020. [ 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 Sat Aug 22 07:34:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 22 Aug 2020 07:34:19 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19795 ) Change subject: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif ...................................................................... contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/95/19795/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index b88d812..939a514 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,6 +31,7 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" +osmo-build-dep.sh libosmo-abis osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Gerrit-Change-Number: 19795 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 Aug 22 10:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Aug 2020 10:51:03 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19796 ) Change subject: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() ...................................................................... mncc_builtin: cosmetic: fix coding style in int_mncc_recv() Change-Id: Iffef3c094a5d030663d312a379e846a8eb917942 --- M src/libmsc/mncc_builtin.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/96/19796/1 diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index da096c6..286fb56 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -303,7 +303,7 @@ DEBUGP(DMNCC, "(call %x) Received message %s\n", call->callref, get_mncc_name(msg_type)); - switch(msg_type) { + switch (msg_type) { case MNCC_SETUP_IND: rc = mncc_setup_ind(call, arg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iffef3c094a5d030663d312a379e846a8eb917942 Gerrit-Change-Number: 19796 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 Aug 22 10:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Aug 2020 10:51:03 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: log type of unhandled message in int_mncc_recv() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19797 ) Change subject: mncc_builtin: log type of unhandled message in int_mncc_recv() ...................................................................... mncc_builtin: log type of unhandled message in int_mncc_recv() Change-Id: Ie65b2da4c3a13ac36132a2f8c9c85cc420c7a5a6 --- M src/libmsc/mncc_builtin.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/97/19797/1 diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index 286fb56..cc3f55d 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -370,7 +370,8 @@ rc = mncc_tx_to_cc(net, data); break; default: - LOGP(DMNCC, LOGL_NOTICE, "(call %x) Message unhandled\n", callref); + LOGP(DMNCC, LOGL_NOTICE, "(call %x) Message '%s' unhandled\n", + callref, get_mncc_name(msg_type)); break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie65b2da4c3a13ac36132a2f8c9c85cc420c7a5a6 Gerrit-Change-Number: 19797 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 23 01:37:43 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Aug 2020 01:37:43 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f41c8808eb32_6422b28160b65f8885232@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 libboard/qmod/source/wwan_perst.c] [ 158s] [COMPILING libboard/qmod/source/card_pres.c] [ 158s] [COMPILING libboard/qmod/source/wwan_led.c] [ 159s] [COMPILING libboard/qmod/source/i2c.c] [ 159s] [COMPILING libboard/qmod/source/board_qmod.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: 16588 B 16 KB 101.25% [ 160s] 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' [ 160s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 160s] collect2: error: ld returned 1 exit status [ 160s] % [ 160s] make[2]: *** [Makefile:234: 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] [ 154.461875] sysrq: Power Off [ 163s] [ 154.470354] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] lamb14 failed "build simtrace2_0.7.0.63.39070.dsc" at Sun Aug 23 01:37:38 UTC 2020. [ 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 Sun Aug 23 14:47:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Aug 2020 14:47:41 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c at 433 PS1, Line 433: c Please keep the original message formatting: s/can/Can/. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 Aug 2020 14:47: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 Sun Aug 23 14:48:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Aug 2020 14:48:38 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make internal functions static. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19791 ) Change subject: lchan_fsm: make internal functions static. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 Gerrit-Change-Number: 19791 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 Aug 2020 14:48:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 14:59:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Aug 2020 14:59:10 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make rsl mode-modify working again In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19792 ) Change subject: lchan_fsm: make rsl mode-modify working again ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h File include/osmocom/bsc/lchan_fsm.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h at 21 PS1, Line 21: LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK, : LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK What is the difference between these two states? It's obvious that the second one is somehow related to RSL MT signalling, but what the first one is for? Also, 'MODIF' vs 'MODIFY' is inconsistent. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Gerrit-Change-Number: 19792 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 Aug 2020 14:59: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 Sun Aug 23 16:12:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Aug 2020 16:12:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 ) Change subject: library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned ...................................................................... library/PCUIF_Types: fixup: keep PCUIF_InfoV10Trx aligned Change-Id: I92ba84c5d1f77c86f7871c488965f6345c2dbbe2 Related: SYS#4868, OS#4547 --- M library/PCUIF_Types.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index aab5f09..8144d97 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -153,6 +153,7 @@ private type record PCUIF_InfoV10Trx { uint16_t arfcn, BIT8 pdch_mask, + OCT1 spare, uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; @@ -743,6 +744,7 @@ template (value) uint3_t tsc := 7) := { arfcn := arfcn, pdch_mask := pdch_mask, + spare := '00'O, hLayer1 := 0, ts := { ts_PCUIF_InfoTrxTsH0(tsc), ts_PCUIF_InfoTrxTsH0(tsc), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92ba84c5d1f77c86f7871c488965f6345c2dbbe2 Gerrit-Change-Number: 19782 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:03:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:03:23 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif 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-smlc/+/19795 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif ...................................................................... contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Related: OS#4626 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/95/19795/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Gerrit-Change-Number: 19795 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:03:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:03:24 +0000 Subject: Change in osmo-smlc[master]: fix build of usermanual References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19798 ) Change subject: fix build of usermanual ...................................................................... fix build of usermanual Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c --- M doc/manuals/Makefile.am M doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/vty/smlc_vty_reference.xml 3 files changed, 900 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/98/19798/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 5aa75fe..1072ab5 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -9,7 +9,7 @@ if BUILD_MANUALS ASCIIDOC = osmosmlc-usermanual.adoc include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc - osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc $(srcdir)/chapters/*.dot + osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc #$(srcdir)/chapters/*.dot VTY_REFERENCE = osmosmlc-vty-reference.xml diff --git a/doc/manuals/osmosmlc-usermanual.adoc b/doc/manuals/osmosmlc-usermanual.adoc index 1717659..0be3a23 100644 --- a/doc/manuals/osmosmlc-usermanual.adoc +++ b/doc/manuals/osmosmlc-usermanual.adoc @@ -26,8 +26,6 @@ // include::{srcdir}/chapters/control.adoc[] -include::{srcdir}/chapters/osmux_bsc.adoc[] - include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/doc/manuals/vty/smlc_vty_reference.xml b/doc/manuals/vty/smlc_vty_reference.xml new file mode 100644 index 0000000..61a1879 --- /dev/null +++ b/doc/manuals/vty/smlc_vty_reference.xml @@ -0,0 +1,899 @@ + + + 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-line + + + + + + + + + + + + + + + + + + + + + config-ctrl + + + + + + + + + config-cs7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-as + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-asp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-sccpaddr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-sccpaddr-gt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c Gerrit-Change-Number: 19798 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 Aug 23 19:19:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:19:20 +0000 Subject: Change in osmo-smlc[master]: fix build of usermanual 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-smlc/+/19798 to look at the new patch set (#2). Change subject: fix build of usermanual ...................................................................... fix build of usermanual Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c --- M doc/manuals/Makefile.am M doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/vty/smlc_vty_reference.xml M tests/Makefile.am A tests/test_nodes.ctrl M tests/test_nodes.vty 6 files changed, 902 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/98/19798/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c Gerrit-Change-Number: 19798 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:22:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:22:47 +0000 Subject: Change in osmo-smlc[master]: fix build of usermanual 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-smlc/+/19798 to look at the new patch set (#3). Change subject: fix build of usermanual ...................................................................... fix build of usermanual Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c --- M doc/manuals/Makefile.am M doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/vty/smlc_vty_reference.xml M tests/Makefile.am A tests/test_nodes.ctrl M tests/test_nodes.vty 6 files changed, 903 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/98/19798/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c Gerrit-Change-Number: 19798 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:26:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:26:01 +0000 Subject: Change in osmo-smlc[master]: fix build of usermanual In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19798 ) Change subject: fix build of usermanual ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c Gerrit-Change-Number: 19798 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 Aug 2020 19:26: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 Aug 23 19:26:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:26:16 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19795 ) Change subject: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Gerrit-Change-Number: 19795 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 Aug 2020 19:26:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:26:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:26:25 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19795 ) Change subject: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Gerrit-Change-Number: 19795 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:26:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:26:40 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19795 ) Change subject: contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif ...................................................................... contrib/jenkins.sh: Build libosmo-abis, a dependency of libosmo-netif Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Related: OS#4626 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index b88d812..939a514 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,6 +31,7 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" +osmo-build-dep.sh libosmo-abis osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19795 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I059434e778954a9491b8d66eff8be3699ddda6af Gerrit-Change-Number: 19795 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 23 19:26:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:26:41 +0000 Subject: Change in osmo-smlc[master]: fix build of usermanual In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19798 ) Change subject: fix build of usermanual ...................................................................... fix build of usermanual Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c --- M doc/manuals/Makefile.am M doc/manuals/osmosmlc-usermanual.adoc A doc/manuals/vty/smlc_vty_reference.xml M tests/Makefile.am A tests/test_nodes.ctrl M tests/test_nodes.vty 6 files changed, 903 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 5aa75fe..1072ab5 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -9,7 +9,7 @@ if BUILD_MANUALS ASCIIDOC = osmosmlc-usermanual.adoc include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc - osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc $(srcdir)/chapters/*.dot + osmosmlc-usermanual.pdf: $(srcdir)/chapters/*.adoc #$(srcdir)/chapters/*.dot VTY_REFERENCE = osmosmlc-vty-reference.xml diff --git a/doc/manuals/osmosmlc-usermanual.adoc b/doc/manuals/osmosmlc-usermanual.adoc index 1717659..0be3a23 100644 --- a/doc/manuals/osmosmlc-usermanual.adoc +++ b/doc/manuals/osmosmlc-usermanual.adoc @@ -26,8 +26,6 @@ // include::{srcdir}/chapters/control.adoc[] -include::{srcdir}/chapters/osmux_bsc.adoc[] - include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/doc/manuals/vty/smlc_vty_reference.xml b/doc/manuals/vty/smlc_vty_reference.xml new file mode 100644 index 0000000..61a1879 --- /dev/null +++ b/doc/manuals/vty/smlc_vty_reference.xml @@ -0,0 +1,899 @@ + + + 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-line + + + + + + + + + + + + + + + + + + + + + config-ctrl + + + + + + + + + config-cs7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-as + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-asp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-sccpaddr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-cs7-sccpaddr-gt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Makefile.am b/tests/Makefile.am index a9f7001..0cbf998 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -24,6 +24,7 @@ $(srcdir)/package.m4 \ $(TESTSUITE) \ test_nodes.vty \ + test_nodes.ctrl \ $(NULL) TESTSUITE = $(srcdir)/testsuite @@ -60,7 +61,7 @@ -rm -f $(CTRL_TEST_DB) osmo_verify_transcript_ctrl.py -v \ -p 4272 \ - -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc.cfg -l $(CTRL_TEST_DB)" \ + -r "$(top_builddir)/src/osmo-smlc/osmo-smlc -c $(top_srcdir)/doc/examples/osmo-smlc/osmo-smlc.cfg" \ $(U) $(srcdir)/*.ctrl -rm -f $(CTRL_TEST_DB) -rm $(CTRL_TEST_DB)-* diff --git a/tests/test_nodes.ctrl b/tests/test_nodes.ctrl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/test_nodes.ctrl diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 8ad784a..a378656 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -1,3 +1,3 @@ OsmoSMLC> enable -OsmoSMLC# +OsmoSMLC# configure terminal ... -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: Ibbe52ee595d13292ac2f2ef2b3477263894ed75c Gerrit-Change-Number: 19798 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 Sun Aug 23 19:29:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:29:04 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 Aug 2020 19: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 Sun Aug 23 19:29:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:29:35 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make internal functions static. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19791 ) Change subject: lchan_fsm: make internal functions static. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 Gerrit-Change-Number: 19791 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 23 Aug 2020 19: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 Sun Aug 23 19:33:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 23 Aug 2020 19:33:19 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make rsl mode-modify working again In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19792 ) Change subject: lchan_fsm: make rsl mode-modify working again ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h File include/osmocom/bsc/lchan_fsm.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h at 21 PS1, Line 21: LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK, : LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK > What is the difference between these two states? It's obvious that the second one is somehow related [?] the first one is about RR to the UE, the second one is about RSL to the BTS. MAybe include RR in the name of the first, and indeed use MODIFY consistently. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Gerrit-Change-Number: 19792 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 23 Aug 2020 19:33: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 gerrit-no-reply at lists.osmocom.org Mon Aug 24 00:49:57 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 00:49:57 +0000 Subject: Change in osmo-msc[master]: fix crash for unknown MI during Paging Response In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19722 ) Change subject: fix crash for unknown MI during Paging Response ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/19722/1/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/c/osmo-msc/+/19722/1/src/libmsc/gsm_04_08.c at 1189 PS1, Line 1189: /* Above MSC_A_USE_PAGING_RESPONSE may already have been removed by a forced release, put that use only > Shouldn't we simply avoid destroying the object during that forced release, to avoid this kind of pr [?] yes, you're right. We could still merge this as a measure to fix the pretty bad crash without affecting other code first, and keep OS#4724 open for fixing the forced refcount clear upon release? I don't recall the reason why I introduced such messed up refcount clearing, it could become complex. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Gerrit-Change-Number: 19722 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 00:49:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 00:58:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 00:58:08 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: neels has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... Removed Code-Review+2 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 00:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 00:59:05 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... Patch Set 2: removing +2 vote because the patch is non-trivial. There also is test fallout from this patch, so it is not ready at all. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 24 Aug 2020 00:59: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 Mon Aug 24 00:59:18 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 00:59:18 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: neels has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... Removed Code-Review+2 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 01:14:53 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 01:14:53 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... Patch Set 2: Code-Review+1 ok, this patch passes the tests after all. But let's reduce fixeria's vote to a +1 because this patch does introduce stricter MI checking in osmo-pcu, which is a non-trivial choice to make. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 24 Aug 2020 01: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 Mon Aug 24 01:15:21 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 01:15:21 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... Patch Set 4: previous patch set caused test fallout, fixed now -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 24 Aug 2020 01:15: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 Aug 24 01:22:55 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 01:22:55 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19761/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/19761/1//COMMIT_MSG at 11 PS1, Line 11: rejigger so that no leak is possible, ever. > rejigger? "rearrange" https://www.merriam-webster.com/dictionary/rejigger -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 01:22:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 24 01:36:21 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 24 Aug 2020 01:36:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f43199ce8337_6422b28160b65f812279e5@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: [ 105s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 105s] [COMPILING libboard/qmod/source/card_pres.c] [ 105s] [COMPILING libboard/qmod/source/wwan_led.c] [ 105s] [COMPILING libboard/qmod/source/i2c.c] [ 105s] [COMPILING libboard/qmod/source/board_qmod.c] [ 105s] [COMPILING apps/dfu/main.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 105s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 106s] Memory region Used Size Region Size %age Used [ 106s] rom: 16588 B 16 KB 101.25% [ 106s] 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' [ 106s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 106s] collect2: error: ld returned 1 exit status [ 106s] % [ 106s] make[2]: *** [Makefile:234: flash] Error 1 [ 106s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 106s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 106s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 106s] dh_auto_build: error: make -j1 returned exit code 2 [ 106s] make: *** [debian/rules:16: build] Error 25 [ 106s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 106s] ### VM INTERACTION START ### [ 109s] [ 102.381694] sysrq: Power Off [ 109s] [ 102.385073] reboot: Power down [ 109s] ### VM INTERACTION END ### [ 109s] [ 109s] sheep86 failed "build simtrace2_0.7.0.63.39070.dsc" at Mon Aug 24 01:36:05 UTC 2020. [ 109s] -- 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 Aug 24 05:19:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 05:19:53 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 05:19: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 Aug 24 07:28:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:28:30 +0000 Subject: Change in osmo-pcu[master]: encoding: pass pdch slot directly to encoding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19786 ) Change subject: encoding: pass pdch slot directly to encoding functions ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Gerrit-Change-Number: 19786 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07: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 Mon Aug 24 07:29:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:29:50 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: prioritize emergency calls over regular calls In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19793 ) Change subject: abis_rsl: prioritize emergency calls over regular calls ...................................................................... Patch Set 1: (8 comments) In terms of the general logic of this patch, can you please explan why you decided to make all channel request processin asynchronous? When working with the related feature request some months ago, I would have expected it to be sufficient to only queue/delay any channel requests if we face contention, i.e. if we try to allocate a channel but none is available anymore. So on an unloaded system, things would proceed in-line without a queue. Only if resource exhaustion is hit, and we have an emergency call incoming, we trigger release of an existing lchan and sit on a queue until the lchan release happens. The queue would then only enqueue emergency calls; normal RACH requests arriving concurrently would be rejected. As mentioned in the detailed comments below, I don't like introducing additional delays by means of a timer. It can be done, but I don't think it's very elegant. After all, entries in the queue are waiting for lchans to become available. So when a lchan is fully released, the queue coulds be triggered without a timer. This way we would continue immediately at a point in time when a lchan is available - also, at this point we are guaranteed that no other concurrent request might be grabbing that lchan (due to synchronous dispatch of the 'lchan release complete' event) At that point, as we *know* which exact lchan was released, we could actually avoid doing any allocation via the channel allocator, but directly use the just-released lchan. To make things even more "tight", we could introudce the concept of 'reserving' a channel, i.e. when an emergency RACH starts release of the lchan, we could store a back-pointr within that lchan to the specific 'struct chan_req'. So once the lchan is released, we know exactly for which emergency call it was reserved,... Those are all just some ideas. In the end its up to you to figure out which way you'd prefer. https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1331 PS1, Line 1331: bo I think all other members are self-explanatory, but this one maybe could deserver a one-line comment. https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1446 PS1, Line 1446: documentation of return value meaning https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1451 PS1, Line 1451: if(rqd->reason != GSM_CHREQ_REASON_EMERG) ws https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1491 PS1, Line 1491: skipping should we not attempt the next lchan in this case? What happens to the emergency call here? https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1519 PS1, Line 1519: if (llist_empty(&bts->chan_rqd_queue)) { : return 0; : } : lh_rqd = bts->chan_rqd_queue.next; : if(!lh_rqd) : return 0; please use the llist_first_entry_or_null() macro of linuxlist.h instead of re-implementing it inline here. https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1557 PS1, Line 1557: : lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); : : /* If an emergency call is incoming, the preemption logic already : * has made sure that there is at least one TCH/F or TCH/H available, : * so we refrain from assigning an SDCCH first, assigning the TCH : * dirrectly is faster and safer in this case */ : if (rqd->reason == GSM_CHREQ_REASON_EMERG) : lchan = NULL; : else this looks odd. We first unconditionally select a TCH_F channel, and then set lchan to NULL again? And in the non-emergency case, we select a SDCCH despite already selecting a TCH_F? To me it would make more sense to either select a TCH_F (emergency) or SDCCH (non-emergency)? https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/bts.c at 35 PS1, Line 35: /* timer call-back to poll CHAN RQD queue */ : static void chan_rqd_poll_cb(void *data) : { : struct gsm_bts *bts = (struct gsm_bts *)data; : abis_rsl_chan_rqd_queue_poll(bts); : osmo_timer_schedule(&bts->chan_rqd_queue_timer, 0, 100000); : } I don't really like the idea of the timer. If I understand it correctly, it will delay every channel request by 0.1 seconds, right? I don't have a complete solution in my mind yet, but somehow I think it must be possible without such a timer. Also, if we do have a timer that is always running and which should always fire in fixed periods (as opposed to a reconfigurable timer that's not running all the time, and at different intervals), osmo_timerfd might be the better choice. You start it once and it keeps firing at periodic intervals. https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/lchan_select.c at 254 PS1, Line 254: lchan_select_avail naming. We are not selecting a channel, as we are not returning it, or performing any action on it. We are determining if a lchan of given type is available. Something like 'lchan_is_available' would be more logical, IMHO. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36 Gerrit-Change-Number: 19793 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:29: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 Mon Aug 24 07:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:31:13 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07: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 Mon Aug 24 07:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:31:17 +0000 Subject: Change in osmo-bsc[master]: mscpool: fix refcount leak for unusual case of no bts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19761 ) Change subject: mscpool: fix refcount leak for unusual case of no bts ...................................................................... mscpool: fix refcount leak for unusual case of no bts by reading the code, I notice that a refcount on the subscr would be leaked if there were no bts. That is not realistically happening, but nevertheless rather rejigger so that no leak is possible, ever. Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index d5915f4..e7ef728 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -198,6 +198,7 @@ bool is_emerg = false; int16_t nri_v = -1; bool is_null_nri = false; + struct gsm_bts *bts; if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DRSL, LOGL_ERROR, "There is no GSM48 header here.\n"); @@ -221,10 +222,10 @@ } /* Has the subscriber been paged from a connected MSC? */ - if (pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) { + bts = conn_get_bts(conn); + if (bts && pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) { subscr = bsc_subscr_find_by_mi(conn->network->bsc_subscribers, &mi); - struct gsm_bts *bts = conn_get_bts(conn); - if (bts && subscr) { + if (subscr) { msc_target = paging_get_msc(bts, subscr); bsc_subscr_put(subscr); if (is_msc_usable(msc_target, is_emerg)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0b804b8136cd78a777ca02667f696cdefa90c4a9 Gerrit-Change-Number: 19761 Gerrit-PatchSet: 1 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 Mon Aug 24 07:32:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:32:34 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 24 Aug 2020 07:32: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 Aug 24 07:33:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:33:16 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 24 Aug 2020 07:33:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:33:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:33:20 +0000 Subject: Change in osmo-pcu[master]: use new osmo_mobile_identity api (avoid deprecation) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19767 ) Change subject: use new osmo_mobile_identity api (avoid deprecation) ...................................................................... use new osmo_mobile_identity api (avoid deprecation) Note: subsequent patch Iad845acb0096b75dc453105c9c16b2252879b4ca will change to passing a struct osmo_mobile_identity in the Paging code path, instead of passing the encoded IE data. Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/pdch.cpp 4 files changed, 37 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified neels: 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 22b4c08..c415dd4 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -369,9 +369,13 @@ NULL }; - - LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", - chan_needed, osmo_mi_name(mi, mi_len)); + if (log_check_level(DRLCMAC, LOGL_INFO)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, mi, mi_len, true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); + } /* collect slots to page * Mark slots for every TBF, but only mark one of it. diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index a4bcff3..a46852a 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -87,11 +87,16 @@ uint32_t tlli_old = 0; uint8_t *data; uint16_t len; - char imsi[OSMO_IMSI_BUF_SIZE] = "000"; uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; int rc; MS_Radio_Access_capability_t rac; + /* TODO: is it really necessary to initialize this as a "000" IMSI? It seems, the function should just return an + * error if no IMSI IE was found. */ + struct osmo_mobile_identity mi_imsi = { + .type = GSM_MI_TYPE_TMSI, + }; + OSMO_STRLCPY_ARRAY(mi_imsi.imsi, "000"); budh = (struct bssgp_ud_hdr *)msgb_bssgph(msg); tlli = ntohl(budh->tlli); @@ -116,10 +121,9 @@ * will listen to all paging blocks. */ if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { - /* gsm48_mi_to_string() returns number of bytes written, including '\0' */ - rc = gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI), - TLVP_LEN(tp, BSSGP_IE_IMSI)); - if (rc != GSM23003_IMSI_MAX_DIGITS + 1) { + rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), + true); + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_TMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); } @@ -160,9 +164,9 @@ "TLLI (old) IE\n"); } - LOGP(DBSSGP, LOGL_INFO, "LLC [SGSN -> PCU] = TLLI: 0x%08x IMSI: %s len: %d\n", tlli, imsi, len); + LOGP(DBSSGP, LOGL_INFO, "LLC [SGSN -> PCU] = TLLI: 0x%08x IMSI: %s len: %d\n", tlli, mi_imsi.imsi, len); - return gprs_rlcmac_dl_tbf::handle(the_pcu.bts, tlli, tlli_old, imsi, + return gprs_rlcmac_dl_tbf::handle(the_pcu.bts, tlli, tlli_old, mi_imsi.imsi, ms_class, egprs_ms_class, delay_csec, data, len); } @@ -212,7 +216,7 @@ static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { - char imsi[OSMO_IMSI_BUF_SIZE]; + struct osmo_mobile_identity mi_imsi; uint16_t pgroup; const uint8_t *mi; uint8_t mi_len; @@ -223,16 +227,14 @@ return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } - /* gsm48_mi_to_string() returns number of bytes written, including '\0' */ - rc = gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI), - TLVP_LEN(tp, BSSGP_IE_IMSI)); - if (rc != GSM23003_IMSI_MAX_DIGITS + 1) { + rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), true); + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_IMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - pgroup = imsi2paging_group(imsi); + pgroup = imsi2paging_group(mi_imsi.imsi); if (pgroup > 999) { - LOGP(DBSSGP, LOGL_NOTICE, "Failed to compute IMSI %s paging group\n", imsi); + LOGP(DBSSGP, LOGL_NOTICE, "Failed to compute IMSI %s paging group\n", mi_imsi.imsi); return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index c890021..879ea85 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -34,8 +34,13 @@ int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup) { - LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", - osmo_mi_name(mi, mi_len)); + if (log_check_level(DRLCMAC, LOGL_NOTICE)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, mi, mi_len, true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", str); + } bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); int plen = Encoding::write_paging_request(paging_request, mi, mi_len); diff --git a/src/pdch.cpp b/src/pdch.cpp index b34f532..af84724 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -205,8 +205,13 @@ /* loop until message is full */ while (pag) { - LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", - osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); + if (log_check_level(DRLCMAC, LOGL_DEBUG)) { + struct osmo_mobile_identity omi = {}; + char str[64]; + osmo_mobile_identity_decode(&omi, pag->identity_lv + 1, pag->identity_lv[0], true); + osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", str); + } /* try to add paging */ if ((pag->identity_lv[1] & GSM_MI_TYPE_MASK) == GSM_MI_TYPE_TMSI) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19767 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb03b8e601160427944f434761ca59811d1fc12f Gerrit-Change-Number: 19767 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:33:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:33:21 +0000 Subject: Change in osmo-pcu[master]: paging: pass struct osmo_mobile_identity, not encoded IE bytes In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19768 ) Change subject: paging: pass struct osmo_mobile_identity, not encoded IE bytes ...................................................................... paging: pass struct osmo_mobile_identity, not encoded IE bytes In get_paging_mi(), before this, an encoded buffer of Mobile Identity bytes is returned. Code paths following this repeatedly decode the Mobile Identity bytes, e.g. for logging. Also, in get_paging_mi(), since the TMSI is read in from a different encoding than a typical Mobile Identity IE, the TMSI was manually encoded into a typical Mobile Identity IE. This is essentially a code dup of osmo_mobile_identity_encode(). Stop this madness. Instead, in get_paging_mi(), return a decoded struct osmo_mobile_identity. Code paths after this use the struct osmo_mobile_identity directly without repeated decoding. At the point of finally needing an encoded Mobile Identity IE (in Encoding::write_paging_request()), do a proper osmo_mobile_identity_encode(). Since this may return errors, add an rc check for the caller of write_paging_request(), gprs_rlcmac_paging_request(). A side effect is stricter validation of the Mobile Identity passing through the Paging code path. Before, invalid MI might have passed through unnoticed. Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca --- M src/bts.cpp M src/bts.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h 10 files changed, 58 insertions(+), 40 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index c415dd4..76ca1b0 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -355,7 +355,7 @@ m_pollController.expireTimedout(fn, max_delay); } -int BTS::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len) +int BTS::add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi) { uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; @@ -370,10 +370,8 @@ }; if (log_check_level(DRLCMAC, LOGL_INFO)) { - struct osmo_mobile_identity omi = {}; char str[64]; - osmo_mobile_identity_decode(&omi, mi, mi_len, true); - osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); LOGP(DRLCMAC, LOGL_INFO, "Add RR paging: chan-needed=%d MI=%s\n", chan_needed, str); } @@ -419,7 +417,7 @@ for (ts = 0; ts < 8; ts++) { if ((slot_mask[trx] & (1 << ts))) { /* schedule */ - if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, mi, mi_len)) + if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, mi)) return -ENOMEM; LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); diff --git a/src/bts.h b/src/bts.h index edccc28..5a1b162 100644 --- a/src/bts.h +++ b/src/bts.h @@ -309,7 +309,7 @@ int current_frame_number() const; /** add paging to paging queue(s) */ - int add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len); + int add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi); gprs_rlcmac_dl_tbf *dl_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts); gprs_rlcmac_ul_tbf *ul_tbf_by_poll_fn(uint32_t fn, uint8_t trx, uint8_t ts); diff --git a/src/encoding.cpp b/src/encoding.cpp index 9dfd7c9..881dc61 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -30,6 +30,7 @@ extern "C" { #include #include +#include } #include @@ -720,8 +721,10 @@ } /* Generate paging request. See 44.018, sections 10 and 9.1.22 */ -int Encoding::write_paging_request(bitvec * dest, const uint8_t *mi, uint8_t mi_len) +int Encoding::write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi) { + uint8_t mi_buf[GSM48_MID_MAX_SIZE]; + int mi_len; unsigned wp = 0; int plen; @@ -732,8 +735,11 @@ bitvec_write_field(dest, &wp,0x0,4); // Page Mode bitvec_write_field(dest, &wp,0x0,4); // Channel Needed + mi_len = osmo_mobile_identity_encode_buf(mi_buf, sizeof(mi_buf), mi, true); + if (mi_len <= 0) + return mi_len; bitvec_write_field(dest, &wp, mi_len, 8); // Mobile Identity length - bitvec_set_bytes(dest, mi, mi_len); // Mobile Identity + bitvec_set_bytes(dest, mi_buf, mi_len); // Mobile Identity wp += mi_len * 8; OSMO_ASSERT(wp % 8 == 0); diff --git a/src/encoding.h b/src/encoding.h index 5bdd4ef..2f6b273 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -78,7 +78,7 @@ bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp); - static int write_paging_request(bitvec * dest, const uint8_t *mi, uint8_t mi_len); + static int write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi); static unsigned write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, uint8_t *identity, uint8_t chan_needed); diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index a46852a..14d1a9d 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -171,11 +171,8 @@ } /* Returns 0 on success, suggested BSSGP cause otherwise */ -static unsigned int get_paging_mi(const uint8_t **mi, uint8_t *mi_len, - const struct tlv_parsed *tp) +static unsigned int get_paging_mi(struct osmo_mobile_identity *mi, const struct tlv_parsed *tp) { - static uint8_t tmsi_buf[GSM48_TMSI_LEN]; - /* Use TMSI (if present) or IMSI */ if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { /* Be safe against an evil SGSN - check the length */ @@ -185,14 +182,17 @@ } /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ - memcpy(tmsi_buf + 1, TLVP_VAL(tp, BSSGP_IE_TMSI), GSM23003_TMSI_NUM_BYTES); - tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; - - *mi_len = GSM48_TMSI_LEN; - *mi = tmsi_buf; + *mi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_TMSI, + }; + mi->tmsi = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TMSI)); } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { - *mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - *mi = TLVP_VAL(tp, BSSGP_IE_IMSI); + int rc = osmo_mobile_identity_decode(mi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), + true); + if (rc < 0 || mi->type != GSM_MI_TYPE_IMSI) { + LOGP(DBSSGP, LOGL_ERROR, "Invalid IMSI Mobile Identity\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } } else { LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); return BSSGP_CAUSE_MISSING_COND_IE; @@ -203,23 +203,21 @@ static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, struct tlv_parsed *tp) { - const uint8_t *mi; - uint8_t mi_len; + struct osmo_mobile_identity mi; int rc; uint8_t *chan_needed = (uint8_t *)TLVP_VAL(tp, BSSGP_IE_CHAN_NEEDED); - if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + if ((rc = get_paging_mi(&mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, mi, mi_len); + return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, &mi); } static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_mobile_identity mi_imsi; + struct osmo_mobile_identity paging_mi; uint16_t pgroup; - const uint8_t *mi; - uint8_t mi_len; int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { @@ -238,10 +236,10 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + if ((rc = get_paging_mi(&paging_mi, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); - return gprs_rlcmac_paging_request(mi, mi_len, pgroup); + return gprs_rlcmac_paging_request(&paging_mi, pgroup); } /* Receive a BSSGP PDU from a BSS on a PTP BVCI */ diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 879ea85..4fb75f7 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -32,18 +32,20 @@ extern void *tall_pcu_ctx; -int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup) +int gprs_rlcmac_paging_request(const struct osmo_mobile_identity *mi, uint16_t pgroup) { if (log_check_level(DRLCMAC, LOGL_NOTICE)) { - struct osmo_mobile_identity omi = {}; char str[64]; - osmo_mobile_identity_decode(&omi, mi, mi_len, true); - osmo_mobile_identity_to_str_buf(str, sizeof(str), &omi); + osmo_mobile_identity_to_str_buf(str, sizeof(str), mi); LOGP(DRLCMAC, LOGL_NOTICE, "TX: [PCU -> BTS] Paging Request (CCCH) MI=%s\n", str); } bitvec *paging_request = bitvec_alloc(22, tall_pcu_ctx); bitvec_unhex(paging_request, DUMMY_VEC); - int plen = Encoding::write_paging_request(paging_request, mi, mi_len); + int plen = Encoding::write_paging_request(paging_request, mi); + if (plen <= 0) { + LOGP(DRLCMAC, LOGL_ERROR, "TX: [PCU -> BTS] Failed to encode Paging Request\n"); + return -1; + } pcu_l1if_tx_pch(paging_request, plen, pgroup); bitvec_free(paging_request); diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 789b8db..6587c40 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -93,7 +93,7 @@ int gprs_rlcmac_tx_ul_ud(gprs_rlcmac_tbf *tbf); -int gprs_rlcmac_paging_request(const uint8_t *mi, uint8_t mi_len, uint16_t pgroup); +int gprs_rlcmac_paging_request(const struct osmo_mobile_identity *mi, uint16_t pgroup); struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req); diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 7fa82fb..0712470 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -677,6 +677,9 @@ static int pcu_rx_pag_req(struct gsm_pcu_if_pag_req *pag_req) { + struct osmo_mobile_identity mi; + int rc; + LOGP(DL1IF, LOGL_DEBUG, "Paging request received: chan_needed=%d " "length=%d\n", pag_req->chan_needed, pag_req->identity_lv[0]); @@ -687,8 +690,13 @@ return -EINVAL; } - return BTS::main_bts()->add_paging(pag_req->chan_needed, &pag_req->identity_lv[1], - pag_req->identity_lv[0]); + rc = osmo_mobile_identity_decode(&mi, &pag_req->identity_lv[1], pag_req->identity_lv[0], true); + if (rc < 0) { + LOGP(DL1IF, LOGL_ERROR, "Failed to decode Mobile Identity in Paging Request (rc=%d)\n", rc); + return -EINVAL; + } + + return BTS::main_bts()->add_paging(pag_req->chan_needed, &mi); } static int pcu_rx_susp_req(struct gsm_pcu_if_susp_req *susp_req) diff --git a/src/pdch.cpp b/src/pdch.cpp index af84724..fbbeddc 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -266,15 +266,21 @@ return NULL; } -bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len) +bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi) { + int rc; struct gprs_rlcmac_paging *pag = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_paging); if (!pag) return false; pag->chan_needed = chan_needed; - pag->identity_lv[0] = mi_len; - memcpy(&pag->identity_lv[1], mi, mi_len); + rc = osmo_mobile_identity_encode_buf(pag->identity_lv + 1, sizeof(pag->identity_lv) - 1, mi, true); + if (rc <= 0) { + LOGP(DRLCMAC, LOGL_ERROR, "Cannot encode Mobile Identity (rc=%d)\n", rc); + talloc_free(pag); + return false; + } + pag->identity_lv[0] = rc; llist_add(&pag->list, &paging_list); diff --git a/src/pdch.h b/src/pdch.h index ec35174..e1e3688 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -48,7 +48,7 @@ struct gprs_rlcmac_paging *dequeue_paging(); struct msgb *packet_paging_request(); - bool add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len); + bool add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi); void free_resources(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19768 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad845acb0096b75dc453105c9c16b2252879b4ca Gerrit-Change-Number: 19768 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:34:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:34:25 +0000 Subject: Change in osmo-msc[master]: fix crash for unknown MI during Paging Response In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19722 ) Change subject: fix crash for unknown MI during Paging Response ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Gerrit-Change-Number: 19722 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:34: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 Aug 24 07:34:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:34:27 +0000 Subject: Change in osmo-msc[master]: fix crash for unknown MI during Paging Response In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19722 ) Change subject: fix crash for unknown MI during Paging Response ...................................................................... fix crash for unknown MI during Paging Response Related: OS#4724 Related: I40496bbccbbd9c496cfa57df49e26f124a2b1554 (osmo-ttcn3-hacks) Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 --- M src/libmsc/gsm_04_08.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 15303b5..6bd82d0 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -1185,7 +1185,12 @@ vsub = msc_a_vsub(msc_a); if (!vsub) { LOG_MSC_A_CAT(msc_a, DRR, LOGL_ERROR, "subscriber not allowed to do a Paging Response\n"); - msc_a_put(msc_a, MSC_A_USE_PAGING_RESPONSE); + + /* Above MSC_A_USE_PAGING_RESPONSE may already have been removed by a forced release, put that use only + * if it still exists. (see msc_a_fsm_releasing_onenter()) */ + if (osmo_use_count_by(&msc_a->use_count, MSC_A_USE_PAGING_RESPONSE)) + msc_a_put(msc_a, MSC_A_USE_PAGING_RESPONSE); + return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19722 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Gerrit-Change-Number: 19722 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:35:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:35:34 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: log type of unhandled message in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19797 ) Change subject: mncc_builtin: log type of unhandled message in int_mncc_recv() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie65b2da4c3a13ac36132a2f8c9c85cc420c7a5a6 Gerrit-Change-Number: 19797 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:35: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 Aug 24 07:35:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:35:42 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19796 ) Change subject: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iffef3c094a5d030663d312a379e846a8eb917942 Gerrit-Change-Number: 19796 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:35:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:35:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:35:45 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19796 ) Change subject: mncc_builtin: cosmetic: fix coding style in int_mncc_recv() ...................................................................... mncc_builtin: cosmetic: fix coding style in int_mncc_recv() Change-Id: Iffef3c094a5d030663d312a379e846a8eb917942 --- M src/libmsc/mncc_builtin.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index da096c6..286fb56 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -303,7 +303,7 @@ DEBUGP(DMNCC, "(call %x) Received message %s\n", call->callref, get_mncc_name(msg_type)); - switch(msg_type) { + switch (msg_type) { case MNCC_SETUP_IND: rc = mncc_setup_ind(call, arg); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19796 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iffef3c094a5d030663d312a379e846a8eb917942 Gerrit-Change-Number: 19796 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 Mon Aug 24 07:35:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:35:46 +0000 Subject: Change in osmo-msc[master]: mncc_builtin: log type of unhandled message in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19797 ) Change subject: mncc_builtin: log type of unhandled message in int_mncc_recv() ...................................................................... mncc_builtin: log type of unhandled message in int_mncc_recv() Change-Id: Ie65b2da4c3a13ac36132a2f8c9c85cc420c7a5a6 --- M src/libmsc/mncc_builtin.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index 286fb56..cc3f55d 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -370,7 +370,8 @@ rc = mncc_tx_to_cc(net, data); break; default: - LOGP(DMNCC, LOGL_NOTICE, "(call %x) Message unhandled\n", callref); + LOGP(DMNCC, LOGL_NOTICE, "(call %x) Message '%s' unhandled\n", + callref, get_mncc_name(msg_type)); break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie65b2da4c3a13ac36132a2f8c9c85cc420c7a5a6 Gerrit-Change-Number: 19797 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 Mon Aug 24 07:36:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:36:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: test emergency call preemption In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 ) Change subject: BSC_Tests: test emergency call preemption ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13 Gerrit-Change-Number: 19794 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07: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 Mon Aug 24 07:36:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:36:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: test emergency call preemption In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 ) Change subject: BSC_Tests: test emergency call preemption ...................................................................... BSC_Tests: test emergency call preemption Fill all channels of the BTS and then try to do a channel request for an emergency call. Osmo-bsc should pick one of the TCH channels and release it so that there is room for the emergency call. Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13 Related: OS#4549 --- M bsc/BSC_Tests.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0e76476..61b700c 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6285,6 +6285,48 @@ vc_conn.done; } +/* Test what happens when an emergency call arrives while all TCH channels are + * busy, the BSC is expected to terminate one call in favor of the incoming + * emergency call */ +testcase TC_emerg_premption() runs on test_CT { + var ASP_RSL_Unitdata rsl_ud; + var integer i; + var integer chreq_total, chreq_nochan; + var RSL_Message rx_rsl; + var RslChannelNr chan_nr; + + f_init(1); + f_sleep(1.0); + + f_vty_allow_emerg_msc(true); + f_vty_allow_emerg_bts(true, 0); + + /* Fill up all channels on the BTS */ + chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total"); + chreq_nochan := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:no_channel"); + for (i := 0; i < NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS; i := i+1) { + chan_nr := f_chreq_act_ack('33'O, i); + } + IPA_RSL[0].clear; + f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total", + chreq_total + NUM_TCHF_PER_BTS + NUM_TCHH_PER_BTS + NUM_SDCCH_PER_BTS); + + /* Send Channel request for emegergency call */ + f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23)); + + /* Expect the BSC to release one (the first) TCH/F on the BTS */ + chan_nr := valueof(t_RslChanNr_Bm(1)); + f_expect_chan_rel(0, chan_nr, expect_rr_chan_rel := false, expect_rll_rel_req := false); + + /* Expect the BSC to send activate/assign the a channel for the emergency call */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + chan_nr := rx_rsl.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 33)); + rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + setverdict(pass); +} + /* Dyn PDCH todo: * activate OSMO as TCH/F * activate OSMO as TCH/H @@ -6506,6 +6548,8 @@ execute( TC_assignment_emerg_setup_allow() ); execute( TC_assignment_emerg_setup_deny_msc() ); execute( TC_assignment_emerg_setup_deny_bts() ); + execute( TC_emerg_premption() ); + } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19794 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d544680f492cb825d909b86b2e1131ab652df13 Gerrit-Change-Number: 19794 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:36:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:36:42 +0000 Subject: Change in osmo-smlc[master]: contrib/jenkins.sh: remove libosmo-netif; it's not used here In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-smlc/+/19781 ) Change subject: contrib/jenkins.sh: remove libosmo-netif; it's not used here ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/19781 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-smlc Gerrit-Branch: master Gerrit-Change-Id: I8fcc171bb86525ab25d39ee47adddcd15d401826 Gerrit-Change-Number: 19781 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:39:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:39:11 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/19771/1/ttcn3-stp-test/jenkins.sh File ttcn3-stp-test/jenkins.sh: https://gerrit.osmocom.org/c/docker-playground/+/19771/1/ttcn3-stp-test/jenkins.sh at 19 PS1, Line 19: --ip 172.18.19.200 --ip6 fd02:db8:19::200 it might be an idea to introdcue some shell function to jenkins-common.sh which generates those addresses, i.e. you pass in just the '200' and it generates the IP addresses and possibly even the --ip --ip6 with it. And if one does that, one could also include the '--network $NET_NAME' at the same time. We'd then call that shell function with '19' and '200' and it would expand? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:39:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:39:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:39:31 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran.c: Remove unused #defines In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19778 ) Change subject: osmo_bsc_sigtran.c: Remove unused #defines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21f27f67815190020f3860a9fbb5f4f1fd78a57 Gerrit-Change-Number: 19778 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:39:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:39:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:39:34 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran.c: Remove unused #defines In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19778 ) Change subject: osmo_bsc_sigtran.c: Remove unused #defines ...................................................................... osmo_bsc_sigtran.c: Remove unused #defines Change-Id: Ic21f27f67815190020f3860a9fbb5f4f1fd78a57 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 57a4da5..657413a 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -41,9 +41,6 @@ * (a copy of the pointer location submitted with osmo_bsc_sigtran_init() */ static struct llist_head *msc_list; -#define RESET_INTERVAL 1 /* sek */ -#define SCCP_MSG_MAXSIZE 1024 -#define CS7_POINTCODE_DEFAULT_OFFSET 2 #define DEFAULT_ASP_REMOTE_IP "127.0.0.1" /* The SCCP stack will not assign connection IDs to us automatically, we -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19778 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic21f27f67815190020f3860a9fbb5f4f1fd78a57 Gerrit-Change-Number: 19778 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:40:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:40:49 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:40: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 Aug 24 07:40:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:40:53 +0000 Subject: Change in osmo-iuh[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/19742 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f --- M src/hnbgw.c 1 file changed, 1 insertion(+), 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/src/hnbgw.c b/src/hnbgw.c index a47decd..9e0b33b 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -598,7 +598,7 @@ ranap_set_log_area(DRANAP); - rc = hnbgw_cnlink_init(g_hnb_gw, "127.0.0.1", M3UA_PORT, NULL); + rc = hnbgw_cnlink_init(g_hnb_gw, "localhost", M3UA_PORT, "localhost"); if (rc < 0) { LOGP(DMAIN, LOGL_ERROR, "Failed to initialize SCCP link to CN\n"); exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/19742 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3c07e6aa0c87b752c9ea22eb4936f6993de6571f Gerrit-Change-Number: 19742 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 Aug 24 07:41:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:06 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:41:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:41:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:11 +0000 Subject: Change in osmo-sgsn[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 --- M src/sgsn/sgsn_main.c 1 file changed, 2 insertions(+), 2 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/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 257c3a2..3044f95 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -532,8 +532,8 @@ "OsmoSGSN", (23 << 3) + 4, OSMO_SS7_ASP_PROT_M3UA, - 0, NULL, - 0, "127.0.0.1"); + 0, "localhost", + 0, "localhost"); if (!sccp) { printf("Setting up SCCP client failed.\n"); return 8; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19741 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2f599e1aa449d44136ef20ba5f516ca9b61f3223 Gerrit-Change-Number: 19741 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 Aug 24 07:41:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:26 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:41: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 Aug 24 07:41:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:36 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:41: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 Aug 24 07:41:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:41 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19735 ) Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:41: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 Aug 24 07:41:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:44 +0000 Subject: Change in osmo-bsc[master]: Count handover per BTS as well as per BSC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19736 ) Change subject: Count handover per BTS as well as per BSC ...................................................................... Count handover per BTS as well as per BSC Our current handover counters only count success/failures per BSC. It would be nice to also count which BTS is part of a (successful/failed) handover. This patch duplicates the BSC counters for the BTS and changes the ho_count and related macros to also count per BTS. If a BTS is NULL (when conn->lchan is NULL) counting for the BTS is ignored. Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 3 files changed, 132 insertions(+), 24 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/bsc/bts.h b/include/osmocom/bsc/bts.h index 16053a3..46a173d 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -68,6 +68,25 @@ BTS_CTR_ASSIGNMENT_TIMEOUT, BTS_CTR_ASSIGNMENT_FAILED, BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_HANDOVER_ATTEMPTED, + BTS_CTR_HANDOVER_COMPLETED, + BTS_CTR_HANDOVER_STOPPED, + BTS_CTR_HANDOVER_NO_CHANNEL, + BTS_CTR_HANDOVER_TIMEOUT, + BTS_CTR_HANDOVER_FAILED, + BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, + BTS_CTR_INTER_BSC_HO_OUT_STOPPED, + BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_ERROR, + BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_IN_COMPLETED, + BTS_CTR_INTER_BSC_HO_IN_STOPPED, + BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BTS_CTR_INTER_BSC_HO_IN_FAILED, + BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, + BTS_CTR_INTER_BSC_HO_IN_ERROR, }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -127,6 +146,34 @@ [BTS_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, [BTS_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, + [BTS_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, + [BTS_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, + [BTS_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, + [BTS_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, + [BTS_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, + [BTS_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, + [BTS_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, + + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", + "Attempts to handover to remote BSS"}, + [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", + "Handover to remote BSS completed"}, + [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, + [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", + "Handover to remote BSS failed for other reason"}, + + [BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", + "Attempts to handover from remote BSS"}, + [BTS_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", + "Handover from remote BSS completed"}, + [BTS_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, + [BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO"}, + [BTS_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, + [BTS_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, + [BTS_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", + "Handover from remote BSS failed for other reason"}, }; static const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index bd0b534..04718da 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -382,7 +382,11 @@ return; case GSCON_EV_HANDOVER_START: + bts = conn_get_bts(conn); rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); + if (bts) + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); + /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) LOGPFSML(fi, LOGL_ERROR, "Cannot transition to HANDOVER state, discarding\n"); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8ed5945..c3cbd61 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -80,13 +80,29 @@ /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * This is a macro to preserve the source file and line number in logging. */ -#define ho_count(counter) do { \ - LOG_HO(conn, LOGL_DEBUG, "incrementing rate counter: %s %s\n", \ +#define ho_count_bsc(counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ } while(0) +/* Assume presence of local var 'conn' as struct gsm_subscriber_connection. + * Handles bts == NULL gracefully + * This is a macro to preserve the source file and line number in logging. */ +#define ho_count_bts(bts, counter) do { \ + LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ + bts_ctr_description[counter].name, \ + bts_ctr_description[counter].description); \ + if (bts) \ + rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + } while(0) + +#define ho_count(bts, counter) do { \ + ho_count_bsc(BSC_##counter); \ + ho_count_bts(bts, BTS_##counter); \ +} while(0) + static uint8_t g_next_ho_ref = 1; const char *handover_status(struct gsm_subscriber_connection *conn) @@ -341,6 +357,7 @@ struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; struct lchan_activate_info info; + struct gsm_bts *bts = conn_get_bts(conn); OSMO_ASSERT(ho->new_bts); OSMO_ASSERT(ho->new_lchan_type != GSM_LCHAN_NONE); @@ -357,7 +374,7 @@ else ho_fsm_update_id(fi, "intraBSC"); - ho_count(BSC_CTR_HANDOVER_ATTEMPTED); + ho_count(bts, CTR_HANDOVER_ATTEMPTED); if (!ho->new_lchan) { ho_fail(HO_RESULT_FAIL_NO_CHANNEL, @@ -570,8 +587,6 @@ return; } - ho_count(BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED); - /* Figure out which cell to handover to. */ for (match_idx = 0; ; match_idx++) { struct gsm_bts *bts; @@ -612,6 +627,8 @@ break; } + ho_count(ho->new_bts, CTR_INTER_BSC_HO_IN_ATTEMPTED); + if (!ho->new_bts) { ho_fail(HO_RESULT_ERROR, "No local cell matches the target %s", req->cell_id_target_name); @@ -660,31 +677,31 @@ lchan_activate(ho->new_lchan, &info); } -#define FUNC_RESULT_COUNTER(name) \ -static int result_counter_##name(enum handover_result result) \ +#define FUNC_RESULT_COUNTER(obj, name) \ +static int result_counter_##obj##_##name(enum handover_result result) \ { \ switch (result) { \ case HO_RESULT_OK: \ - return BSC_CTR_##name##_COMPLETED; \ + return obj##_CTR_##name##_COMPLETED; \ case HO_RESULT_FAIL_NO_CHANNEL: \ - return BSC_CTR_##name##_NO_CHANNEL; \ + return obj##_CTR_##name##_NO_CHANNEL; \ case HO_RESULT_FAIL_RR_HO_FAIL: \ - return BSC_CTR_##name##_FAILED; \ + return obj##_CTR_##name##_FAILED; \ case HO_RESULT_FAIL_TIMEOUT: \ - return BSC_CTR_##name##_TIMEOUT; \ + return obj##_CTR_##name##_TIMEOUT; \ case HO_RESULT_CONN_RELEASE: \ - return BSC_CTR_##name##_STOPPED; \ + return obj##_CTR_##name##_STOPPED; \ default: \ case HO_RESULT_ERROR: \ - return BSC_CTR_##name##_ERROR; \ + return obj##_CTR_##name##_ERROR; \ } \ } -FUNC_RESULT_COUNTER(ASSIGNMENT) -FUNC_RESULT_COUNTER(HANDOVER) -FUNC_RESULT_COUNTER(INTER_BSC_HO_IN) +FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) +FUNC_RESULT_COUNTER(BSC, HANDOVER) +FUNC_RESULT_COUNTER(BSC, INTER_BSC_HO_IN) -static int result_counter_INTER_BSC_HO_OUT(enum handover_result result) { +static int result_counter_BSC_INTER_BSC_HO_OUT(enum handover_result result) { switch (result) { case HO_RESULT_OK: return BSC_CTR_INTER_BSC_HO_OUT_COMPLETED; @@ -698,22 +715,59 @@ } } -static int result_counter(enum handover_scope scope, enum handover_result result) +static int result_counter_bsc(enum handover_scope scope, enum handover_result result) { switch (scope) { case HO_INTRA_CELL: - return result_counter_ASSIGNMENT(result); + return result_counter_BSC_ASSIGNMENT(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); /* use "normal" HO_INTRA_BSC counter... */ case HO_NO_HANDOVER: case HO_INTRA_BSC: - return result_counter_HANDOVER(result); + return result_counter_BSC_HANDOVER(result); case HO_INTER_BSC_OUT: - return result_counter_INTER_BSC_HO_OUT(result); + return result_counter_BSC_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: - return result_counter_INTER_BSC_HO_IN(result); + return result_counter_BSC_INTER_BSC_HO_IN(result); + } +} + +FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) +FUNC_RESULT_COUNTER(BTS, HANDOVER) +FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN) + +static int result_counter_BTS_INTER_BSC_HO_OUT(enum handover_result result) { + switch (result) { + case HO_RESULT_OK: + return BTS_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_TIMEOUT: + return BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT; + case HO_RESULT_CONN_RELEASE: + return BTS_CTR_INTER_BSC_HO_OUT_STOPPED; + default: + case HO_RESULT_ERROR: + return BTS_CTR_INTER_BSC_HO_OUT_ERROR; + } +} + +static int result_counter_bts(enum handover_scope scope, enum handover_result result) +{ + switch (scope) { + case HO_INTRA_CELL: + return result_counter_BTS_ASSIGNMENT(result); + default: + LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", + handover_scope_name(scope)); + /* use "normal" HO_INTRA_BSC counter... */ + case HO_NO_HANDOVER: + case HO_INTRA_BSC: + return result_counter_BTS_HANDOVER(result); + case HO_INTER_BSC_OUT: + return result_counter_BTS_INTER_BSC_HO_OUT(result); + case HO_INTER_BSC_IN: + return result_counter_BTS_INTER_BSC_HO_IN(result); } } @@ -787,6 +841,7 @@ { struct handover_decision_callbacks *hdc; struct handover *ho = &conn->ho; + struct gsm_bts *bts = conn_get_bts(conn); /* Sanity -- an error result ensures beyond doubt that we don't use the new lchan below * when the handover isn't actually allowed to change this conn. */ @@ -858,7 +913,8 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); - ho_count(result_counter(ho->scope, result)); + ho_count_bsc(result_counter_bsc(ho->scope, result)); + ho_count_bts(bts, result_counter_bts(ho->scope, result)); LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); @@ -1143,10 +1199,11 @@ int rc; struct handover *ho = &conn->ho; struct osmo_fsm_inst *fi = conn->ho.fi; + struct gsm_bts *bts = conn_get_bts(conn); ho->scope = HO_INTER_BSC_OUT; ho_fsm_update_id(fi, "interBSCout"); - ho_count(BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED); + ho_count(bts, CTR_INTER_BSC_HO_OUT_ATTEMPTED); rc = bsc_tx_bssmap_ho_required(conn->lchan, target_cells); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025ef14e2cfd2eea8880212c9406372ce0bf9296 Gerrit-Change-Number: 19736 Gerrit-PatchSet: 3 Gerrit-Owner: daniel 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 Aug 24 07:41:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:45 +0000 Subject: Change in osmo-bsc[master]: Count intra-cell and intra-bsc handover separately In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19734 ) Change subject: Count intra-cell and intra-bsc handover separately ...................................................................... Count intra-cell and intra-bsc handover separately Currently the counters don't distinguish between intra-cell and intra-bsc handover. Add _CTR_INTRA_CELL_HO_ and _CTR_INTRA_BSC_HO_ counters to track intra-cell/bsc handover separately. Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Related: SYS#4877 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/handover_fsm.c 4 files changed, 135 insertions(+), 70 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/bsc/bts.h b/include/osmocom/bsc/bts.h index 46a173d..dc51d17 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -75,6 +75,20 @@ BTS_CTR_HANDOVER_TIMEOUT, BTS_CTR_HANDOVER_FAILED, BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTRA_CELL_HO_ATTEMPTED, + BTS_CTR_INTRA_CELL_HO_COMPLETED, + BTS_CTR_INTRA_CELL_HO_STOPPED, + BTS_CTR_INTRA_CELL_HO_NO_CHANNEL, + BTS_CTR_INTRA_CELL_HO_TIMEOUT, + BTS_CTR_INTRA_CELL_HO_FAILED, + BTS_CTR_INTRA_CELL_HO_ERROR, + BTS_CTR_INTRA_BSC_HO_ATTEMPTED, + BTS_CTR_INTRA_BSC_HO_COMPLETED, + BTS_CTR_INTRA_BSC_HO_STOPPED, + BTS_CTR_INTRA_BSC_HO_NO_CHANNEL, + BTS_CTR_INTRA_BSC_HO_TIMEOUT, + BTS_CTR_INTRA_BSC_HO_FAILED, + BTS_CTR_INTRA_BSC_HO_ERROR, BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, BTS_CTR_INTER_BSC_HO_OUT_STOPPED, @@ -154,6 +168,22 @@ [BTS_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, [BTS_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, + [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, + [BTS_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, + [BTS_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, + [BTS_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, + [BTS_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, + [BTS_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, + [BTS_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, + + [BTS_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, + [BTS_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, + [BTS_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, + [BTS_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, + [BTS_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, + [BTS_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, + [BTS_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", "Attempts to handover to remote BSS"}, [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", @@ -211,6 +241,62 @@ BTS_STAT_TS_BORKEN, }; +static const struct osmo_stat_item_desc bts_stat_desc[] = { + [BTS_STAT_CHAN_LOAD_AVERAGE] = { "chanloadavg", "Channel load average", "%", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = { "chan_ccch_sdcch4:used", + "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = { "chan_ccch_sdcch4:total", + "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_USED] = { "chan_tch_f:used", + "Number of TCH/F channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_TOTAL] = { "chan_tch_f:total", + "Number of TCH/F channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_H_USED] = { "chan_tch_h:used", + "Number of TCH/H channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_H_TOTAL] = { "chan_tch_h:total", + "Number of TCH/H channels total", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_USED] = { "chan_sdcch8:used", + "Number of SDCCH8 channels used", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_TOTAL] = { "chan_sdcch8:total", + "Number of SDCCH8 channels total", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_USED] = { "chan_tch_f_pdch:used", + "Number of TCH/F_PDCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = { "chan_tch_f_pdch:total", + "Number of TCH/F_PDCH channels total", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = { "chan_ccch_sdcch4_cbch:used", + "Number of CCCH+SDCCH4+CBCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = { "chan_ccch_sdcch4_cbch:total", + "Number of CCCH+SDCCH4+CBCH channels total", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = { "chan_sdcch8_cbch:used", + "Number of SDCCH8+CBCH channels used", "", 16, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = { "chan_sdcch8_cbch:total", + "Number of SDCCH8+CBCH channels total", "", 16, 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 }, + [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 }, + [BTS_STAT_T3122] = { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", + "s", 16, GSM_T3122_DEFAULT }, + [BTS_STAT_RACH_BUSY] = { "rach_busy", + "RACH slots with signal above threshold", "%", 16, 0 }, + [BTS_STAT_RACH_ACCESS] = { "rach_access", + "RACH slots with access bursts in them", "%", 16, 0 }, + [BTS_STAT_OML_CONNECTED] = { "oml_connected", "Number of OML links connected", "", 16, 0 }, + [BTS_STAT_RSL_CONNECTED] = { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, + [BTS_STAT_LCHAN_BORKEN] = { "lchan_borken", + "Number of lchans in the BORKEN state", "", 16, 0 }, + [BTS_STAT_TS_BORKEN] = { "ts_borken", + "Number of timeslots in the BORKEN state", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc bts_statg_desc = { + .group_name_prefix = "bts", + .group_description = "base transceiver station", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bts_stat_desc), + .item_desc = bts_stat_desc, +}; + enum gsm_bts_type { GSM_BTS_TYPE_UNKNOWN, GSM_BTS_TYPE_BS11, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 9fdefc4..1dac670 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -969,6 +969,20 @@ BSC_CTR_HANDOVER_TIMEOUT, BSC_CTR_HANDOVER_FAILED, BSC_CTR_HANDOVER_ERROR, + BSC_CTR_INTRA_CELL_HO_ATTEMPTED, + BSC_CTR_INTRA_CELL_HO_COMPLETED, + BSC_CTR_INTRA_CELL_HO_STOPPED, + BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, + BSC_CTR_INTRA_CELL_HO_TIMEOUT, + BSC_CTR_INTRA_CELL_HO_FAILED, + BSC_CTR_INTRA_CELL_HO_ERROR, + BSC_CTR_INTRA_BSC_HO_ATTEMPTED, + BSC_CTR_INTRA_BSC_HO_COMPLETED, + BSC_CTR_INTRA_BSC_HO_STOPPED, + BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, + BSC_CTR_INTRA_BSC_HO_TIMEOUT, + BSC_CTR_INTRA_BSC_HO_FAILED, + BSC_CTR_INTRA_BSC_HO_ERROR, BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, BSC_CTR_INTER_BSC_HO_OUT_STOPPED, @@ -1008,6 +1022,22 @@ [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, + [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, + [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, + [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, + [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, + [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", "Attempts to handover to remote BSS"}, [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 4318b7e..a17143d 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -120,62 +120,6 @@ return 0; } -static const struct osmo_stat_item_desc bts_stat_desc[] = { - [BTS_STAT_CHAN_LOAD_AVERAGE] = { "chanloadavg", "Channel load average", "%", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = { "chan_ccch_sdcch4:used", - "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = { "chan_ccch_sdcch4:total", - "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_USED] = { "chan_tch_f:used", - "Number of TCH/F channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_TOTAL] = { "chan_tch_f:total", - "Number of TCH/F channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_H_USED] = { "chan_tch_h:used", - "Number of TCH/H channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_H_TOTAL] = { "chan_tch_h:total", - "Number of TCH/H channels total", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_USED] = { "chan_sdcch8:used", - "Number of SDCCH8 channels used", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_TOTAL] = { "chan_sdcch8:total", - "Number of SDCCH8 channels total", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_USED] = { "chan_tch_f_pdch:used", - "Number of TCH/F_PDCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = { "chan_tch_f_pdch:total", - "Number of TCH/F_PDCH channels total", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = { "chan_ccch_sdcch4_cbch:used", - "Number of CCCH+SDCCH4+CBCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = { "chan_ccch_sdcch4_cbch:total", - "Number of CCCH+SDCCH4+CBCH channels total", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = { "chan_sdcch8_cbch:used", - "Number of SDCCH8+CBCH channels used", "", 16, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = { "chan_sdcch8_cbch:total", - "Number of SDCCH8+CBCH channels total", "", 16, 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 }, - [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 }, - [BTS_STAT_T3122] = { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", - "s", 16, GSM_T3122_DEFAULT }, - [BTS_STAT_RACH_BUSY] = { "rach_busy", - "RACH slots with signal above threshold", "%", 16, 0 }, - [BTS_STAT_RACH_ACCESS] = { "rach_access", - "RACH slots with access bursts in them", "%", 16, 0 }, - [BTS_STAT_OML_CONNECTED] = { "oml_connected", "Number of OML links connected", "", 16, 0 }, - [BTS_STAT_RSL_CONNECTED] = { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, - [BTS_STAT_LCHAN_BORKEN] = { "lchan_borken", - "Number of lchans in the BORKEN state", "", 16, 0 }, - [BTS_STAT_TS_BORKEN] = { "ts_borken", - "Number of timeslots in the BORKEN state", "", 16, 0 }, -}; - -static const struct osmo_stat_item_group_desc bts_statg_desc = { - .group_name_prefix = "bts", - .group_description = "base transceiver station", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(bts_stat_desc), - .item_desc = bts_stat_desc, -}; - static const uint8_t bts_nse_timer_default[] = { 3, 3, 3, 3, 30, 3, 10 }; static const uint8_t bts_cell_timer_default[] = { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index c3cbd61..e238d83 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -369,12 +369,13 @@ ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type); - if (ho->scope & HO_INTRA_CELL) + if (ho->scope & HO_INTRA_CELL) { + ho_count(bts, CTR_INTRA_CELL_HO_ATTEMPTED); ho_fsm_update_id(fi, "intraCell"); - else + } else { + ho_count(bts, CTR_INTRA_BSC_HO_ATTEMPTED); ho_fsm_update_id(fi, "intraBSC"); - - ho_count(bts, CTR_HANDOVER_ATTEMPTED); + } if (!ho->new_lchan) { ho_fail(HO_RESULT_FAIL_NO_CHANNEL, @@ -697,8 +698,9 @@ } \ } -FUNC_RESULT_COUNTER(BSC, ASSIGNMENT) FUNC_RESULT_COUNTER(BSC, HANDOVER) +FUNC_RESULT_COUNTER(BSC, INTRA_CELL_HO) +FUNC_RESULT_COUNTER(BSC, INTRA_BSC_HO) FUNC_RESULT_COUNTER(BSC, INTER_BSC_HO_IN) static int result_counter_BSC_INTER_BSC_HO_OUT(enum handover_result result) { @@ -718,15 +720,16 @@ static int result_counter_bsc(enum handover_scope scope, enum handover_result result) { switch (scope) { - case HO_INTRA_CELL: - return result_counter_BSC_ASSIGNMENT(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); - /* use "normal" HO_INTRA_BSC counter... */ + /* use "normal" HO counter... */ case HO_NO_HANDOVER: - case HO_INTRA_BSC: return result_counter_BSC_HANDOVER(result); + case HO_INTRA_CELL: + return result_counter_BSC_INTRA_CELL_HO(result); + case HO_INTRA_BSC: + return result_counter_BSC_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: return result_counter_BSC_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: @@ -734,8 +737,9 @@ } } -FUNC_RESULT_COUNTER(BTS, ASSIGNMENT) FUNC_RESULT_COUNTER(BTS, HANDOVER) +FUNC_RESULT_COUNTER(BTS, INTRA_CELL_HO) +FUNC_RESULT_COUNTER(BTS, INTRA_BSC_HO) FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN) static int result_counter_BTS_INTER_BSC_HO_OUT(enum handover_result result) { @@ -755,15 +759,16 @@ static int result_counter_bts(enum handover_scope scope, enum handover_result result) { switch (scope) { - case HO_INTRA_CELL: - return result_counter_BTS_ASSIGNMENT(result); default: LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", handover_scope_name(scope)); - /* use "normal" HO_INTRA_BSC counter... */ + /* use "normal" HO counter... */ case HO_NO_HANDOVER: - case HO_INTRA_BSC: return result_counter_BTS_HANDOVER(result); + case HO_INTRA_CELL: + return result_counter_BTS_INTRA_CELL_HO(result); + case HO_INTRA_BSC: + return result_counter_BTS_INTRA_BSC_HO(result); case HO_INTER_BSC_OUT: return result_counter_BTS_INTER_BSC_HO_OUT(result); case HO_INTER_BSC_IN: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19734 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3a1195640b99813036c9f1426ee5f07548e26547 Gerrit-Change-Number: 19734 Gerrit-PatchSet: 4 Gerrit-Owner: daniel 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 Aug 24 07:41:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:41:46 +0000 Subject: Change in osmo-bsc[master]: Add bts counters to count BTS events where we don't have a bts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19735 ) Change subject: Add bts counters to count BTS events where we don't have a bts ...................................................................... Add bts counters to count BTS events where we don't have a bts In some (error-) cases we might be unable to determine which BTS to use when counting handover events. We don't want to loose these events because then ctr(bsc) == sum(ctr(bsc->bts)) would not be true anymore. Those events are now counted by a counter in struct gsm_network which uses an index that is out of range for regular BTS (65536). Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Related: SYS#4877 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 4 files changed, 37 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/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1dac670..1a4a1c4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1089,6 +1089,11 @@ BSC_STAT_NUM_BTS_TOTAL, }; +/* BTS counter index if a BTS could not be found + * Currently we are limited to bts 0 - 255 in the VTY, but that might change in + * the future so use 2**16 */ +#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) + struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ @@ -1123,6 +1128,11 @@ struct llist_head bts_list; struct llist_head bts_rejected; + /* BTS-based counters when we can't find the actual BTS + * e.g. when conn->lchan is NULL */ + struct rate_ctr_group *bts_unknown_ctrs; + struct osmo_stat_item_group *bts_unknown_statg; + /* see gsm_network_T_defs */ struct osmo_tdef *T_defs; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index e45b5e8..22eba50 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -90,8 +90,7 @@ net->cbc = talloc_zero(net, struct bsc_cbc_link); if (!net->cbc) { - talloc_free(net); - return NULL; + goto err_out; } /* Init back pointer */ @@ -104,16 +103,19 @@ /* init statistics */ net->bsc_ctrs = rate_ctr_group_alloc(net, &bsc_ctrg_desc, 0); - if (!net->bsc_ctrs) { - talloc_free(net); - return NULL; - } + if (!net->bsc_ctrs) + goto err_out; net->bsc_statg = osmo_stat_item_group_alloc(net, &bsc_statg_desc, 0); - if (!net->bsc_statg) { - rate_ctr_group_free(net->bsc_ctrs); - talloc_free(net); - return NULL; - } + if (!net->bsc_statg) + goto err_free_bsc_ctr; + + /* init statistics */ + net->bts_unknown_ctrs = rate_ctr_group_alloc(net, &bts_ctrg_desc, BTS_STAT_IDX_UNKNOWN); + if (!net->bts_unknown_ctrs) + goto err_free_bsc_ctr_stat; + net->bts_unknown_statg = osmo_stat_item_group_alloc(net, &bts_statg_desc, BTS_STAT_IDX_UNKNOWN); + if (!net->bts_unknown_statg) + goto err_free_all; INIT_LLIST_HEAD(&net->bts_rejected); gsm_net_update_ctype(net); @@ -134,6 +136,16 @@ net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); return net; + +err_free_all: + rate_ctr_group_free(net->bts_unknown_ctrs); +err_free_bsc_ctr_stat: + osmo_stat_item_group_free(net->bsc_statg); +err_free_bsc_ctr: + rate_ctr_group_free(net->bsc_ctrs); +err_out: + talloc_free(net); + return NULL; } int bsc_network_alloc(void) diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 04718da..22aa70a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -386,6 +386,8 @@ rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); if (bts) rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); + else + rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index e238d83..78dbd33 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -96,6 +96,8 @@ bts_ctr_description[counter].description); \ if (bts) \ rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + else \ + rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ } while(0) #define ho_count(bts, counter) do { \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0f3edd5dc014c4eac5e8423133633a3e5d4c13e Gerrit-Change-Number: 19735 Gerrit-PatchSet: 4 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 Mon Aug 24 07:42:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:42:12 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:42:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:44:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:44:07 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c at 849 PS1, Line 849: is_ shouldn't that test for sa_family rather than the size? -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:44: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 Aug 24 07:44:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:44:33 +0000 Subject: Change in osmo-msc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19739 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 Gerrit-Change-Number: 19739 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:44:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:44:39 +0000 Subject: Change in osmo-msc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19739 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 --- M src/osmo-msc/msc_main.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 98d29c3..4cda395 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -329,7 +329,8 @@ .is_config_node = msc_vty_is_config_node, }; -#define DEFAULT_M3UA_REMOTE_IP "127.0.0.1" +#define DEFAULT_M3UA_LOCAL_IP "localhost" +#define DEFAULT_M3UA_REMOTE_IP "localhost" #define DEFAULT_PC "0.23.1" static struct osmo_sccp_instance *sccp_setup(void *ctx, uint32_t cs7_instance, @@ -341,7 +342,7 @@ return osmo_sccp_simple_client_on_ss7_id(ctx, cs7_instance, label, default_pc, OSMO_SS7_ASP_PROT_M3UA, - 0, NULL, /* local: use arbitrary port and 0.0.0.0. */ + 0, DEFAULT_M3UA_LOCAL_IP, /* local: use arbitrary port and 0.0.0.0. */ 0, /* remote: use protocol default port */ DEFAULT_M3UA_REMOTE_IP); /* Note: If a differing remote IP is to be used, it was already entered in the vty config at -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I05a5c792ab1d053c6f38ba36d4b9fa6db293fbd0 Gerrit-Change-Number: 19739 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 Mon Aug 24 07:45:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:45:07 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19738 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:45: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 Aug 24 07:46:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:46:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... Patch Set 1: Code-Review+1 LGTM, but if you're at it, why not turn the module parameters into lists of addresses, so we could have more than one ip address configured, if needed in the future? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:46:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:48:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:48:33 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19723/1/src/socket.c at 535 PS1, Line 535: / > In any case, this is just an intermediate state towards next patch. [?] from the reviewers point, you are (normally) looking at individual patches in their logical order. I have no knowledge of what might be coming on top of this patch while I'm reviewing it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:48:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:48:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:48:56 +0000 Subject: Change in libosmocore[master]: osmo_sock_get_ip_and_port(): Support IPv6 sockets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19763 ) Change subject: osmo_sock_get_ip_and_port(): Support IPv6 sockets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b Gerrit-Change-Number: 19763 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 07:48:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 07:50:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:50:46 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv pkt meas rep: Allocate MS object early in path and use it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19707 ) Change subject: pdch: rcv pkt meas rep: Allocate MS object early in path and use it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f Gerrit-Change-Number: 19707 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 07:50: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 Aug 24 07:50:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 07:50:49 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv pkt meas rep: Allocate MS object early in path and use it In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19707 ) Change subject: pdch: rcv pkt meas rep: Allocate MS object early in path and use it ...................................................................... pdch: rcv pkt meas rep: Allocate MS object early in path and use it Let's create the MS object early if doesn't exist and fill in the information, so that we can operate on it in an early way (for instance, logging macros), this way it's easier to trace the lifecycle of subscribers. Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f --- M src/gprs_rlcmac.h M src/gprs_rlcmac_meas.cpp M src/pdch.cpp 3 files changed, 15 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 6587c40..3d5ea99 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -75,7 +75,7 @@ int gprs_rlcmac_lost_rep(struct gprs_rlcmac_dl_tbf *tbf); -int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr); +int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr); int gprs_rlcmac_rssi(struct gprs_rlcmac_tbf *tbf, int8_t rssi); diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index e4df559..b9a324f 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -37,14 +37,13 @@ /* TODO: trigger the measurement report from the pollcontroller and use it for flow control */ /* received Measurement Report */ -int gprs_rlcmac_meas_rep(Packet_Measurement_Report_t *pmr) +int gprs_rlcmac_meas_rep(GprsMs *ms, Packet_Measurement_Report_t *pmr) { NC_Measurement_Report_t *ncr; NC_Measurements_t *nc; int i; - LOGP(DRLCMACMEAS, LOGL_INFO, "Measurement Report of TLLI=0x%08x:", - pmr->TLLI); + LOGPMS(ms, DRLCMACMEAS, LOGL_INFO, "Rx Measurement Report:"); switch (pmr->UnionType) { case 0: diff --git a/src/pdch.cpp b/src/pdch.cpp index fbbeddc..7986373 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -663,18 +663,21 @@ void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn) { - struct gprs_rlcmac_sba *sba = bts()->sba()->find(this, fn); - if (sba) { - GprsMs *ms = bts()->ms_store().get_ms(report->TLLI); - if (!ms) - LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " - "but TLLI 0x%08x is unknown\n", report->TLLI); - else - ms->set_ta(sba->ta); + struct gprs_rlcmac_sba *sba; + GprsMs *ms; + ms = bts()->ms_by_tlli(report->TLLI); + if (!ms) { + LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement " + "but TLLI 0x%08x is unknown\n", report->TLLI); + ms = bts()->ms_alloc(0, 0); + ms->set_tlli(report->TLLI); + } + if ((sba = bts()->sba()->find(this, fn))) { + ms->set_ta(sba->ta); bts()->sba()->free_sba(sba); } - gprs_rlcmac_meas_rep(report); + gprs_rlcmac_meas_rep(ms, report); } /* Received Uplink RLC control block. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ec7eb970310698dd228ae6ad65ec5ca833bab3f Gerrit-Change-Number: 19707 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 Mon Aug 24 08:29:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:06 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... Patch Set 3: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:29:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 08:29:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:13 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... Patch Set 3: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:29:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 08:29:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:19 +0000 Subject: Change in libosmocore[master]: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19723 ) Change subject: sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation ...................................................................... sock: osmo_sock_init2_multiaddr: decouple addr resolution from socket creation Address resolution is done first and once we have the information, it proceeds to create the socket. This separation in steps will help when adding support for IPv6+IPv4 sets, where AF_UNSPEC is passed and created socket needs to be AF_INET6 in order to handle addr of both versions. Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a --- M src/socket.c 1 file changed, 43 insertions(+), 46 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/socket.c b/src/socket.c index 9c60821..9c421da 100644 --- a/src/socket.c +++ b/src/socket.c @@ -483,7 +483,7 @@ unsigned int flags) { - struct addrinfo *result[OSMO_SOCK_MAX_ADDRS]; + struct addrinfo *res_loc[OSMO_SOCK_MAX_ADDRS], *res_rem[OSMO_SOCK_MAX_ADDRS]; int sfd = -1, rc, on = 1; int i; struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; @@ -519,21 +519,31 @@ /* figure out local side of socket */ if (flags & OSMO_SOCK_F_BIND) { - rc = addrinfo_helper_multi(result, family, type, proto, local_hosts, - local_hosts_cnt, local_port, true); + rc = addrinfo_helper_multi(res_loc, family, type, proto, local_hosts, + local_hosts_cnt, local_port, true); if (rc < 0) return -EINVAL; + } + /* figure out remote side of socket */ + if (flags & OSMO_SOCK_F_CONNECT) { + rc = addrinfo_helper_multi(res_rem, family, type, proto, remote_hosts, + remote_hosts_cnt, remote_port, false); + if (rc < 0) + return -EINVAL; + } + + /* figure out local side of socket */ + if (flags & OSMO_SOCK_F_BIND) { /* Since addrinfo_helper sets ai_family, socktype and ai_protocol in hints, we know all results will use same values, so simply pick the first one and pass it to create the socket: */ - sfd = socket_helper(result[0], flags); + sfd = socket_helper(res_loc[0], flags); if (sfd < 0) { - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - return sfd; + rc = sfd; + goto ret_freeaddrinfo; } /* Since so far we only allow IPPROTO_SCTP in this function, @@ -547,22 +557,17 @@ " %s:%u: %s\n", strbuf, local_port, strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return rc; + goto ret_close; } /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ - rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_loc, local_hosts, local_hosts_cnt, addrs4, addrs6); if (rc < 0) { - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } if (family == AF_INET) @@ -573,13 +578,9 @@ multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", strbuf, local_port, strerror(errno)); - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(result[i]); } /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it @@ -588,38 +589,27 @@ /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { - rc = addrinfo_helper_multi(result, family, type, proto, remote_hosts, - remote_hosts_cnt, remote_port, false); - if (rc < 0) { - if (sfd >= 0) - close(sfd); - return -EINVAL; - } - if (sfd < 0) { /* Since addrinfo_helper sets ai_family, socktype and ai_protocol in hints, we know all results will use same values, so simply pick the first one and pass it to create the socket: */ - sfd = socket_helper(result[0], flags); + sfd = socket_helper(res_rem[0], flags); if (sfd < 0) { - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - return sfd; + rc = sfd; + goto ret_freeaddrinfo; } } /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ - rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)result, + rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_rem, remote_hosts, remote_hosts_cnt, addrs4, addrs6); if (rc < 0) { - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } if (family == AF_INET) @@ -631,13 +621,9 @@ multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", strbuf, remote_port, strerror(errno)); - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); - close(sfd); - return -ENODEV; + rc = -ENODEV; + goto ret_close; } - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(result[i]); } rc = osmo_sock_init_tail(sfd, type, flags); @@ -646,7 +632,18 @@ sfd = -1; } - return sfd; + rc = sfd; + goto ret_freeaddrinfo; + +ret_close: + if (sfd >= 0) + close(sfd); +ret_freeaddrinfo: + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(res_loc[i]); + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(res_rem[i]); + return rc; } #endif /* HAVE_LIBSCTP */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19723 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03147e3033a0c1fd04c9ac61d2ffbd78a1bb784a Gerrit-Change-Number: 19723 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 24 08:29:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:20 +0000 Subject: Change in libosmocore[master]: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19724 ) Change subject: socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations ...................................................................... socket: multiaddr: Support IPv4 + IPv6 addresses in SCTP associations The function is improved to support AF_INET:v4->v4, AF_INET6:v6->v6 and AF_UNSPEC:v4+v6->v4+v6. Unit tests for the function are added to make sure function behaves correctly in several scenarios. Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 4 files changed, 295 insertions(+), 66 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/socket.c b/src/socket.c index 9c421da..4d6f389 100644 --- a/src/socket.c +++ b/src/socket.c @@ -79,7 +79,7 @@ hints.ai_socktype = type; hints.ai_protocol = proto; } - + hints.ai_flags = AI_ADDRCONFIG; if (passive) hints.ai_flags |= AI_PASSIVE; @@ -428,24 +428,63 @@ #ifdef HAVE_LIBSCTP +/* Check whether there's an IPv6 Addr as first option of any addrinfo item in the addrinfo set */ +static void addrinfo_has_v4v6addr(const struct addrinfo **result, size_t result_count, bool *has_v4, bool *has_v6) +{ + size_t host_idx; + *has_v4 = false; + *has_v6 = false; + + for (host_idx = 0; host_idx < result_count; host_idx++) { + if (result[host_idx]->ai_family == AF_INET) + *has_v4 = true; + else if (result[host_idx]->ai_family == AF_INET6) + *has_v6 = true; + } +} + +static int socket_helper_multiaddr(uint16_t family, uint16_t type, uint8_t proto, unsigned int flags) +{ + int sfd, on = 1; + + sfd = socket(family, type, proto); + if (sfd == -1) { + LOGP(DLGLOBAL, LOGL_ERROR, + "Unable to create socket: %s\n", strerror(errno)); + return sfd; + } + if (flags & OSMO_SOCK_F_NONBLOCK) { + if (ioctl(sfd, FIONBIO, (unsigned char *)&on) < 0) { + LOGP(DLGLOBAL, LOGL_ERROR, + "Cannot set this socket unblocking: %s\n", + strerror(errno)); + close(sfd); + sfd = -EINVAL; + } + } + return sfd; +} /* Build array of addresses taking first addrinfo result of the requested family - * for each host in hosts. addrs4 or addrs6 are filled based on family type. */ + * for each host in addrs_buf. */ static int addrinfo_to_sockaddr(uint16_t family, const struct addrinfo **result, const char **hosts, int host_cont, - struct sockaddr_in *addrs4, struct sockaddr_in6 *addrs6) { - size_t host_idx; + uint8_t *addrs_buf, size_t addrs_buf_len) { + size_t host_idx, offset = 0; const struct addrinfo *rp; - OSMO_ASSERT(family == AF_INET || family == AF_INET6); for (host_idx = 0; host_idx < host_cont; host_idx++) { + /* Addresses are ordered based on RFC 3484, see man getaddrinfo */ for (rp = result[host_idx]; rp != NULL; rp = rp->ai_next) { - if (rp->ai_family != family) + if (family != AF_UNSPEC && rp->ai_family != family) continue; - if (family == AF_INET) - memcpy(&addrs4[host_idx], rp->ai_addr, sizeof(addrs4[host_idx])); - else - memcpy(&addrs6[host_idx], rp->ai_addr, sizeof(addrs6[host_idx])); + if (offset + rp->ai_addrlen > addrs_buf_len) { + LOGP(DLGLOBAL, LOGL_ERROR, "Output buffer to small: %zu\n", + addrs_buf_len); + return -ENOSPC; + } + memcpy(addrs_buf + offset, rp->ai_addr, rp->ai_addrlen); + offset += rp->ai_addrlen; break; } if (!rp) { /* No addr could be bound for this host! */ @@ -486,25 +525,20 @@ struct addrinfo *res_loc[OSMO_SOCK_MAX_ADDRS], *res_rem[OSMO_SOCK_MAX_ADDRS]; int sfd = -1, rc, on = 1; int i; - struct sockaddr_in addrs4[OSMO_SOCK_MAX_ADDRS]; - struct sockaddr_in6 addrs6[OSMO_SOCK_MAX_ADDRS]; - struct sockaddr *addrs; + bool loc_has_v4addr, rem_has_v4addr; + bool loc_has_v6addr, rem_has_v6addr; + struct sockaddr_in6 addrs_buf[OSMO_SOCK_MAX_ADDRS]; char strbuf[512]; + /* updated later in case of AF_UNSPEC */ + loc_has_v4addr = rem_has_v4addr = (family == AF_INET); + loc_has_v6addr = rem_has_v6addr = (family == AF_INET6); + /* TODO: So far this function is only aimed for SCTP, but could be reused in the future for other protocols with multi-addr support */ if (proto != IPPROTO_SCTP) return -ENOTSUP; - /* TODO: Let's not support AF_UNSPEC for now. sctp_bindx() actually - supports binding both types of addresses on a AF_INET6 soscket, but - that would mean we could get both AF_INET and AF_INET6 addresses for - each host, and makes complexity of this function increase a lot since - we'd need to find out which subsets to use, use v4v6 mapped socket, - etc. */ - if (family == AF_UNSPEC) - return -ENOTSUP; - if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == 0) { LOGP(DLGLOBAL, LOGL_ERROR, "invalid: you have to specify either " "BIND or CONNECT flags\n"); @@ -523,6 +557,10 @@ local_hosts_cnt, local_port, true); if (rc < 0) return -EINVAL; + /* Figure out if there's any IPV4 or IPv6 addr in the set */ + if (family == AF_UNSPEC) + addrinfo_has_v4v6addr((const struct addrinfo **)res_loc, local_hosts_cnt, + &loc_has_v4addr, &loc_has_v6addr); } /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { @@ -530,22 +568,27 @@ remote_hosts_cnt, remote_port, false); if (rc < 0) return -EINVAL; + /* Figure out if there's any IPv4 or IPv6 addr in the set */ + if (family == AF_UNSPEC) + addrinfo_has_v4v6addr((const struct addrinfo **)res_rem, remote_hosts_cnt, + &rem_has_v4addr, &rem_has_v6addr); } - /* figure out local side of socket */ + if (((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) && + (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) { + LOGP(DLGLOBAL, LOGL_ERROR, "Invalid v4 vs v6 in local vs remote addresses\n"); + rc = -EINVAL; + goto ret_freeaddrinfo; + } + + sfd = socket_helper_multiaddr(loc_has_v6addr ? AF_INET6 : AF_INET, + type, proto, flags); + if (sfd < 0) { + rc = sfd; + goto ret_freeaddrinfo; + } + if (flags & OSMO_SOCK_F_BIND) { - - /* Since addrinfo_helper sets ai_family, socktype and - ai_protocol in hints, we know all results will use same - values, so simply pick the first one and pass it to create - the socket: - */ - sfd = socket_helper(res_loc[0], flags); - if (sfd < 0) { - rc = sfd; - goto ret_freeaddrinfo; - } - /* Since so far we only allow IPPROTO_SCTP in this function, no need to check below for "proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR" */ rc = setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, @@ -560,21 +603,20 @@ goto ret_close; } - /* Build array of addresses taking first of same family for each host. + /* Build array of addresses taking first entry for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ + /* We could alternatively use v4v6 mapped addresses and call sctp_bindx once with an array od sockaddr_in6 */ rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_loc, - local_hosts, local_hosts_cnt, addrs4, addrs6); + local_hosts, local_hosts_cnt, + (uint8_t*)addrs_buf, sizeof(addrs_buf)); if (rc < 0) { rc = -ENODEV; goto ret_close; } - if (family == AF_INET) - addrs = (struct sockaddr *)addrs4; - else - addrs = (struct sockaddr *)addrs6; - if (sctp_bindx(sfd, addrs, local_hosts_cnt, SCTP_BINDX_ADD_ADDR) == -1) { + rc = sctp_bindx(sfd, (struct sockaddr *)addrs_buf, local_hosts_cnt, SCTP_BINDX_ADD_ADDR); + if (rc == -1) { multiaddr_snprintf(strbuf, sizeof(strbuf), local_hosts, local_hosts_cnt); LOGP(DLGLOBAL, LOGL_NOTICE, "unable to bind socket: %s:%u: %s\n", strbuf, local_port, strerror(errno)); @@ -583,40 +625,19 @@ } } - /* Reached this point, if OSMO_SOCK_F_BIND then sfd is valid (>=0) or it - was already closed and func returned. If OSMO_SOCK_F_BIND is not - set, then sfd = -1 */ - - /* figure out remote side of socket */ if (flags & OSMO_SOCK_F_CONNECT) { - if (sfd < 0) { - /* Since addrinfo_helper sets ai_family, socktype and - ai_protocol in hints, we know all results will use same - values, so simply pick the first one and pass it to create - the socket: - */ - sfd = socket_helper(res_rem[0], flags); - if (sfd < 0) { - rc = sfd; - goto ret_freeaddrinfo; - } - } - /* Build array of addresses taking first of same family for each host. TODO: Ideally we should use backtracking storing last used indexes and trying next combination if connect() fails .*/ rc = addrinfo_to_sockaddr(family, (const struct addrinfo **)res_rem, - remote_hosts, remote_hosts_cnt, addrs4, addrs6); + remote_hosts, remote_hosts_cnt, + (uint8_t*)addrs_buf, sizeof(addrs_buf)); if (rc < 0) { rc = -ENODEV; goto ret_close; } - if (family == AF_INET) - addrs = (struct sockaddr *)addrs4; - else - addrs = (struct sockaddr *)addrs6; - rc = sctp_connectx(sfd, addrs, remote_hosts_cnt, NULL); + rc = sctp_connectx(sfd, (struct sockaddr *)addrs_buf, remote_hosts_cnt, NULL); if (rc != 0 && errno != EINPROGRESS) { multiaddr_snprintf(strbuf, sizeof(strbuf), remote_hosts, remote_hosts_cnt); LOGP(DLGLOBAL, LOGL_ERROR, "unable to connect socket: %s:%u: %s\n", diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index e68243c..1d4253c 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include "../config.h" @@ -146,6 +148,175 @@ return 0; } +#ifdef HAVE_LIBSCTP +static uint16_t sock_get_local_port(int fd, bool is_v6) { + struct sockaddr_storage sa; + struct sockaddr_in *sin = (struct sockaddr_in *)&sa; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; + socklen_t len = sizeof(sa); + int local_port; + + OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); + if(!is_v6) + local_port = osmo_load16be(&sin->sin_port); + else + local_port = osmo_load16be(&sin6->sin6_port); + //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); + return local_port; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, + const char **addrv4_rem, const char **addrv6_rem, + size_t addrv4_size, size_t addrv6_size) +{ + int fd, rc; + int listen_fd_v4, listen_fd_v6; + int listen_port_v4, listen_port_v6; + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); + + listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v4 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v4, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v4 = sock_get_local_port(listen_fd_v4, false); + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); + + listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addrv6_loc, addrv6_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v6 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v6, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v6 = sock_get_local_port(listen_fd_v6, true); + + printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + OSMO_ASSERT(fd >= 0); + /* expect it to be blocking */ + rc = fcntl(fd, F_GETFL); + OSMO_ASSERT(rc & O_NONBLOCK); + close(fd); + + printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, 0); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + close(listen_fd_v4); + close(listen_fd_v6); + printf("Done\n"); + return 0; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr_simple(void) +{ + const char *addrv4_loc[] = { "0.0.0.0" }; + const char *addrv6_loc[] = { "::" }; + const char *addrv4_rem[] = { "127.0.0.1" }; + const char *addrv6_rem[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, + addrv4_rem, addrv6_rem, 1, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address */ +static int test_sockinit2_multiaddr_several(void) +{ + const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; + const char *addrv6_localhost[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, + addrv4_localhost, addrv6_localhost, 2, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ +static int test_sockinit2_multiaddr_mixed(void) +{ + const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; + size_t addr_size = ARRAY_SIZE(addr_localhost); + + int listen_fd, listen_port, fd; + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd >= 0); + + listen_port = sock_get_local_port(listen_fd, true); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + addr_localhost, addr_size, listen_port, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + close(fd); + + close(listen_fd); + return 0; +} +#endif /* ifdef HAVE_LIBSCTP */ const struct log_info_cat default_categories[] = { }; @@ -164,6 +335,11 @@ test_sockinit(); test_sockinit2(); +#ifdef HAVE_LIBSCTP + test_sockinit2_multiaddr_simple(); + test_sockinit2_multiaddr_several(); + test_sockinit2_multiaddr_mixed(); +#endif /* ifdef HAVE_LIBSCTP */ return EXIT_SUCCESS; } diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 0f0f8da..3c5dac5 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,3 +2,11 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +getaddrinfo returned NULL: ::1:0: Transport endpoint is not connected +getaddrinfo returned NULL: 127.0.0.1:0: Transport endpoint is not connected diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 4265be8..959fa84 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -9,3 +9,27 @@ Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19724 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Gerrit-Change-Number: 19724 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 24 08:29:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:21 +0000 Subject: Change in libosmocore[master]: socket: Log proper getaddrinfo() error In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19737 ) Change subject: socket: Log proper getaddrinfo() error ...................................................................... socket: Log proper getaddrinfo() error Drop one of the two log lines since it would be a duplicated and anyway it misses context (return code). Change-Id: I4620bf86f4bcda58ae85209278ac9ae9a0f3012a --- M src/socket.c M tests/socket/socket_test.err 2 files changed, 5 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 4d6f389..03c932c 100644 --- a/src/socket.c +++ b/src/socket.c @@ -85,8 +85,8 @@ rc = getaddrinfo(host, portbuf, &hints, &result); if (rc != 0) { - LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo returned NULL: %s:%u: %s\n", - host, port, strerror(errno)); + LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo(%s, %u) failed: %s\n", + host, port, gai_strerror(rc)); return NULL; } @@ -695,11 +695,8 @@ } result = addrinfo_helper(family, type, proto, host, port, flags & OSMO_SOCK_F_BIND); - if (!result) { - LOGP(DLGLOBAL, LOGL_ERROR, "getaddrinfo returned NULL: %s:%u: %s\n", - host, port, strerror(errno)); + if (!result) return -EINVAL; - } for (rp = result; rp != NULL; rp = rp->ai_next) { sfd = socket_helper(rp, flags); diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 3c5dac5..e3d3903 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -8,5 +8,5 @@ invalid: you have to specify either BIND or CONNECT flags Invalid v4 vs v6 in local vs remote addresses Invalid v4 vs v6 in local vs remote addresses -getaddrinfo returned NULL: ::1:0: Transport endpoint is not connected -getaddrinfo returned NULL: 127.0.0.1:0: Transport endpoint is not connected +getaddrinfo(::1, 0) failed: Address family for hostname not supported +getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4620bf86f4bcda58ae85209278ac9ae9a0f3012a Gerrit-Change-Number: 19737 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 Mon Aug 24 08:29:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:23 +0000 Subject: Change in libosmocore[master]: osmo_sock_get_ip_and_port(): Support IPv6 sockets In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19763 ) Change subject: osmo_sock_get_ip_and_port(): Support IPv6 sockets ...................................................................... osmo_sock_get_ip_and_port(): Support IPv6 sockets Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b --- M src/socket.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 03c932c..50d59e5 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1072,16 +1072,16 @@ */ int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local) { - struct sockaddr sa; + struct sockaddr_storage sa; socklen_t len = sizeof(sa); char ipbuf[INET6_ADDRSTRLEN], portbuf[6]; int rc; - rc = local ? getsockname(fd, &sa, &len) : getpeername(fd, &sa, &len); + rc = local ? getsockname(fd, (struct sockaddr*)&sa, &len) : getpeername(fd, (struct sockaddr*)&sa, &len); if (rc < 0) return rc; - rc = getnameinfo(&sa, len, ipbuf, sizeof(ipbuf), + rc = getnameinfo((const struct sockaddr*)&sa, len, ipbuf, sizeof(ipbuf), portbuf, sizeof(portbuf), NI_NUMERICHOST | NI_NUMERICSERV); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I255a71cf047fd022285fc9aa2f24e5070aa3920b Gerrit-Change-Number: 19763 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 Mon Aug 24 08:29:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:29:35 +0000 Subject: Change in libosmo-netif[master]: stream: Support creating sockets with IPv6 addresses In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19725 ) Change subject: stream: Support creating sockets with IPv6 addresses ...................................................................... stream: Support creating sockets with IPv6 addresses In the case of SCTP, an association supports now containing both IPv4 and v6 addresses. Depends: libosmocore.git Change-Id I36d8ab85d92bba4d6adb83bc1875eb61094ed2ef Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af --- M TODO-RELEASE M src/stream.c 2 files changed, 7 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..c89dec9 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 +libosmo-netif ipv6 Depends on libosmocore > 1.4.0 for IPv6 osmo_sock_inti2_multiaddr AF_UNSPEC (IPv6) support. diff --git a/src/stream.c b/src/stream.c index cfe8cfe..e265ee1 100644 --- a/src/stream.c +++ b/src/stream.c @@ -658,14 +658,14 @@ switch (cli->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, cli->proto, (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, (const char **)cli->addr, cli->addrcnt, cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); break; #endif default: - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2(AF_UNSPEC, SOCK_STREAM, cli->proto, cli->local_addr[0], cli->local_port, cli->addr[0], cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); @@ -731,14 +731,14 @@ switch (cli->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, cli->proto, (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, (const char **)cli->addr, cli->addrcnt, cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); break; #endif default: - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + ret = osmo_sock_init2(AF_UNSPEC, SOCK_STREAM, cli->proto, cli->local_addr[0], cli->local_port, cli->addr[0], cli->port, OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); @@ -1055,13 +1055,13 @@ switch (link->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: - ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, link->proto, + ret = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, link->proto, (const char **)link->addr, link->addrcnt, link->port, NULL, 0, 0, OSMO_SOCK_F_BIND); break; #endif default: - ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, + ret = osmo_sock_init(AF_UNSPEC, SOCK_STREAM, link->proto, link->addr[0], link->port, OSMO_SOCK_F_BIND); } if (ret < 0) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af Gerrit-Change-Number: 19725 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 Mon Aug 24 08:31:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:31:21 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c at 849 PS1, Line 849: is_ > shouldn't that test for sa_family rather than the size? Both ways are fine, they ar ebacked by the documentation: """ The addrlen argument is a value-result argument: the caller must initialize it to contain the size (in bytes) of the structure pointed to by addr; on return it will contain the actual size of the peer address. """ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 08:31:21 +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 Aug 24 08:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:35:00 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 to look at the new patch set (#2). Change subject: Introduce SS7 IPv6 support ...................................................................... Introduce SS7 IPv6 support In osmo_ss7_vty_go_parent, "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, this change doesn't affect users of osmo_sccp_simple_client because the APIs set both src and dst addresses. Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Depends: libosmo-netif.git Change-Id Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 38 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/32/19732/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 08:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:35:00 +0000 Subject: Change in libosmo-sccp[master]: Fix finding ASP on IPv6 connections In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 to look at the new patch set (#2). Change subject: Fix finding ASP on IPv6 connections ...................................................................... Fix finding ASP on IPv6 connections Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 --- M src/osmo_ss7.c 1 file changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/69/19769/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 Gerrit-Change-Number: 19769 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 08:43:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:43:09 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 to look at the new patch set (#3). Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/19738/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 08:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:50:00 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 2: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:50: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 Aug 24 08:50:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:50:34 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:50: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 Aug 24 08:51:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:51:10 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19783 ) Change subject: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd Gerrit-Change-Number: 19783 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:51: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 Aug 24 08:54:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:54:43 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19775 ) Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:54: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 Aug 24 08:55:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:55:21 +0000 Subject: Change in osmo-pcu[master]: encoding: fix RRBP field in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19784 ) Change subject: encoding: fix RRBP field in write_packet_uplink_assignment() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 Gerrit-Change-Number: 19784 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:55: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 Aug 24 08:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 08:58:52 +0000 Subject: Change in osmo-pcu[master]: encoding: pass pdch slot directly to encoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19786 ) Change subject: encoding: pass pdch slot directly to encoding functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Gerrit-Change-Number: 19786 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 08:58: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 Aug 24 09:06:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 09:06:07 +0000 Subject: Change in osmo-pcu[master]: encoding: use CSN.1 codec to generate Packet Uplink Assignment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19787 ) Change subject: encoding: use CSN.1 codec to generate Packet Uplink Assignment ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19787/2/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19787/2/src/encoding.cpp at 538 PS2, Line 538: /* generate uplink assignment */ May be good idea documenting that "block" should be zero initialized by the caller. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19787 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2850b91e0043cdca8ae7498a5fc727eeedd029b6 Gerrit-Change-Number: 19787 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 09:06: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 Mon Aug 24 09:09:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 09:09:28 +0000 Subject: Change in osmo-pcu[master]: encoding: implement handing of hopping parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19788 ) Change subject: encoding: implement handing of hopping parameters ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/19788/2/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/19788/2/src/encoding.cpp at 689 PS2, Line 689: gen_freq_params(fp, tbf); IMHO this should be called and cached whenever the FH properties change, not every time we want to generate a UL/DL assignment. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8adc0cdb1b05a87b4df5d4bc196f6d381283a06f Gerrit-Change-Number: 19788 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 09:09:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 09:11:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 09:11:07 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 09:11: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 Aug 24 10:14:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 10:14:19 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 to look at the new patch set (#2). Change subject: stream: Fix log of IPv6 during accept() ...................................................................... stream: Fix log of IPv6 during accept() Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 --- M src/stream.c 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/62/19762/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:26:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 10:26:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > LGTM, but if you're at it, why not turn the module parameters into lists of addresses, so we could have more than one ip address configured, if needed in the future? ACK, will do it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 10:26:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:36:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 10:36:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636/1/bsc/BSC_Tests_CBSP.ttcn at 197 PS1, Line 197: [] IPA_RSL[0].receive(zero_payload) { log("CBSP: disabled broadcast on bts 0"); } > In fact I am only marginally familiar with this area, I don't know what other broadcast besides PN e [?] "what other broadcasts": Basically all of cell broadcast. ETWS (and its PN) only are an add-on to cell-broadcast (and one that extends beyond cell broacast). As I indicated "function name and log messages could be more specific". You are disabling ETWS PN, not CBSP here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 10:36:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:43:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:43:15 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19783 ) Change subject: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > It may be that the specs already use inconsistent Name formatting. In that case we might want to keep it like the spec. I don't recall seeing CamelCase in 3GPP TS 44.060, either a space or a low dash is used. Just checked to make sure. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd Gerrit-Change-Number: 19783 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 10:43: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 Mon Aug 24 10:51:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:51:36 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... Patch Set 2: Code-Review+2 1+1=2, trivial patch -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 10:51: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 Aug 24 10:53:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:09 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: use proper format specifier for PCUIF version In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19726 ) Change subject: pcu_l1_if: use proper format specifier for PCUIF version ...................................................................... pcu_l1_if: use proper format specifier for PCUIF version Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c --- M src/pcu_l1_if.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 0712470..99d0927 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -496,8 +496,8 @@ int i; if (info_ind->version != PCU_IF_VERSION) { - fprintf(stderr, "PCU interface version number of BTS (%d) is " - "different (%d).\nPlease re-compile!\n", + fprintf(stderr, "PCU interface version number of BTS (%u) is " + "different (%u).\nPlease re-compile!\n", info_ind->version, PCU_IF_VERSION); exit(-1); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19726 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd15a678a7a8fc840422e2280b0d358138a67e0c Gerrit-Change-Number: 19726 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 Aug 24 10:53:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:09 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: constify the argument of pcu_rx_info_ind() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19727 ) Change subject: pcu_l1_if: constify the argument of pcu_rx_info_ind() ...................................................................... pcu_l1_if: constify the argument of pcu_rx_info_ind() Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 99d0927..7d0345e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -485,7 +485,7 @@ return rc; } -static int pcu_rx_info_ind(struct gsm_pcu_if_info_ind *info_ind) +static int pcu_rx_info_ind(const struct gsm_pcu_if_info_ind *info_ind) { struct gprs_rlcmac_bts *bts = bts_main_data(); struct gprs_bssgp_pcu *pcu; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19727 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0b146c9f8c1e566c3aff4bd7869ca9699f888d4f Gerrit-Change-Number: 19727 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 Aug 24 10:53:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:10 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19728 ) Change subject: pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' ...................................................................... pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b --- M src/pcu_l1_if.cpp 1 file changed, 23 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/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 7d0345e..578e5aa 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -492,7 +492,7 @@ struct gprs_rlcmac_pdch *pdch; struct in_addr ia; int rc = 0; - unsigned int trx, ts; + unsigned int trx_nr, ts_nr; int i; if (info_ind->version != PCU_IF_VERSION) { @@ -511,10 +511,10 @@ bssgp_failed: bts->active = false; /* free all TBF */ - for (trx = 0; trx < ARRAY_SIZE(bts->trx); trx++) { - bts->trx[trx].arfcn = info_ind->trx[trx].arfcn; - for (ts = 0; ts < ARRAY_SIZE(bts->trx[0].pdch); ts++) - bts->trx[trx].pdch[ts].free_resources(); + for (trx_nr = 0; trx_nr < ARRAY_SIZE(bts->trx); trx_nr++) { + bts->trx[trx_nr].arfcn = info_ind->trx[trx_nr].arfcn; + for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) + bts->trx[trx_nr].pdch[ts_nr].free_resources(); } gprs_bssgp_destroy(); exit(0); @@ -605,19 +605,19 @@ bts->initial_cs_ul = bts->initial_cs_dl; } - for (trx = 0; trx < ARRAY_SIZE(bts->trx); trx++) { - bts->trx[trx].arfcn = info_ind->trx[trx].arfcn; + for (trx_nr = 0; trx_nr < ARRAY_SIZE(bts->trx); trx_nr++) { + bts->trx[trx_nr].arfcn = info_ind->trx[trx_nr].arfcn; if ((info_ind->flags & PCU_IF_FLAG_SYSMO) - && info_ind->trx[trx].hlayer1) { + && info_ind->trx[trx_nr].hlayer1) { #ifdef ENABLE_DIRECT_PHY - LOGP(DL1IF, LOGL_DEBUG, " TRX %d hlayer1=%x\n", trx, - info_ind->trx[trx].hlayer1); - if (!bts->trx[trx].fl1h) - bts->trx[trx].fl1h = l1if_open_pdch( - trx, - info_ind->trx[trx].hlayer1, + LOGP(DL1IF, LOGL_DEBUG, " TRX %d hlayer1=%x\n", trx_nr, + info_ind->trx[trx_nr].hlayer1); + if (!bts->trx[trx_nr].fl1h) + bts->trx[trx_nr].fl1h = l1if_open_pdch( + trx_nr, + info_ind->trx[trx_nr].hlayer1, bts->gsmtap); - if (!bts->trx[trx].fl1h) { + if (!bts->trx[trx_nr].fl1h) { LOGP(DL1IF, LOGL_FATAL, "Failed to open direct " "DSP access for PDCH.\n"); exit(0); @@ -630,26 +630,26 @@ #endif } - for (ts = 0; ts < ARRAY_SIZE(bts->trx[0].pdch); ts++) { - pdch = &bts->trx[trx].pdch[ts]; - if ((info_ind->trx[trx].pdch_mask & (1 << ts))) { + for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) { + pdch = &bts->trx[trx_nr].pdch[ts_nr]; + if ((info_ind->trx[trx_nr].pdch_mask & (1 << ts_nr))) { /* FIXME: activate dynamically at RLCMAC */ if (!pdch->is_enabled()) { #ifdef ENABLE_DIRECT_PHY if ((info_ind->flags & PCU_IF_FLAG_SYSMO)) l1if_connect_pdch( - bts->trx[trx].fl1h, ts); + bts->trx[trx_nr].fl1h, ts_nr); #endif - pcu_tx_act_req(trx, ts, 1); + pcu_tx_act_req(trx_nr, ts_nr, 1); pdch->enable(); } - pdch->tsc = info_ind->trx[trx].tsc[ts]; + pdch->tsc = info_ind->trx[trx_nr].tsc[ts_nr]; LOGP(DL1IF, LOGL_INFO, "PDCH: trx=%d ts=%d\n", - trx, ts); + trx_nr, ts_nr); } else { if (pdch->is_enabled()) { - pcu_tx_act_req(trx, ts, 0); + pcu_tx_act_req(trx_nr, ts_nr, 0); pdch->free_resources(); pdch->disable(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19728 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id481eba9bd462e411b2ba047ee5b849ddba8ac6b Gerrit-Change-Number: 19728 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 Aug 24 10:53:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:12 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19729 ) Change subject: pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop ...................................................................... pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 578e5aa..fbd7e92 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -489,7 +489,6 @@ { struct gprs_rlcmac_bts *bts = bts_main_data(); struct gprs_bssgp_pcu *pcu; - struct gprs_rlcmac_pdch *pdch; struct in_addr ia; int rc = 0; unsigned int trx_nr, ts_nr; @@ -631,7 +630,7 @@ } for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) { - pdch = &bts->trx[trx_nr].pdch[ts_nr]; + struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_nr].pdch[ts_nr]; if ((info_ind->trx[trx_nr].pdch_mask & (1 << ts_nr))) { /* FIXME: activate dynamically at RLCMAC */ if (!pdch->is_enabled()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19729 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5bc270ddb6064e5086a801061c2eff074c293e77 Gerrit-Change-Number: 19729 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 Aug 24 10:53:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:13 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19774 ) Change subject: pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() ...................................................................... pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() Change-Id: I26ad0e990f6bf049a14f63b1255722d60c7ff868 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 1 deletion(-) 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 fbd7e92..2374606 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -576,7 +576,7 @@ info_ind->mcc, info_ind->mnc, info_ind->mnc_3_digits, info_ind->lac, info_ind->rac, info_ind->cell_id); if (!pcu) { - LOGP(DL1IF, LOGL_NOTICE, "SGSN not available\n"); + LOGP(DL1IF, LOGL_NOTICE, "SGSN is not available\n"); goto bssgp_failed; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19774 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I26ad0e990f6bf049a14f63b1255722d60c7ff868 Gerrit-Change-Number: 19774 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:53:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:14 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19783 ) Change subject: gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance ...................................................................... gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.err 3 files changed, 14 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index c4ac4b1..06c721e 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -1699,8 +1699,8 @@ static const CSN_DESCR_BEGIN(PU_AckNack_GPRS_AdditionsR99_t) - M_NEXT_EXIST (PU_AckNack_GPRS_AdditionsR99_t, Exist_PacketExtendedTimingAdvance, 1), - M_UINT (PU_AckNack_GPRS_AdditionsR99_t, PacketExtendedTimingAdvance, 2), + M_NEXT_EXIST (PU_AckNack_GPRS_AdditionsR99_t, Exist_Packet_Extended_Timing_Advance, 1), + M_UINT (PU_AckNack_GPRS_AdditionsR99_t, Packet_Extended_Timing_Advance, 2), M_UINT (PU_AckNack_GPRS_AdditionsR99_t, TBF_EST, 1), CSN_DESCR_END (PU_AckNack_GPRS_AdditionsR99_t) @@ -2092,7 +2092,7 @@ M_NEXT_EXIST (PUA_EGPRS_00_t, Exist_BEP_PERIOD2, 1), M_UINT (PUA_EGPRS_00_t, BEP_PERIOD2, 4), - M_TYPE (PUA_EGPRS_00_t, PacketTimingAdvance, Packet_Timing_Advance_t), + M_TYPE (PUA_EGPRS_00_t, Packet_Timing_Advance, Packet_Timing_Advance_t), M_NEXT_EXIST (PUA_EGPRS_00_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (PUA_EGPRS_00_t, Packet_Extended_Timing_Advance, 2), @@ -4549,9 +4549,9 @@ static const CSN_DESCR_BEGIN(PHO_TimingAdvance_t) - M_TYPE (PHO_TimingAdvance_t, GlobalPacketTimingAdvance, Global_Packet_Timing_Advance_t), - M_NEXT_EXIST (PHO_TimingAdvance_t, Exist_PacketExtendedTimingAdvance, 1), - M_UINT (PHO_TimingAdvance_t, PacketExtendedTimingAdvance, 2), + M_TYPE (PHO_TimingAdvance_t, GlobalPacket_Timing_Advance, Global_Packet_Timing_Advance_t), + M_NEXT_EXIST (PHO_TimingAdvance_t, Exist_Packet_Extended_Timing_Advance, 1), + M_UINT (PHO_TimingAdvance_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END (PHO_TimingAdvance_t) static const diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 642530f..01e2ee6 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1893,8 +1893,8 @@ typedef struct { - gboolean Exist_PacketExtendedTimingAdvance; - guint8 PacketExtendedTimingAdvance; + gboolean Exist_Packet_Extended_Timing_Advance; + guint8 Packet_Extended_Timing_Advance; guint8 TBF_EST; } PU_AckNack_GPRS_AdditionsR99_t; @@ -2201,7 +2201,7 @@ gboolean Exist_BEP_PERIOD2; guint8 BEP_PERIOD2; - Packet_Timing_Advance_t PacketTimingAdvance; + Packet_Timing_Advance_t Packet_Timing_Advance; gboolean Exist_Packet_Extended_Timing_Advance; guint8 Packet_Extended_Timing_Advance; @@ -4854,9 +4854,9 @@ typedef struct { - Global_Packet_Timing_Advance_t GlobalPacketTimingAdvance; - guint8 Exist_PacketExtendedTimingAdvance; - guint8 PacketExtendedTimingAdvance; + Global_Packet_Timing_Advance_t GlobalPacket_Timing_Advance; + guint8 Exist_Packet_Extended_Timing_Advance; + guint8 Packet_Extended_Timing_Advance; } PHO_TimingAdvance_t; typedef struct diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 3a2b370..661f37b 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -8,8 +8,8 @@ DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | Desc length = 15 | offset = 0 | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | : End Desc | : End EGPRS_AckNack | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | Desc length = 15 | : End Desc | : End EGPRS_AckNack | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt Polling Req (4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6382c81f7569b4c5a68521c04f6b03a34bfc39dd Gerrit-Change-Number: 19783 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 Aug 24 10:53:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:14 +0000 Subject: Change in osmo-pcu[master]: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19776 ) Change subject: tbf: cosmetic: use GSM_MACBLOCK_LEN where possible ...................................................................... tbf: cosmetic: use GSM_MACBLOCK_LEN where possible Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a --- M src/tbf.cpp 1 file changed, 9 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf.cpp b/src/tbf.cpp index f77b1e2..b3436d8 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1253,10 +1253,10 @@ } new_dl_tbf->was_releasing = was_releasing; - msg = msgb_alloc(23, "rlcmac_dl_ass"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_dl_ass"); if (!msg) return NULL; - ass_vec = bitvec_alloc(23, tall_pcu_ctx); + ass_vec = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); if (!ass_vec) goto free_ret; bitvec_unhex(ass_vec, DUMMY_VEC); @@ -1275,7 +1275,7 @@ } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts->do_rate_ctr_inc(CTR_PKT_DL_ASSIGNMENT); - bitvec_pack(ass_vec, msgb_put(msg, 23)); + bitvec_pack(ass_vec, msgb_put(msg, GSM_MACBLOCK_LEN)); if (poll_ass_dl) { set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); @@ -1304,9 +1304,9 @@ { struct msgb *msg; - msg = msgb_alloc(23, "rlcmac_ul_ass_rej"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass_rej"); - bitvec *packet_access_rej = bitvec_alloc(23, tall_pcu_ctx); + bitvec *packet_access_rej = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); bitvec_unhex(packet_access_rej, DUMMY_VEC); @@ -1315,7 +1315,7 @@ bts->do_rate_ctr_inc(CTR_PKT_ACCESS_REJ); - bitvec_pack(packet_access_rej, msgb_put(msg, 23)); + bitvec_pack(packet_access_rej, msgb_put(msg, GSM_MACBLOCK_LEN)); bitvec_free(packet_access_rej); ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; @@ -1358,11 +1358,11 @@ return NULL; } - msg = msgb_alloc(23, "rlcmac_ul_ass"); + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass"); if (!msg) return NULL; LOGPTBF(new_tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n"); - ass_vec = bitvec_alloc(23, tall_pcu_ctx); + ass_vec = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); if (!ass_vec) goto free_ret; bitvec_unhex(ass_vec, DUMMY_VEC); @@ -1370,7 +1370,7 @@ (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); - bitvec_pack(ass_vec, msgb_put(msg, 23)); + bitvec_pack(ass_vec, msgb_put(msg, GSM_MACBLOCK_LEN)); mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib42770cb009e8d559f733ebedd058e2f0a18820a Gerrit-Change-Number: 19776 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:53:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:15 +0000 Subject: Change in osmo-pcu[master]: tbf: allocate the bitvec on stack in create_{dl, ul}_ass() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19775 ) Change subject: tbf: allocate the bitvec on stack in create_{dl,ul}_ass() ...................................................................... tbf: allocate the bitvec on stack in create_{dl,ul}_ass() Initialize the bit vector to use already allocated memory, so we would not need to allocate additional 23 bytes and copy them from the bit vector to a msgb. Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca --- M src/tbf.cpp 1 file changed, 19 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf.cpp b/src/tbf.cpp index b3436d8..c1ec729 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1192,7 +1192,6 @@ struct msgb *msg; struct gprs_rlcmac_dl_tbf *new_dl_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - bitvec *ass_vec = NULL; int poll_ass_dl = 1; unsigned int rrbp = 0; uint32_t new_poll_fn = 0; @@ -1256,10 +1255,14 @@ msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_dl_ass"); if (!msg) return NULL; - ass_vec = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); - if (!ass_vec) - goto free_ret; - bitvec_unhex(ass_vec, DUMMY_VEC); + + /* Initialize a bit vector that uses allocated msgb as the data buffer. + * Old G++ does not support non-trivial designated initializers. Sigh. */ + struct bitvec bv = { }; + bv.data = msgb_put(msg, GSM_MACBLOCK_LEN); + bv.data_len = GSM_MACBLOCK_LEN; + bitvec_unhex(&bv, DUMMY_VEC); + LOGPTBF(new_dl_tbf, LOGL_INFO, "start Packet Downlink Assignment (PACCH)\n"); mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); Encoding::write_packet_downlink_assignment(mac_control_block, @@ -1268,14 +1271,13 @@ bts_data()->alpha, bts_data()->gamma, -1, 0, is_egprs_enabled()); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n"); - rc = encode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + rc = encode_gsm_rlcmac_downlink(&bv, mac_control_block); if (rc < 0) { LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Downlink Ass failed (%d)\n", rc); goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts->do_rate_ctr_inc(CTR_PKT_DL_ASSIGNMENT); - bitvec_pack(ass_vec, msgb_put(msg, GSM_MACBLOCK_LEN)); if (poll_ass_dl) { set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); @@ -1288,13 +1290,10 @@ } - bitvec_free(ass_vec); talloc_free(mac_control_block); return msg; free_ret: - if (ass_vec != NULL) - bitvec_free(ass_vec); talloc_free(mac_control_block); msgb_free(msg); return NULL; @@ -1333,7 +1332,6 @@ struct msgb *msg = NULL; struct gprs_rlcmac_ul_tbf *new_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - bitvec *ass_vec = NULL; int rc; unsigned int rrbp; uint32_t new_poll_fn; @@ -1361,20 +1359,23 @@ msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass"); if (!msg) return NULL; + + /* Initialize a bit vector that uses allocated msgb as the data buffer. + * Old G++ does not support non-trivial designated initializers. Sigh. */ + struct bitvec bv = { }; + bv.data = msgb_put(msg, GSM_MACBLOCK_LEN); + bv.data_len = GSM_MACBLOCK_LEN; + bitvec_unhex(&bv, DUMMY_VEC); + LOGPTBF(new_tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n"); - ass_vec = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); - if (!ass_vec) - goto free_ret; - bitvec_unhex(ass_vec, DUMMY_VEC); - Encoding::write_packet_uplink_assignment(ass_vec, m_tfi, + Encoding::write_packet_uplink_assignment(&bv, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); - bitvec_pack(ass_vec, msgb_put(msg, GSM_MACBLOCK_LEN)); mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); - rc = decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + rc = decode_gsm_rlcmac_downlink(&bv, mac_control_block); if (rc < 0) { LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Uplink Ass failed (%d)\n", rc); goto free_ret; @@ -1384,13 +1385,10 @@ set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); - bitvec_free(ass_vec); talloc_free(mac_control_block); return msg; free_ret: - if (ass_vec != NULL) - bitvec_free(ass_vec); talloc_free(mac_control_block); msgb_free(msg); return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19775 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4190707d7fa5b1c4c3db745635f88d5afb9e21ca Gerrit-Change-Number: 19775 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 Aug 24 10:53:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:16 +0000 Subject: Change in osmo-pcu[master]: encoding: constify 'tbf' in UL/DL assignment functions In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19730 ) Change subject: encoding: constify 'tbf' in UL/DL assignment functions ...................................................................... encoding: constify 'tbf' in UL/DL assignment functions Change-Id: I9b80ce22914a355592502c936046b233c3ba216d --- M src/encoding.cpp M src/encoding.h 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 881dc61..5d2434b 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -538,7 +538,7 @@ void Encoding::write_packet_uplink_assignment( bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, - struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, + const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, int8_t use_egprs) { // TODO We should use our implementation of encode RLC/MAC Control messages. @@ -629,7 +629,7 @@ /* generate downlink assignment */ void Encoding::write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, - struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, uint8_t ta_ts, bool use_egprs) { diff --git a/src/encoding.h b/src/encoding.h index 2f6b273..525f8e6 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -59,13 +59,13 @@ static void write_packet_uplink_assignment( bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, - struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, int8_t use_egprs); static void write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, - struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, + const struct gprs_rlcmac_dl_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, uint8_t ta_ts, bool use_egprs); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b80ce22914a355592502c936046b233c3ba216d Gerrit-Change-Number: 19730 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 Aug 24 10:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:18 +0000 Subject: Change in osmo-pcu[master]: encoding: do not encode out of range Timing Advance values In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19731 ) Change subject: encoding: do not encode out of range Timing Advance values ...................................................................... encoding: do not encode out of range Timing Advance values According to 3GPP TS 44.060, section 12.12 "Packet Timing Advance", the 'TIMING_ADVANCE_VALUE' field is optional, and takes 6 bits if present. This means that a value that fits in range 0..63 (inclusive) can be encoded (0b111111 == 63). It's possible that tbf->ta() returns GSM48_TA_INVALID == 220, so the bitvec API would encode only 6 LSBs of it: 220 & 0b111111 == 28 Let's ensure that the 'TIMING_ADVANCE_VALUE' is present iff tbf->ta() returns a correct (0 <= x <= 63), and absent otherwise. Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa --- M src/encoding.cpp 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 5d2434b..2025a0f 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -145,7 +145,7 @@ /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ static inline void write_ta(bitvec *dest, unsigned& wp, uint8_t ta) { - if (ta >= GSM48_TA_INVALID) /* No TIMING_ADVANCE_VALUE: */ + if (ta > 63) /* No TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 0, 1); else { /* TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 1, 1); @@ -667,8 +667,13 @@ block->u.Packet_Downlink_Assignment.TIMESLOT_ALLOCATION |= 0x80 >> tn; // timeslot(s) } - block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x1; // TIMING_ADVANCE_VALUE = on - block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.TIMING_ADVANCE_VALUE = tbf->ta(); // TIMING_ADVANCE_VALUE + if (tbf->ta() > 63) { /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x0; // TIMING_ADVANCE_VALUE = off + } else { + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_TIMING_ADVANCE_VALUE = 0x1; // TIMING_ADVANCE_VALUE = on + block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.TIMING_ADVANCE_VALUE = tbf->ta(); // TIMING_ADVANCE_VALUE + } + if (ta_idx < 0) { block->u.Packet_Downlink_Assignment.Packet_Timing_Advance.Exist_IndexAndtimeSlot = 0x0; // TIMING_ADVANCE_INDEX = off } else { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19731 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I342288ea4ef1e218e5744e9be6a8e528d4e697fa Gerrit-Change-Number: 19731 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 Aug 24 10:53:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:19 +0000 Subject: Change in osmo-pcu[master]: encoding: fix RRBP field in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19784 ) Change subject: encoding: fix RRBP field in write_packet_uplink_assignment() ...................................................................... encoding: fix RRBP field in write_packet_uplink_assignment() Do not hard-code 0x00, write what was passed as a parameter. Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 --- M src/encoding.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 2025a0f..6a60485 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -548,7 +548,7 @@ uint8_t ta_ts = 0; /* FIXME: supply it as parameter from caller */ bitvec_write_field(dest, &wp,0x1,2); // Payload Type - bitvec_write_field(dest, &wp,0x0,2); // Uplink block with TDMA framenumber (N+13) + bitvec_write_field(dest, &wp,rrbp,2); // Uplink block with TDMA framenumber (N+13) bitvec_write_field(dest, &wp,poll,1); // Suppl/Polling Bit bitvec_write_field(dest, &wp,0x0,3); // Uplink state flag bitvec_write_field(dest, &wp,0xa,6); // MESSAGE TYPE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9eb362292e9f4c16d4b8f8d4253df0422062eeb4 Gerrit-Change-Number: 19784 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 Aug 24 10:53:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:19 +0000 Subject: Change in osmo-pcu[master]: encoding: use bool for use_egprs in write_packet_uplink_assignment() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19785 ) Change subject: encoding: use bool for use_egprs in write_packet_uplink_assignment() ...................................................................... encoding: use bool for use_egprs in write_packet_uplink_assignment() Change-Id: Iab4fb44c666a0d4fe8c98f5ff9221e23a6f1f2fa --- M src/encoding.cpp M src/encoding.h 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 6a60485..15de6d7 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -539,7 +539,7 @@ bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, - uint8_t gamma, int8_t ta_idx, int8_t use_egprs) + uint8_t gamma, int8_t ta_idx, bool use_egprs) { // TODO We should use our implementation of encode RLC/MAC Control messages. unsigned wp = 0; diff --git a/src/encoding.h b/src/encoding.h index 525f8e6..a556687 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -61,7 +61,7 @@ uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, const struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, uint8_t gamma, int8_t ta_idx, - int8_t use_egprs); + bool use_egprs); static void write_packet_downlink_assignment(RlcMacDownlink_t * block, bool old_tfi_is_valid, uint8_t old_tfi, uint8_t old_downlink, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab4fb44c666a0d4fe8c98f5ff9221e23a6f1f2fa Gerrit-Change-Number: 19785 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 10:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Aug 2020 10:53:20 +0000 Subject: Change in osmo-pcu[master]: encoding: pass pdch slot directly to encoding functions In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19786 ) Change subject: encoding: pass pdch slot directly to encoding functions ...................................................................... encoding: pass pdch slot directly to encoding functions In order to be able to encode frequency hopping parameters, let's pass a const pointer to 'gprs_rlcmac_pdch' (PDCH slot) directly, instead of passing all related parameters separately. Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Related: SYS#4868, OS#4547 --- M src/bts.cpp M src/encoding.cpp M src/encoding.h M tests/types/TypesTest.cpp 4 files changed, 34 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 76ca1b0..5cd2b1d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -899,8 +899,9 @@ trx_no, m_bts.trx[trx_no].arfcn & ~ARFCN_FLAG_MASK, ts_no, ta, tsc, tbf ? tbf->tfi() : -1, usf); plen = Encoding::write_immediate_assignment( - tbf, bv, false, rip->ra, Fn, ta, m_bts.trx[trx_no].arfcn, - ts_no, tsc, usf, false, sb_fn, m_bts.alpha, m_bts.gamma, -1, + &m_bts.trx[trx_no].pdch[ts_no], tbf, bv, + false, rip->ra, Fn, ta, usf, false, sb_fn, + m_bts.alpha, m_bts.gamma, -1, rip->burst_type); do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_UL_TBF); } @@ -967,8 +968,9 @@ void BTS::snd_dl_ass(gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup) { + uint8_t trx_no = tbf->trx->trx_no; + uint8_t ts_no = tbf->first_ts; int plen; - unsigned int ts = tbf->first_ts; LOGPTBF(tbf, LOGL_INFO, "TX: START Immediate Assignment Downlink (PCH)\n"); bitvec *immediate_assignment = bitvec_alloc(22, tall_pcu_ctx); /* without plen */ @@ -976,12 +978,12 @@ /* 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", - tbf->trx->trx_no, tbf->trx->arfcn, - ts, tbf->ta(), poll ? tbf->poll_fn : -1); - plen = Encoding::write_immediate_assignment(tbf, immediate_assignment, true, 125, - (tbf->pdch[ts]->last_rts_fn + 21216) % GSM_MAX_FN, tbf->ta(), - tbf->trx->arfcn, ts, tbf->tsc(), 7, poll, - tbf->poll_fn, m_bts.alpha, m_bts.gamma, -1, + trx_no, tbf->trx->arfcn, ts_no, tbf->ta(), poll ? tbf->poll_fn : -1); + plen = Encoding::write_immediate_assignment(&m_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, + m_bts.alpha, m_bts.gamma, -1, GSM_L1_BURST_TYPE_ACCESS_0); if (plen >= 0) { do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_DL_TBF); diff --git a/src/encoding.cpp b/src/encoding.cpp index 15de6d7..76a1cec 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -439,9 +439,10 @@ * see GSM 04.08, 9.1.18 and GSM 44.018, 9.1.18 + 10.5.2.16 */ int Encoding::write_immediate_assignment( + const struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_tbf *tbf, bitvec * dest, bool downlink, uint16_t ra, - uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, uint8_t tsc, + uint32_t ref_fn, uint8_t ta, uint8_t usf, bool polling, uint32_t fn, uint8_t alpha, uint8_t gamma, int8_t ta_idx, enum ph_burst_type burst_type) { @@ -462,11 +463,12 @@ bitvec_write_field(dest, &wp,0x0,4); // Page Mode // GSM 04.08 10.5.2.25a Packet Channel Description - bitvec_write_field(dest, &wp,0x1,5); // Channel type - bitvec_write_field(dest, &wp,ts,3); // TN - bitvec_write_field(dest, &wp,tsc,3); // TSC - bitvec_write_field(dest, &wp,0x0,3); // non-hopping RF channel configuraion - bitvec_write_field(dest, &wp,arfcn,10); // ARFCN + bitvec_write_field(dest, &wp, 0x01, 5); // Channel type + bitvec_write_field(dest, &wp, pdch->ts_no, 3); // TN + bitvec_write_field(dest, &wp, pdch->tsc, 3); // TSC + + bitvec_write_field(dest, &wp, 0x00, 3); // spare (non-hopping RF channel configuraion) + bitvec_write_field(dest, &wp, pdch->trx->arfcn, 10); // ARFCN //10.5.2.30 Request Reference if (((burst_type == GSM_L1_BURST_TYPE_ACCESS_1) || diff --git a/src/encoding.h b/src/encoding.h index a556687..18392f7 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -42,10 +42,11 @@ class Encoding { public: static int write_immediate_assignment( + const struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_tbf *tbf, bitvec * dest, bool downlink, uint16_t ra, - uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, - uint8_t tsc, uint8_t usf, bool polling, + uint32_t ref_fn, uint8_t ta, + uint8_t usf, bool polling, uint32_t fn, uint8_t alpha, uint8_t gamma, int8_t ta_idx, enum ph_burst_type burst_type); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index e1c894d..353d821 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -728,17 +728,25 @@ static void check_imm_ass(struct gprs_rlcmac_tbf *tbf, bool dl, enum ph_burst_type bt, const uint8_t *exp, uint8_t len, const char *kind) { - uint8_t alpha = 7, gamma = 8, ta = 35, ts = 5, tsc = 1, usf = 1, sz = sizeof(DUMMY_VEC) / 2, plen; + uint8_t alpha = 7, gamma = 8, ta = 35, usf = 1, sz = sizeof(DUMMY_VEC) / 2, plen; bitvec *immediate_assignment = bitvec_alloc(sz, tall_pcu_ctx); struct msgb *m = msgb_alloc(80, "test"); bool poll = true; - uint16_t ra = 13, arfcn = 877; + uint16_t ra = 13; uint32_t ref_fn = 24, fn = 11; int8_t ta_idx = 0; + /* HACK: tbf can be NULL, so we cannot use tbf->trx here */ + struct gprs_rlcmac_trx trx = { }; + trx.pdch[5].trx = &trx; + trx.pdch[5].ts_no = 5; + trx.pdch[5].tsc = 1; + trx.arfcn = 877; + bitvec_unhex(immediate_assignment, DUMMY_VEC); - plen = Encoding::write_immediate_assignment(tbf, immediate_assignment, dl, - ra, ref_fn, ta, arfcn, ts, tsc, usf, + plen = Encoding::write_immediate_assignment(&trx.pdch[5], tbf, + immediate_assignment, + dl, ra, ref_fn, ta, usf, poll, fn, alpha, gamma, ta_idx, bt); printf("[%u] %s Immediate Assignment <%s>:\n\t%s\n", plen, dl ? "DL" : "UL", kind, osmo_hexdump(immediate_assignment->data, sz)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6bccad508f0fdccc4a763211008dd847a9111a8d Gerrit-Change-Number: 19786 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 Aug 24 11:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 11:15:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 to look at the new patch set (#2). Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... stp: Support testing multi-home SCTP features with IPv4+IPv6 The IP addr module parameter is split now, IPA module has its own set of configurable addresses, and M3UA its own. Moreover, in M3UA the single address is transformed to be an array of addresses, to support multi-homing with both IPv4 and IPv6 addresses. Related: SYS#4915 Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 --- M stp/STP_Tests_Common.ttcn M stp/STP_Tests_IPA.ttcn M stp/STP_Tests_M3UA.ttcn 3 files changed, 67 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/19770/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Aug 24 11:18:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 11:18:35 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make rsl mode-modify working again In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19792 ) Change subject: lchan_fsm: make rsl mode-modify working again ...................................................................... Patch Set 1: Code-Review-1 (9 comments) Nice work!! Looking forward to get this merged. https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h File include/osmocom/bsc/lchan_fsm.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/include/osmocom/bsc/lchan_fsm.h at 60 PS1, Line 60: void lchan_modfy(struct gsm_lchan *lchan, struct lchan_activate_info *info); "lchan_mode_modify" with 'mode_' and 'i' please https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/assignment_fsm.c at 442 PS1, Line 442: * however, this will be not the common case. */ (maybe rather drop the "however..." line, not sure how commonly this will be used, could also play a role in handover-related channel re-assignment) https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/assignment_fsm.c at 483 PS1, Line 483: * still the old lchan. */ (use width of 120?) https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/assignment_fsm.c at 486 PS1, Line 486: /* Also we need to spare the RR assignment, so we jump forward s/spare/skip https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c at 539 PS1, Line 539: goto abort; to match the way I usually arranged these FSMs, you would: Dispatch a new event like LCHAN_EV_REQUEST_MODE_MODIFY and pass the activate.info pointer as event argument pointer. (If the state change returns error, go into lchan_fail()) Then the FSM definition can decide whether the event is permitted or not, i.e. this event will only be allowed on state ESTABLISHED. In the ESTABLISHED action I would just state-change into LCHAN_ST_WAIT_CHAN_MODE_MODIF_ACK, and the rest of the code of this function would go into that state's onenter function. https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c at 570 PS1, Line 570: gsm48_lchan_modify(lchan, info->chan_mode); doing things after a state change is dangerous business, FSMs have often bitten me like that because a state change might be doing some error handling and discarding the object. Rather use the state's onenter function. The second theoretical reason for using onenter is that a state change may be caused from multiple places, and the onenter makes sure that each separate caller for that state change has the same actions without needing code dup. Even if there is only one invocation, it would be nice to stay in the same pattern. https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c at 894 PS1, Line 894: lchan_fsm_state_chg(LCHAN_ST_WAIT_RSL_MT_MODE_MODIFY_ACK); same thing, rather place the sending action in the onenter function. (the theoretical reason underneath is that a state change may be caused from multiple places, and the onenter makes sure that each separate caller for that state change has the same actions without needing code dup. Even if there is only one invocation, it would be nice to stay in the same pattern) https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c at 922 PS1, Line 922: lchan_fsm_state_chg(LCHAN_ST_WAIT_RLL_RTP_ESTABLISH); onenter https://gerrit.osmocom.org/c/osmo-bsc/+/19792/1/src/osmo-bsc/lchan_fsm.c at 923 PS1, Line 923: lchan_rtp_fsm_start(lchan); have you looked at the case where an lchan may already be an active voice call when the mode changes? In that case the RTP FSM would need to tear down and/or modify existing MGW endpoints. I guess that case is uncommon, so we could also fail the mode-modify early if RTP is already active? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Gerrit-Change-Number: 19792 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 24 Aug 2020 11:18: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 Mon Aug 24 11:44:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 11:44:44 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19771 to look at the new patch set (#2). Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 Depends: libosmo-sccp.git Change-Id I09226a5cecc37dd4676acd61c2051befe5234cb3 Depends: osmo-ttcn3-hacks.git Change-Id Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh M ttcn3-stp-test/osmo-stp.cfg 3 files changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/19771/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 11:45:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 11:45:21 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 11: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 Mon Aug 24 11:55:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Aug 2020 11:55:11 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: prioritize emergency calls over regular calls In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19793 ) Change subject: abis_rsl: prioritize emergency calls over regular calls ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1331 PS1, Line 1331: bo > I think all other members are self-explanatory, but this one maybe could deserver a one-line comment [?] 'releasing' with 'e' https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1402 PS1, Line 1402: /* Find any busy TCH/H or TCH/F lchan, prefer established and old lchans */ This is not preferring "old" lchans. The order of the timeslots is no good indicator for the duration of the call, especially when a cell is continuously in use. The first used lchan can often be the most recently established, if another call ended shortly before that and released the first slot, which was then rapidly taken for the next call. Shouldn't this also favor actually unused lchans? Shouldn't this also favor an lchan that is currently being released, over an established one? And, what if by coincidence all lchans are currently being established, then this should probably still return one of them and abort the establishment to service the emergency call instead? https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/abis_rsl.c at 1447 PS1, Line 1447: static int handle_emergency_call(struct chan_rqd *rqd) the logic in this function confuses me: - the name suggests that it handles a call, but then when an lchan is available it just exits. (maybe it should be called: 'force_free_lchan_for_emergency'?) - the 'relasing' case sounds like an emergency call is releasing, but still the function looks for an lchan first. - the negative return code in the end seems to not be an error? https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19793/1/src/osmo-bsc/lchan_select.c at 254 PS1, Line 254: lchan_select_avail > naming. We are not selecting a channel, as we are not returning it, or performing any action on it. [?] 'lchan_avail_by_type()', i.e. just s/select/avail from above function name. A more elegant arrangement would be this: struct gsm_lchan *lchan_avail_by_type(bts, type) { [...most of current lchan_select_by_type() function body...] return lchan; } struct gsm_lchan *lchan_select_by_type(bts, type) { lchan = lchan_avail_by_type(bts, type); if (lchan) lchan->type = type; [...] return lchan; } i.e. no third static function is necessary, because the 'select' is just a continuation of the 'avail' -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36 Gerrit-Change-Number: 19793 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 11:55:11 +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 Mon Aug 24 13:23:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 13:23:42 +0000 Subject: Change in libosmo-abis[master]: debian: Build libosmo-abis with osmo-e1d support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19799 ) Change subject: debian: Build libosmo-abis with osmo-e1d support ...................................................................... debian: Build libosmo-abis with osmo-e1d support We've supported building with osmo-e1d support for quite some time, but our Debian packages have not been upgraded to include that support. Let's change that. Related: OS#2547 Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 --- M debian/control M debian/rules 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/99/19799/1 diff --git a/debian/control b/debian/control index c304139..842207c 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ libdpkg-perl, git, libosmocore-dev (>= 1.4.0), + libosmo-e1d-dev, pkg-config, libortp-dev Standards-Version: 3.9.7 diff --git a/debian/rules b/debian/rules index f59ca1e..b229005 100755 --- a/debian/rules +++ b/debian/rules @@ -11,6 +11,12 @@ %: dh $@ --with autoreconf --fail-missing +# debmake generated override targets +# Set options for ./configure +CONFIGURE_FLAGS += --enable-e1d +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) + override_dh_strip: dh_strip --dbg-package=libosmo-abis-dbg -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 Gerrit-Change-Number: 19799 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 Aug 24 14:04:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 14:04:48 +0000 Subject: Change in libosmo-abis[master]: debian: Build libosmo-abis with osmo-e1d support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19799 ) Change subject: debian: Build libosmo-abis with osmo-e1d support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 Gerrit-Change-Number: 19799 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 14:04:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 14:15:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 14:15:53 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... jenkins-common.sh: Add function to print docker network related parameters Change-Id: Ie00561de7a4494065156a124565e2190151e6019 --- M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-gsm-tester/jenkins.sh M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-nitb-sysinfo/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 20 files changed, 100 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/00/19800/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 2993767..d9e79a4 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -98,6 +98,15 @@ docker network remove $NET_NAME } +# Generates list of params to pass to "docker run" to configure IP addresses +# $1: SUBNET to use, same as passed to network_create() +# $2: Address suffix from SUBNET to apply to the container +docker_network_params() { + NET=$1 + ADDR_SUFIX=$2 + echo --network $NET_NAME --ip "172.18.$NET.$ADDR_SUFIX" --ip6 "fd02:db8:$NET::$ADDR_SUFIX" +} + fix_perms() { if ! docker_image_exists "debian-stretch-build"; then docker_images_require "debian-stretch-build" diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index ac6a880..fff96b7 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -15,12 +15,13 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 7 +SUBNET=7 +network_create $SUBNET # start container with STP in background docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.7.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp \ @@ -28,7 +29,7 @@ # start docker container with tests docker run --rm \ - --network $NET_NAME --ip 172.18.7.2 \ + $(docker_network_params $SUBNET 2) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/m3ua-tester:/data \ --name ${BUILD_TAG}-m3ua-test \ diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index 39d37bb..d62ac29 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -15,12 +15,13 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 6 +SUBNET=6 +network_create $SUBNET # start container with STP in background docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.6.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp \ @@ -28,7 +29,7 @@ # start docker container with tests docker run --rm \ - --network $NET_NAME --ip 172.18.6.3 \ + $(docker_network_params $SUBNET 3) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sua-tester:/data \ --name ${BUILD_TAG}-sua-test \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 5066012..5d30f42 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -58,7 +58,8 @@ "debian-stretch-jenkins" \ "osmo-gsm-tester" -network_create 50 +SUBNET=50 +network_create $SUBNET mkdir $VOL_BASE_DIR/ogt-slave cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ @@ -72,8 +73,7 @@ --cap-add=SYS_ADMIN \ --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ - --network $NET_NAME \ - --ip 172.18.50.100 \ + $(docker_network_params $SUBNET 100) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ogt-slave:/data \ --name ${BUILD_TAG}-ogt-slave -d \ @@ -88,8 +88,7 @@ --cap-add=SYS_ADMIN \ --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ - --network $NET_NAME \ - --ip 172.18.50.2 \ + $(docker_network_params $SUBNET 2) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v "${TRIAL_DIR}:/tmp/trial" \ diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index f49474b..ab8c06d 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,7 +16,8 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -network_create 12 +SUBNET=12 +network_create $SUBNET # Disable stats testing until libosmocore release > 1.4.0 if [ "$IMAGE_SUFFIX" = "latest" ]; then @@ -27,7 +28,7 @@ echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.12.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -37,7 +38,7 @@ for i in `seq 0 2`; do echo Starting container with OML for BTS$i docker run --rm \ - --network $NET_NAME --ip 172.18.12.10$i \ + $(docker_network_params $SUBNET 10$i) \ --ulimit core=-1 \ --name ${BUILD_TAG}-bts$i -d \ $DOCKER_ARGS \ @@ -47,7 +48,7 @@ echo Starting container with BSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.12.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 2319b9c..e005eae 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -31,11 +31,12 @@ sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi -network_create 2 +SUBNET=2 +network_create $SUBNET echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.2.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -45,7 +46,7 @@ echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.2.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -55,7 +56,7 @@ for i in `seq 0 2`; do echo Starting container with OML for BTS$i docker run --rm \ - --network $NET_NAME --ip 172.18.2.10$i \ + $(docker_network_params $SUBNET 10$i) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bts-omldummy:/data \ --name ${BUILD_TAG}-bts$i -d \ @@ -66,7 +67,7 @@ echo Starting container with BSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.2.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 08d5be8..9b04955 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -14,11 +14,12 @@ cp osmo-bsc-nat.cfg $VOL_BASE_DIR/bscnat/ cp bscs.config $VOL_BASE_DIR/bscnat/ -network_create 15 +SUBNET=15 +network_create $SUBNET echo Starting container with BSCNAT docker run --rm \ - --network $NET_NAME --ip 172.18.15.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bscnat:/data \ --name ${BUILD_TAG}-bscnat -d \ @@ -28,7 +29,7 @@ echo Starting container with BSCNAT testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.15.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bscnat-tester:/data \ diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index b05a335..f544d8a 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -12,7 +12,7 @@ start_bsc() { echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.9.11 \ + $(docker_network_params $SUBNET 11) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -31,7 +31,7 @@ exit 23 fi docker run --rm \ - --network $NET_NAME --ip 172.18.9.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bts:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -45,7 +45,7 @@ start_fake_trx() { echo Starting container with fake_trx docker run --rm \ - --network $NET_NAME --ip 172.18.9.21 \ + $(docker_network_params $SUBNET 21) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/fake_trx:/data \ --name ${BUILD_TAG}-fake_trx -d \ @@ -65,7 +65,7 @@ start_trxcon() { echo Starting container with trxcon docker run --rm \ - --network $NET_NAME --ip 172.18.9.22 \ + $(docker_network_params $SUBNET 22) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/trxcon:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -78,7 +78,7 @@ start_virtphy() { echo Starting container with virtphy docker run --rm \ - --network $NET_NAME --ip 172.18.9.22 \ + $(docker_network_params $SUBNET 22) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/virtphy:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -92,7 +92,7 @@ echo Starting container with BTS testsuite variant=$1 # e.g 'generic', 'oml', 'hopping' docker run --rm \ - --network $NET_NAME --ip 172.18.9.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bts-tester-${variant}:/data \ @@ -102,7 +102,8 @@ $REPO_USER/ttcn3-bts-test } -network_create 9 +SUBNET=9 +network_create $SUBNET mkdir $VOL_BASE_DIR/bts-tester-generic cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-generic/ @@ -160,6 +161,7 @@ # switch back from virtphy + osmo-bts-virtual to osmo-bts-trx docker container kill ${BUILD_TAG}-virtphy docker container kill ${BUILD_TAG}-bts + cp oml/osmo-bts.cfg $VOL_BASE_DIR/bts/ start_bts trx 1 start_fake_trx @@ -187,7 +189,7 @@ docker container kill ${BUILD_TAG}-fake_trx docker container kill ${BUILD_TAG}-bsc docker container kill ${BUILD_TAG}-bts - +docker container kill ${BUILD_TAG}-bsc network_remove rm -rf $VOL_BASE_DIR/unix diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index f6d5867..0aabe8a 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -12,14 +12,15 @@ mkdir $VOL_BASE_DIR/ggsn cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ -network_create 3 +SUBNET=3 +network_create $SUBNET # start container with ggsn in background docker run --cap-add=NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ --rm \ - --network $NET_NAME --ip 172.18.3.201 --ip6 fd02:db8:3::201 \ + $(docker_network_params $SUBNET 201) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ @@ -30,7 +31,7 @@ # start docker container with testsuite in foreground docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.3.202 --ip6 fd02:db8:3::202 \ + $(docker_network_params $SUBNET 202) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 337491d..93ba6c3 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-hlr-$IMAGE_SUFFIX" \ "ttcn3-hlr-test" -network_create 10 +SUBNET=10 +network_create $SUBNET mkdir $VOL_BASE_DIR/hlr-tester cp HLR_Tests.cfg $VOL_BASE_DIR/hlr-tester/ @@ -22,7 +23,7 @@ echo Starting container with HLR docker run --rm \ - --network $NET_NAME --ip 172.18.10.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/hlr:/data \ --name ${BUILD_TAG}-hlr -d \ @@ -32,7 +33,7 @@ echo Starting container with HLR testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.10.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/hlr-tester:/data \ diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 15fab49..c704005 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -12,11 +12,12 @@ mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -network_create 4 +SUBNET=4 +network_create $SUBNET # start container with mgw in background docker run --rm \ - --network $NET_NAME --ip 172.18.4.180 \ + $(docker_network_params $SUBNET 180) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/mgw:/data \ --name ${BUILD_TAG}-mgw -d \ @@ -25,7 +26,7 @@ # start docker container with testsuite in foreground docker run --rm \ - --network $NET_NAME --ip 172.18.4.181 \ + $(docker_network_params $SUBNET 181) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/mgw-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index f229868..03afb24 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,8 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 20 +SUBNET=20 +network_create $SUBNET mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix @@ -32,7 +33,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.20.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -40,7 +41,7 @@ echo Starting container with MSC docker run --rm \ - --network $NET_NAME --ip 172.18.20.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -51,7 +52,7 @@ echo Starting container with MSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.20.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/msc-tester:/data \ diff --git a/ttcn3-nitb-sysinfo/jenkins.sh b/ttcn3-nitb-sysinfo/jenkins.sh index 166a04d..c31ad6d 100755 --- a/ttcn3-nitb-sysinfo/jenkins.sh +++ b/ttcn3-nitb-sysinfo/jenkins.sh @@ -2,13 +2,14 @@ . ../jenkins-common.sh -network_create 5 +SUBNET=5 +network_create $SUBNET # start container with nitb in background docker volume rm nitb-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v nitb-vol:/data \ --name ${BUILD_TAG}-nitb -d \ @@ -18,7 +19,7 @@ docker volume rm bts-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.210 \ + $(docker_network_params $SUBNET 210) \ --ulimit core=-1 \ -v bts-vol:/data \ --name ${BUILD_TAG}-bts -d \ @@ -29,7 +30,7 @@ docker volume rm ttcn3-nitb-sysinfo-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.230 \ + $(docker_network_params $SUBNET 230) \ --ulimit core=-1 \ -v ttcn3-nitb-sysinfo-vol:/data \ --name ${BUILD_TAG}-ttcn3-nitb-sysinfo \ diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 00376e7..9428776 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -6,7 +6,8 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 14 +SUBNET=14 +network_create $SUBNET mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix @@ -20,7 +21,7 @@ echo Starting container with PCU docker run --rm \ - --network $NET_NAME --ip 172.18.14.101 \ + $(docker_network_params $SUBNET 101) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with PCU testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.14.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/pcu-tester:/data \ diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index fa4c914..5dedec7 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 13 +SUBNET=13 +network_create $SUBNET mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix @@ -20,7 +21,7 @@ echo Starting container with PCU docker run --rm \ - --network $NET_NAME --ip 172.18.13.101 \ + $(docker_network_params $SUBNET 101) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with PCU testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.13.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/pcu-tester:/data \ diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index c2e958c..58279b9 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -9,7 +9,7 @@ start_server() { echo Starting container with osmo-remsim-server docker run --rm \ - --network $NET_NAME --ip 172.18.17.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/server:/data \ --name ${BUILD_TAG}-server -d \ @@ -21,7 +21,7 @@ start_bankd() { echo Starting container with osmo-remsim-bankd docker run --rm \ - --network $NET_NAME --ip 172.18.17.30 \ + $(docker_network_params $SUBNET 30) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bankd:/data \ --name ${BUILD_TAG}-bankd -d \ @@ -33,7 +33,7 @@ start_client() { echo Starting container with osmo-remsim-client docker run --rm \ - --network $NET_NAME --ip 172.18.17.40 \ + $(docker_network_params $SUBNET 40) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ @@ -47,7 +47,7 @@ start_testsuite() { echo Starting container with REMSIM testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.17.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/remsim-tester:/data \ @@ -56,7 +56,8 @@ $REPO_USER/ttcn3-remsim-test } -network_create 17 +SUBNET=17 +network_create $SUBNET mkdir $VOL_BASE_DIR/remsim-tester diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 895f12c..b47589c 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -13,11 +13,12 @@ mkdir $VOL_BASE_DIR/sccp cp sccp_demo_user.cfg $VOL_BASE_DIR/sccp/ -network_create 22 +SUBNET=22 +network_create $SUBNET echo Starting container with sccp_demo_user docker run --rm \ - --network $NET_NAME --ip 172.18.22.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sccp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -28,7 +29,7 @@ echo Starting container with SCCP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.22.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sccp-tester:/data \ diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index df91256..329dbef 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -7,7 +7,8 @@ "osmo-sgsn-$IMAGE_SUFFIX" \ "ttcn3-sgsn-test" -network_create 8 +SUBNET=8 +network_create $SUBNET mkdir $VOL_BASE_DIR/sgsn-tester cp SGSN_Tests.cfg $VOL_BASE_DIR/sgsn-tester/ @@ -22,7 +23,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.8.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -31,7 +32,7 @@ echo Starting container with SGSN docker run --rm \ - --network $NET_NAME --ip 172.18.8.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sgsn:/data \ --name ${BUILD_TAG}-sgsn -d \ @@ -41,7 +42,7 @@ echo Starting container with SGSN testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.8.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ @@ -51,7 +52,7 @@ echo Starting container to merge logs docker run --rm \ - --network $NET_NAME --ip 172.18.8.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index f1bfedd..36252b0 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-sip-$IMAGE_SUFFIX" \ "ttcn3-sip-test" -network_create 11 +SUBNET=11 +network_create $SUBNET mkdir $VOL_BASE_DIR/sip-tester mkdir $VOL_BASE_DIR/sip-tester/unix @@ -20,7 +21,7 @@ echo Starting container with osmo-sip-connector docker run --rm \ - --network $NET_NAME --ip 172.18.11.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sip:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with SIP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.11.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sip-tester:/data \ diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index c09d5c2..1b20c3f 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -12,11 +12,12 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 19 +SUBNET=19 +network_create $SUBNET echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.19.200 --ip6 fd02:db8:19::200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -25,7 +26,7 @@ echo Starting container with STP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.19.203 --ip6 fd02:db8:19::203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-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 Aug 24 14:28:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 14:28:03 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... Patch Set 1: Code-Review+2 > Well it's being used if it exists by qt-creator and by visual studio, how would I know what kind of setup other people use? The part of the setup that everyone uses is git. So if you want to start with some automatic syntax verification based on clang-format (which I thought this was about), it should be integrated with git. There are probably various different ways to do this, but I would think a local hook on the client would be useful, warning if a commit introduces malformatted code. Something like https://github.com/barisione/clang-format-hooks ? In terms of enforcement, if you wanted to go there, this would happen to have on the gerrit side. > I also want to have it in this project, so it can be used in this project, not somewhere where I need to check out a different repo and copy the file just to have it in this project which means no one is going to use it. In general, we try to share whatever can be shared between projects in common repositories, rather than copy+pasting. But if you only want this in osmo-trx, I misread your intentions. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 14:28:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 14:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 14:28:35 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 10: ping? Would be good if feedback was incorporated so this can finally be merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 14: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 Aug 24 14:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 14:28:53 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 14:28: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 Aug 24 14:29:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 14:29:00 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 Gerrit-Change-Number: 19650 Gerrit-PatchSet: 12 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 14:29: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 Aug 24 14:29:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Aug 2020 14:29:33 +0000 Subject: Change in osmo-trx[master]: add kernel style .clang-format with 120 chars per line limit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19640 ) Change subject: add kernel style .clang-format with 120 chars per line limit ...................................................................... add kernel style .clang-format with 120 chars per line limit Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 --- A .clang-format 1 file changed, 521 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..a11c325 --- /dev/null +++ b/.clang-format @@ -0,0 +1,521 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \ +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ +# | sort | uniq +ForEachMacros: + - 'apei_estatus_for_each_section' + - 'ata_for_each_dev' + - 'ata_for_each_link' + - '__ata_qc_for_each' + - 'ata_qc_for_each' + - 'ata_qc_for_each_raw' + - 'ata_qc_for_each_with_internal' + - 'ax25_for_each' + - 'ax25_uid_for_each' + - '__bio_for_each_bvec' + - 'bio_for_each_bvec' + - 'bio_for_each_integrity_vec' + - '__bio_for_each_segment' + - 'bio_for_each_segment' + - 'bio_for_each_segment_all' + - 'bio_list_for_each' + - 'bip_for_each_vec' + - 'bitmap_for_each_clear_region' + - 'bitmap_for_each_set_region' + - 'blkg_for_each_descendant_post' + - 'blkg_for_each_descendant_pre' + - 'blk_queue_for_each_rl' + - 'bond_for_each_slave' + - 'bond_for_each_slave_rcu' + - 'bpf_for_each_spilled_reg' + - 'btree_for_each_safe128' + - 'btree_for_each_safe32' + - 'btree_for_each_safe64' + - 'btree_for_each_safel' + - 'card_for_each_dev' + - 'cgroup_taskset_for_each' + - 'cgroup_taskset_for_each_leader' + - 'cpufreq_for_each_entry' + - 'cpufreq_for_each_entry_idx' + - 'cpufreq_for_each_valid_entry' + - 'cpufreq_for_each_valid_entry_idx' + - 'css_for_each_child' + - 'css_for_each_descendant_post' + - 'css_for_each_descendant_pre' + - 'device_for_each_child_node' + - 'dma_fence_chain_for_each' + - 'drm_atomic_crtc_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane_state' + - 'drm_atomic_for_each_plane_damage' + - 'drm_client_for_each_connector_iter' + - 'drm_client_for_each_modeset' + - 'drm_connector_for_each_possible_encoder' + - 'drm_for_each_bridge_in_chain' + - 'drm_for_each_connector_iter' + - 'drm_for_each_crtc' + - 'drm_for_each_encoder' + - 'drm_for_each_encoder_mask' + - 'drm_for_each_fb' + - 'drm_for_each_legacy_plane' + - 'drm_for_each_plane' + - 'drm_for_each_plane_mask' + - 'drm_for_each_privobj' + - 'drm_mm_for_each_hole' + - 'drm_mm_for_each_node' + - 'drm_mm_for_each_node_in_range' + - 'drm_mm_for_each_node_safe' + - 'flow_action_for_each' + - 'for_each_active_dev_scope' + - 'for_each_active_drhd_unit' + - 'for_each_active_iommu' + - 'for_each_available_child_of_node' + - 'for_each_bio' + - 'for_each_board_func_rsrc' + - 'for_each_bvec' + - 'for_each_card_auxs' + - 'for_each_card_auxs_safe' + - 'for_each_card_components' + - 'for_each_card_pre_auxs' + - 'for_each_card_prelinks' + - 'for_each_card_rtds' + - 'for_each_card_rtds_safe' + - 'for_each_cgroup_storage_type' + - 'for_each_child_of_node' + - 'for_each_clear_bit' + - 'for_each_clear_bit_from' + - 'for_each_cmsghdr' + - 'for_each_compatible_node' + - 'for_each_component_dais' + - 'for_each_component_dais_safe' + - 'for_each_comp_order' + - 'for_each_console' + - 'for_each_cpu' + - 'for_each_cpu_and' + - 'for_each_cpu_not' + - 'for_each_cpu_wrap' + - 'for_each_dev_addr' + - 'for_each_dev_scope' + - 'for_each_displayid_db' + - 'for_each_dma_cap_mask' + - 'for_each_dpcm_be' + - 'for_each_dpcm_be_rollback' + - 'for_each_dpcm_be_safe' + - 'for_each_dpcm_fe' + - 'for_each_drhd_unit' + - 'for_each_dss_dev' + - 'for_each_efi_handle' + - 'for_each_efi_memory_desc' + - 'for_each_efi_memory_desc_in_map' + - 'for_each_element' + - 'for_each_element_extid' + - 'for_each_element_id' + - 'for_each_endpoint_of_node' + - 'for_each_evictable_lru' + - 'for_each_fib6_node_rt_rcu' + - 'for_each_fib6_walker_rt' + - 'for_each_free_mem_pfn_range_in_zone' + - 'for_each_free_mem_pfn_range_in_zone_from' + - 'for_each_free_mem_range' + - 'for_each_free_mem_range_reverse' + - 'for_each_func_rsrc' + - 'for_each_hstate' + - 'for_each_if' + - 'for_each_iommu' + - 'for_each_ip_tunnel_rcu' + - 'for_each_irq_nr' + - 'for_each_link_codecs' + - 'for_each_link_platforms' + - 'for_each_lru' + - 'for_each_matching_node' + - 'for_each_matching_node_and_match' + - 'for_each_member' + - 'for_each_memblock' + - 'for_each_memblock_type' + - 'for_each_memcg_cache_index' + - 'for_each_mem_pfn_range' + - 'for_each_mem_range' + - 'for_each_mem_range_rev' + - 'for_each_migratetype_order' + - 'for_each_msi_entry' + - 'for_each_msi_entry_safe' + - 'for_each_net' + - 'for_each_net_continue_reverse' + - 'for_each_netdev' + - 'for_each_netdev_continue' + - 'for_each_netdev_continue_rcu' + - 'for_each_netdev_continue_reverse' + - 'for_each_netdev_feature' + - 'for_each_netdev_in_bond_rcu' + - 'for_each_netdev_rcu' + - 'for_each_netdev_reverse' + - 'for_each_netdev_safe' + - 'for_each_net_rcu' + - 'for_each_new_connector_in_state' + - 'for_each_new_crtc_in_state' + - 'for_each_new_mst_mgr_in_state' + - 'for_each_new_plane_in_state' + - 'for_each_new_private_obj_in_state' + - 'for_each_node' + - 'for_each_node_by_name' + - 'for_each_node_by_type' + - 'for_each_node_mask' + - 'for_each_node_state' + - 'for_each_node_with_cpus' + - 'for_each_node_with_property' + - 'for_each_of_allnodes' + - 'for_each_of_allnodes_from' + - 'for_each_of_cpu_node' + - 'for_each_of_pci_range' + - 'for_each_old_connector_in_state' + - 'for_each_old_crtc_in_state' + - 'for_each_old_mst_mgr_in_state' + - 'for_each_oldnew_connector_in_state' + - 'for_each_oldnew_crtc_in_state' + - 'for_each_oldnew_mst_mgr_in_state' + - 'for_each_oldnew_plane_in_state' + - 'for_each_oldnew_plane_in_state_reverse' + - 'for_each_oldnew_private_obj_in_state' + - 'for_each_old_plane_in_state' + - 'for_each_old_private_obj_in_state' + - 'for_each_online_cpu' + - 'for_each_online_node' + - 'for_each_online_pgdat' + - 'for_each_pci_bridge' + - 'for_each_pci_dev' + - 'for_each_pci_msi_entry' + - 'for_each_populated_zone' + - 'for_each_possible_cpu' + - 'for_each_present_cpu' + - 'for_each_prime_number' + - 'for_each_prime_number_from' + - 'for_each_process' + - 'for_each_process_thread' + - 'for_each_property_of_node' + - 'for_each_registered_fb' + - 'for_each_reserved_mem_region' + - 'for_each_rtd_codec_dai' + - 'for_each_rtd_codec_dai_rollback' + - 'for_each_rtd_components' + - 'for_each_set_bit' + - 'for_each_set_bit_from' + - 'for_each_set_clump8' + - 'for_each_sg' + - 'for_each_sg_dma_page' + - 'for_each_sg_page' + - 'for_each_sibling_event' + - 'for_each_subelement' + - 'for_each_subelement_extid' + - 'for_each_subelement_id' + - '__for_each_thread' + - 'for_each_thread' + - 'for_each_wakeup_source' + - 'for_each_zone' + - 'for_each_zone_zonelist' + - 'for_each_zone_zonelist_nodemask' + - 'fwnode_for_each_available_child_node' + - 'fwnode_for_each_child_node' + - 'fwnode_graph_for_each_endpoint' + - 'gadget_for_each_ep' + - 'genradix_for_each' + - 'genradix_for_each_from' + - 'hash_for_each' + - 'hash_for_each_possible' + - 'hash_for_each_possible_rcu' + - 'hash_for_each_possible_rcu_notrace' + - 'hash_for_each_possible_safe' + - 'hash_for_each_rcu' + - 'hash_for_each_safe' + - 'hctx_for_each_ctx' + - 'hlist_bl_for_each_entry' + - 'hlist_bl_for_each_entry_rcu' + - 'hlist_bl_for_each_entry_safe' + - 'hlist_for_each' + - 'hlist_for_each_entry' + - 'hlist_for_each_entry_continue' + - 'hlist_for_each_entry_continue_rcu' + - 'hlist_for_each_entry_continue_rcu_bh' + - 'hlist_for_each_entry_from' + - 'hlist_for_each_entry_from_rcu' + - 'hlist_for_each_entry_rcu' + - 'hlist_for_each_entry_rcu_bh' + - 'hlist_for_each_entry_rcu_notrace' + - 'hlist_for_each_entry_safe' + - '__hlist_for_each_rcu' + - 'hlist_for_each_safe' + - 'hlist_nulls_for_each_entry' + - 'hlist_nulls_for_each_entry_from' + - 'hlist_nulls_for_each_entry_rcu' + - 'hlist_nulls_for_each_entry_safe' + - 'i3c_bus_for_each_i2cdev' + - 'i3c_bus_for_each_i3cdev' + - 'ide_host_for_each_port' + - 'ide_port_for_each_dev' + - 'ide_port_for_each_present_dev' + - 'idr_for_each_entry' + - 'idr_for_each_entry_continue' + - 'idr_for_each_entry_continue_ul' + - 'idr_for_each_entry_ul' + - 'in_dev_for_each_ifa_rcu' + - 'in_dev_for_each_ifa_rtnl' + - 'inet_bind_bucket_for_each' + - 'inet_lhash2_for_each_icsk_rcu' + - 'key_for_each' + - 'key_for_each_safe' + - 'klp_for_each_func' + - 'klp_for_each_func_safe' + - 'klp_for_each_func_static' + - 'klp_for_each_object' + - 'klp_for_each_object_safe' + - 'klp_for_each_object_static' + - 'kvm_for_each_memslot' + - 'kvm_for_each_vcpu' + - 'list_for_each' + - 'list_for_each_codec' + - 'list_for_each_codec_safe' + - 'list_for_each_continue' + - 'list_for_each_entry' + - 'list_for_each_entry_continue' + - 'list_for_each_entry_continue_rcu' + - 'list_for_each_entry_continue_reverse' + - 'list_for_each_entry_from' + - 'list_for_each_entry_from_rcu' + - 'list_for_each_entry_from_reverse' + - 'list_for_each_entry_lockless' + - 'list_for_each_entry_rcu' + - 'list_for_each_entry_reverse' + - 'list_for_each_entry_safe' + - 'list_for_each_entry_safe_continue' + - 'list_for_each_entry_safe_from' + - 'list_for_each_entry_safe_reverse' + - 'list_for_each_prev' + - 'list_for_each_prev_safe' + - 'list_for_each_safe' + - 'llist_for_each' + - 'llist_for_each_entry' + - 'llist_for_each_entry_safe' + - 'llist_for_each_safe' + - 'mci_for_each_dimm' + - 'media_device_for_each_entity' + - 'media_device_for_each_intf' + - 'media_device_for_each_link' + - 'media_device_for_each_pad' + - 'nanddev_io_for_each_page' + - 'netdev_for_each_lower_dev' + - 'netdev_for_each_lower_private' + - 'netdev_for_each_lower_private_rcu' + - 'netdev_for_each_mc_addr' + - 'netdev_for_each_uc_addr' + - 'netdev_for_each_upper_dev_rcu' + - 'netdev_hw_addr_list_for_each' + - 'nft_rule_for_each_expr' + - 'nla_for_each_attr' + - 'nla_for_each_nested' + - 'nlmsg_for_each_attr' + - 'nlmsg_for_each_msg' + - 'nr_neigh_for_each' + - 'nr_neigh_for_each_safe' + - 'nr_node_for_each' + - 'nr_node_for_each_safe' + - 'of_for_each_phandle' + - 'of_property_for_each_string' + - 'of_property_for_each_u32' + - 'pci_bus_for_each_resource' + - 'ping_portaddr_for_each_entry' + - 'plist_for_each' + - 'plist_for_each_continue' + - 'plist_for_each_entry' + - 'plist_for_each_entry_continue' + - 'plist_for_each_entry_safe' + - 'plist_for_each_safe' + - 'pnp_for_each_card' + - 'pnp_for_each_dev' + - 'protocol_for_each_card' + - 'protocol_for_each_dev' + - 'queue_for_each_hw_ctx' + - 'radix_tree_for_each_slot' + - 'radix_tree_for_each_tagged' + - 'rbtree_postorder_for_each_entry_safe' + - 'rdma_for_each_block' + - 'rdma_for_each_port' + - 'resource_list_for_each_entry' + - 'resource_list_for_each_entry_safe' + - 'rhl_for_each_entry_rcu' + - 'rhl_for_each_rcu' + - 'rht_for_each' + - 'rht_for_each_entry' + - 'rht_for_each_entry_from' + - 'rht_for_each_entry_rcu' + - 'rht_for_each_entry_rcu_from' + - 'rht_for_each_entry_safe' + - 'rht_for_each_from' + - 'rht_for_each_rcu' + - 'rht_for_each_rcu_from' + - '__rq_for_each_bio' + - 'rq_for_each_bvec' + - 'rq_for_each_segment' + - 'scsi_for_each_prot_sg' + - 'scsi_for_each_sg' + - 'sctp_for_each_hentry' + - 'sctp_skb_for_each' + - 'shdma_for_each_chan' + - '__shost_for_each_device' + - 'shost_for_each_device' + - 'sk_for_each' + - 'sk_for_each_bound' + - 'sk_for_each_entry_offset_rcu' + - 'sk_for_each_from' + - 'sk_for_each_rcu' + - 'sk_for_each_safe' + - 'sk_nulls_for_each' + - 'sk_nulls_for_each_from' + - 'sk_nulls_for_each_rcu' + - 'snd_array_for_each' + - 'snd_pcm_group_for_each_entry' + - 'snd_soc_dapm_widget_for_each_path' + - 'snd_soc_dapm_widget_for_each_path_safe' + - 'snd_soc_dapm_widget_for_each_sink_path' + - 'snd_soc_dapm_widget_for_each_source_path' + - 'tb_property_for_each' + - 'tcf_exts_for_each_action' + - 'udp_portaddr_for_each_entry' + - 'udp_portaddr_for_each_entry_rcu' + - 'usb_hub_for_each_child' + - 'v4l2_device_for_each_subdev' + - 'v4l2_m2m_for_each_dst_buf' + - 'v4l2_m2m_for_each_dst_buf_safe' + - 'v4l2_m2m_for_each_src_buf' + - 'v4l2_m2m_for_each_src_buf_safe' + - 'virtio_device_for_each_vq' + - 'xa_for_each' + - 'xa_for_each_marked' + - 'xa_for_each_range' + - 'xa_for_each_start' + - 'xas_for_each' + - 'xas_for_each_conflict' + - 'xas_for_each_marked' + - 'xbc_array_for_each_value' + - 'xbc_for_each_key_value' + - 'xbc_node_for_each_array_value' + - 'xbc_node_for_each_child' + - 'xbc_node_for_each_key_value' + - 'zorro_for_each_dev' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: Inner +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39 Gerrit-Change-Number: 19640 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 14:39:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 14:39:57 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Aug 2020 14:39: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 Aug 24 16:09:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:09:52 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/19771 to look at the new patch set (#3). Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 Depends: libosmo-sccp.git Change-Id I09226a5cecc37dd4676acd61c2051befe5234cb3 Depends: osmo-ttcn3-hacks.git Change-Id Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh M ttcn3-stp-test/osmo-stp.cfg 3 files changed, 23 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/19771/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Aug 24 16:09:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:09:52 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... jenkins-common.sh: Add function to print docker network related parameters Change-Id: Ie00561de7a4494065156a124565e2190151e6019 --- M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-gsm-tester/jenkins.sh M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-nitb-sysinfo/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 20 files changed, 100 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/00/19800/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 16:09:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:09:53 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 --- M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/01/19801/1 diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index e005eae..b25ae9d 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -31,6 +31,12 @@ sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-bsc.cfg +fi + SUBNET=2 network_create $SUBNET diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index bce5941..dbb0f17 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -65,7 +65,10 @@ no e1_line 0 keepalive cs7 instance 0 asp asp-clnt-msc-0 2905 2905 m3ua + local-ip 172.18.2.20 + local-ip fd02:db8:2::20 remote-ip 172.18.2.200 + remote-ip fd02:db8:2::200 sccp-address msc2 point-code 0.0.2 sccp-address msc3 diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 0c6d3a2..764df58 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -38,7 +38,9 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-msc0-0 23905 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as mahlzeit ipa routing-key 0 0.23.4 point-code override dpc 0.23.1 @@ -48,14 +50,18 @@ asp virt-msc1-0 23906 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as virt-msc1 m3ua asp virt-msc1-0 routing-key 2 0.0.2 asp virt-msc2-0 23907 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as virt-msc2 m3ua asp virt-msc2-0 routing-key 3 0.0.3 @@ -66,5 +72,8 @@ update route 0.0.3 7.255.7 linkset virt-msc2 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.2.200 + local-ip fd02:db8:2::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.2.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-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 Aug 24 16:09:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:09:53 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce --- M ttcn3-msc-test/jenkins.sh M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/02/19802/1 diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 03afb24..ea28031 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -29,6 +29,12 @@ mkdir $VOL_BASE_DIR/msc/unix cp osmo-msc.cfg $VOL_BASE_DIR/msc/ +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-msc.cfg +fi + mkdir $VOL_BASE_DIR/unix echo Starting container with STP diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index 6007e25..fd120b9 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -58,7 +58,10 @@ cs7 instance 0 point-code 0.23.1 asp asp-clnt-OsmoMSC-A 2905 0 m3ua + local-ip 172.18.20.10 + local-ip fd02:db8:20::10 remote-ip 172.18.20.200 + remote-ip fd02:db8:20::200 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A routing-key 3 0.23.1 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index d13e4a7..5fc4abd 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -38,19 +38,25 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-bsc0-0 23906 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-bsc0 m3ua asp virt-bsc0-0 routing-key 0 0.24.1 asp virt-bsc1-0 23907 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 asp virt-rnc0-0 23908 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 @@ -60,5 +66,8 @@ update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.20.200 + local-ip fd02:db8:20::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.20.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-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 Aug 24 16:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:16:45 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 --- M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/01/19801/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 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 Aug 24 16:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 16:16:45 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce --- M ttcn3-msc-test/jenkins.sh M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/02/19802/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 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 Aug 24 17:11:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 17:11:05 +0000 Subject: Change in docker-playground[master]: WIP References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: WIP ...................................................................... WIP Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 --- M ttcn3-sgsn-test/jenkins.sh M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg 3 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/19803/1 diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 329dbef..5d55093 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -19,6 +19,12 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg +fi + mkdir $VOL_BASE_DIR/unix echo Starting container with STP diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index 68af562..e571315 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -56,7 +56,10 @@ cs7 instance 0 point-code 0.23.4 asp asp-clnt-OsmoSGSN-A 2905 0 m3ua + local-ip 172.18.8.10 + local-ip fd02:db8:8::10 remote-ip 172.18.8.200 + remote-ip fd02:db8:8::200 as as-clnt-OsmoSGSN-A m3ua asp asp-clnt-OsmoSGSN-A routing-key 3 0.23.4 diff --git a/ttcn3-sgsn-test/osmo-stp.cfg b/ttcn3-sgsn-test/osmo-stp.cfg index a0b5b0b..3ee0668 100644 --- a/ttcn3-sgsn-test/osmo-stp.cfg +++ b/ttcn3-sgsn-test/osmo-stp.cfg @@ -38,7 +38,9 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-rnc0-0 23908 2905 m3ua local-ip 172.18.8.200 + local-ip fd02:db8:8::200 remote-ip 172.18.8.103 + remote-ip fd02:db8:8::103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 @@ -46,5 +48,8 @@ update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.8.200 + local-ip fd02:db8:8::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.8.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-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 Aug 24 17:12:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 24 Aug 2020 17:12:27 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 --- M ttcn3-sgsn-test/jenkins.sh M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg 3 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/19803/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 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 Aug 24 23:00:53 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 24 Aug 2020 23:00:53 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 to look at the new patch set (#11). Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,765 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/19641/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 24 23:01:56 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 24 Aug 2020 23:01:56 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 11: looks like i didn't push it a week ago after all... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 24 Aug 2020 23:01: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 Mon Aug 24 23:29:45 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 24 Aug 2020 23:29:45 +0000 Subject: Change in osmo-trx[master]: logger: allow disabling all logging at compile time References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19804 ) Change subject: logger: allow disabling all logging at compile time ...................................................................... logger: allow disabling all logging at compile time This will also circumvent object construction just to find out at destruction time and after feeding the stream that there is nothing to log anyway if logging has been disabed at compile time. This comes at the cost of locking and unlocking the log target mutex a third time, instead of only two times with the usual approach, since LOGPSRCC->log_check_level() locks and unlocks the mutex while calling should_log_to_target() just to have LOGPSRCC->logp2->osmo_vlogp do the same while calling should_log_to_target() *again* and then maybe actually logging somthing. Since most log messages are disabled this change turns that into one lock/unlock while checking and circumvents the other two lock/unlocks + object construction. Change-Id: I353ded020844eb4df7d7803785663789f8211d23 --- M CommonLibs/Logger.h 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/04/19804/1 diff --git a/CommonLibs/Logger.h b/CommonLibs/Logger.h index b752e51..1430059 100644 --- a/CommonLibs/Logger.h +++ b/CommonLibs/Logger.h @@ -38,6 +38,8 @@ #include "debug.h" } +#define DISABLE_ALL_LOGGING false + /* Translation for old log statements */ #ifndef LOGL_ALERT #define LOGL_ALERT LOGL_FATAL @@ -49,20 +51,23 @@ #define LOGL_WARNING LOGL_NOTICE #endif + +#define MAYBE_LOG(src, level) if (!log_check_level(src, level) || DISABLE_ALL_LOGGING) {} else + #define LOG(level) \ - Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + MAYBE_LOG(DMAIN, LOGL_##level) Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " #define LOGC(category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + MAYBE_LOG(category, LOGL_##level) Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " #define LOGLV(category, level) \ - Log(category, level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + MAYBE_LOG(category, level) Log(category, level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " #define LOGSRC(category, level, file, line) \ - Log(category, level, file, line).get() << "[tid=" << pthread_self() << "] " + MAYBE_LOG(category, level) Log(category, level, file, line).get() << "[tid=" << pthread_self() << "] " #define LOGCHAN(chan, category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "][chan=" << chan << "] " + MAYBE_LOG(category, LOGL_##level) Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "][chan=" << chan << "] " /** A C++ stream-based thread-safe logger. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I353ded020844eb4df7d7803785663789f8211d23 Gerrit-Change-Number: 19804 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 25 01:32:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:32:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f446a32cf12_78412b26e8f205f065514@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/i586 Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 196s] -Done [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 196s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 196s] +backtrace() returned 5 addresses [ 196s] +/usr/src/packages/BUILD/src/.libs/libosmocore.so.16(osmo_panic+0x4c) [0xf7f55b2c] [ 196s] +/usr/src/packages/BUILD/tests/socket/socket_test(main+0x56e) [0x565e5dbe] [ 196s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf6) [0xf7d68286] [ 196s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0xf17) [0x565e5f17] [ 196s] ./testsuite.at:313: exit code was 134, expected 0 [ 196s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 196s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 196s] make[1]: *** [override_dh_auto_test] Error 1 [ 196s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 196s] debian/rules:15: recipe for target 'build' failed [ 196s] make: *** [build] Error 2 [ 196s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 196s] ### VM INTERACTION START ### [ 199s] [ 193.742697] sysrq: Power Off [ 199s] [ 193.743873] reboot: Power down [ 199s] ### VM INTERACTION END ### [ 199s] [ 199s] build77 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:32:11 UTC 2020. [ 199s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:32:53 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:32:53 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f446a4c9b307_78412b26e8f205f065644@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 218s] | [ 218s] | ## ---------------------- ## [ 218s] | ## Running config.status. ## [ 218s] | ## ---------------------- ## [ 218s] | [ 218s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 218s] | generated by GNU Autoconf 2.69. Invocation command line was [ 218s] | [ 218s] | CONFIG_FILES = [ 218s] | CONFIG_HEADERS = [ 218s] | CONFIG_LINKS = [ 218s] | CONFIG_COMMANDS = [ 218s] | $ ./config.status Doxyfile.core [ 218s] | [ 218s] | on sheep86 [ 218s] | [ 218s] | config.status:1347: creating Doxyfile.core [ 218s] [ 218s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 218s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 218s] make: *** [debian/rules:15: build] Error 2 [ 218s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 218s] ### VM INTERACTION START ### [ 220s] [ 213.952964] sysrq: Power Off [ 220s] [ 213.958394] reboot: Power down [ 220s] ### VM INTERACTION END ### [ 220s] [ 220s] sheep86 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:32:43 UTC 2020. [ 220s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:33:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:33:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f446a6d38fe2_78412b26e8f205f06585b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 276s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 276s] -Done [ 276s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 276s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 276s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 276s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 276s] ./testsuite.at:313: exit code was 134, expected 0 [ 276s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 276s] # -*- compilation -*- [ 276s] 30. testsuite.at:184: testing fr ... [ 276s] ./testsuite.at:188: $abs_top_builddir/tests/fr/fr_test [ 276s] --- expout 2020-08-25 01:32:53.748000000 +0000 [ 276s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/30/stdout 2020-08-25 01:32:53.752000000 +0000 [ 276s] @@ -1 +1 @@ [ 276s] -Result: PASSED [ 276s] +Result: FAILED [ 276s] ./testsuite.at:188: exit code was 1, expected 0 [ 276s] 30. testsuite.at:184: 30. fr (testsuite.at:184): FAILED (testsuite.at:188) [ 276s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 276s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 276s] make: *** [debian/rules:15: build] Error 2 [ 276s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 276s] ### VM INTERACTION START ### [ 279s] [ 270.939005] sysrq: Power Off [ 279s] [ 270.946712] reboot: Power down [ 279s] ### VM INTERACTION END ### [ 279s] [ 279s] lamb14 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:33:02 UTC 2020. [ 279s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:33:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:33:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f446a88d337_78412b26e8f205f06596@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 294s] | [ 294s] | ## ---------------------- ## [ 294s] | ## Running config.status. ## [ 294s] | ## ---------------------- ## [ 294s] | [ 294s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 294s] | generated by GNU Autoconf 2.69. Invocation command line was [ 294s] | [ 294s] | CONFIG_FILES = [ 294s] | CONFIG_HEADERS = [ 294s] | CONFIG_LINKS = [ 294s] | CONFIG_COMMANDS = [ 294s] | $ ./config.status Doxyfile.core [ 294s] | [ 294s] | on lamb19 [ 294s] | [ 294s] | config.status:1343: creating Doxyfile.core [ 294s] [ 294s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 294s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 294s] make: *** [debian/rules:15: build] Error 2 [ 294s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 294s] ### VM INTERACTION START ### [ 297s] [ 288.623783] sysrq: Power Off [ 297s] [ 288.628759] reboot: Power down [ 297s] ### VM INTERACTION END ### [ 297s] [ 297s] lamb19 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:33:31 UTC 2020. [ 297s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:33:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:33:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f446a88b3536_78412b26e8f205f066024@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_10/aarch64 Package network:osmocom:nightly/libosmocore failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 324s] | [ 324s] | ## ---------------------- ## [ 324s] | ## Running config.status. ## [ 324s] | ## ---------------------- ## [ 324s] | [ 324s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 324s] | generated by GNU Autoconf 2.69. Invocation command line was [ 324s] | [ 324s] | CONFIG_FILES = [ 324s] | CONFIG_HEADERS = [ 324s] | CONFIG_LINKS = [ 324s] | CONFIG_COMMANDS = [ 324s] | $ ./config.status Doxyfile.core [ 324s] | [ 324s] | on obs-arm-7 [ 324s] | [ 324s] | config.status:1339: creating Doxyfile.core [ 324s] [ 324s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 324s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 324s] make: *** [debian/rules:15: build] Error 2 [ 324s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 324s] ### VM INTERACTION START ### [ 327s] [ 316.662430] sysrq: Power Off [ 327s] [ 316.696879] reboot: Power down [ 327s] ### VM INTERACTION END ### [ 327s] [ 327s] obs-arm-7 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:33:38 UTC 2020. [ 327s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:34:02 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:34:02 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f446aa81b6ee_78412b26e8f205f0661b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_18.04/i586 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 334s] | ## Running config.status. ## [ 334s] | ## ---------------------- ## [ 334s] | [ 334s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 334s] | generated by GNU Autoconf 2.69. Invocation command line was [ 334s] | [ 334s] | CONFIG_FILES = [ 334s] | CONFIG_HEADERS = [ 334s] | CONFIG_LINKS = [ 334s] | CONFIG_COMMANDS = [ 334s] | $ ./config.status Doxyfile.core [ 334s] | [ 334s] | on lamb10 [ 334s] | [ 334s] | config.status:1347: creating Doxyfile.core [ 334s] [ 334s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 334s] make[1]: *** [override_dh_auto_test] Error 1 [ 334s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 334s] debian/rules:15: recipe for target 'build' failed [ 334s] make: *** [build] Error 2 [ 334s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 334s] ### VM INTERACTION START ### [ 337s] [ 328.516659] sysrq: Power Off [ 337s] [ 328.521459] reboot: Power down [ 337s] ### VM INTERACTION END ### [ 337s] [ 337s] lamb10 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:34:00 UTC 2020. [ 337s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:34:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:34:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f446aa879612_78412b26e8f205f0662ab@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/aarch64 Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 351s] | ## Running config.status. ## [ 351s] | ## ---------------------- ## [ 351s] | [ 351s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 351s] | generated by GNU Autoconf 2.69. Invocation command line was [ 351s] | [ 351s] | CONFIG_FILES = [ 351s] | CONFIG_HEADERS = [ 351s] | CONFIG_LINKS = [ 351s] | CONFIG_COMMANDS = [ 351s] | $ ./config.status Doxyfile.core [ 351s] | [ 351s] | on obs-arm-9 [ 351s] | [ 351s] | config.status:1343: creating Doxyfile.core [ 351s] [ 351s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 351s] make[1]: *** [override_dh_auto_test] Error 1 [ 351s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 351s] debian/rules:15: recipe for target 'build' failed [ 351s] make: *** [build] Error 2 [ 351s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 351s] ### VM INTERACTION START ### [ 353s] [ 344.140987] sysrq: Power Off [ 353s] [ 344.142003] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] obs-arm-9 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:34:05 UTC 2020. [ 354s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:34:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:34:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5f446ac323fea_78412b26e8f205f06638f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_8.0/i586 Package network:osmocom:nightly/libosmocore failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 328s] | ## Running config.status. ## [ 328s] | ## ---------------------- ## [ 328s] | [ 328s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 328s] | generated by GNU Autoconf 2.69. Invocation command line was [ 328s] | [ 328s] | CONFIG_FILES = [ 328s] | CONFIG_HEADERS = [ 328s] | CONFIG_LINKS = [ 328s] | CONFIG_COMMANDS = [ 328s] | $ ./config.status Doxyfile.core [ 328s] | [ 328s] | on lamb12 [ 328s] | [ 328s] | config.status:1343: creating Doxyfile.core [ 328s] [ 328s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 328s] make[1]: *** [override_dh_auto_test] Error 1 [ 328s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 328s] debian/rules:15: recipe for target 'build' failed [ 328s] make: *** [build] Error 2 [ 328s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 328s] ### VM INTERACTION START ### [ 329s] Powering off. [ 329s] [ 322.488306] reboot: Power down [ 329s] ### VM INTERACTION END ### [ 329s] [ 329s] lamb12 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:34:31 UTC 2020. [ 329s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:34:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:34:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f446ac372c35_78412b26e8f205f0664c2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 319s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port [ 319s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port [ 319s] -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK [ 319s] -Checking osmo_sock_init2_multiaddr() for invalid flags [ 319s] -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 319s] -Done [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 319s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 319s] ./testsuite.at:313: exit code was 134, expected 0 [ 319s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 319s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 319s] make[1]: *** [override_dh_auto_test] Error 1 [ 319s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 319s] debian/rules:15: recipe for target 'build' failed [ 319s] make: *** [build] Error 2 [ 319s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 319s] ### VM INTERACTION START ### [ 322s] [ 313.885228] sysrq: Power Off [ 322s] [ 313.891806] reboot: Power down [ 322s] ### VM INTERACTION END ### [ 322s] [ 322s] lamb52 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:34:32 UTC 2020. [ 322s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:35:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:35:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_10/i586 In-Reply-To: References: Message-ID: <5f446ae3c6d78_78412b26e8f205f06661@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_10/i586 Package network:osmocom:nightly/libosmocore failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 257s] -Done [ 257s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port [ 257s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port [ 257s] -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK [ 257s] -Checking osmo_sock_init2_multiaddr() for invalid flags [ 257s] -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 257s] -Done [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 257s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 257s] ./testsuite.at:313: exit code was 134, expected 0 [ 257s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 257s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 257s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 257s] make: *** [debian/rules:15: build] Error 2 [ 257s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 257s] ### VM INTERACTION START ### [ 260s] [ 253.752752] sysrq: Power Off [ 260s] [ 253.755968] reboot: Power down [ 260s] ### VM INTERACTION END ### [ 260s] [ 260s] sheep86 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:35:02 UTC 2020. [ 260s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:35:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:35:28 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f446ae4aa068_78412b26e8f205f066724@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_Unstable/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 225s] | [ 225s] | ## ---------------------- ## [ 225s] | ## Running config.status. ## [ 225s] | ## ---------------------- ## [ 225s] | [ 225s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 225s] | generated by GNU Autoconf 2.69. Invocation command line was [ 225s] | [ 225s] | CONFIG_FILES = [ 225s] | CONFIG_HEADERS = [ 225s] | CONFIG_LINKS = [ 225s] | CONFIG_COMMANDS = [ 225s] | $ ./config.status Doxyfile.core [ 225s] | [ 225s] | on sheep83 [ 225s] | [ 225s] | config.status:1343: creating Doxyfile.core [ 225s] [ 225s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 225s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 225s] make: *** [debian/rules:15: build] Error 2 [ 225s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 225s] ### VM INTERACTION START ### [ 228s] [ 218.485725] sysrq: Power Off [ 228s] [ 218.494907] reboot: Power down [ 228s] ### VM INTERACTION END ### [ 228s] [ 228s] sheep83 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:35:20 UTC 2020. [ 228s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:35:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:35:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5f446afebb10a_78412b26e8f205f0668fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 273s] | ## Running config.status. ## [ 273s] | ## ---------------------- ## [ 273s] | [ 273s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 273s] | generated by GNU Autoconf 2.69. Invocation command line was [ 273s] | [ 273s] | CONFIG_FILES = [ 273s] | CONFIG_HEADERS = [ 273s] | CONFIG_LINKS = [ 273s] | CONFIG_COMMANDS = [ 273s] | $ ./config.status Doxyfile.core [ 273s] | [ 273s] | on wildcard2 [ 273s] | [ 273s] | config.status:1347: creating Doxyfile.core [ 273s] [ 273s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 273s] make[1]: *** [override_dh_auto_test] Error 1 [ 273s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 273s] debian/rules:15: recipe for target 'build' failed [ 273s] make: *** [build] Error 2 [ 273s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 273s] ### VM INTERACTION START ### [ 276s] [ 269.692708] sysrq: Power Off [ 276s] [ 269.695905] reboot: Power down [ 276s] ### VM INTERACTION END ### [ 276s] [ 276s] wildcard2 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:35:44 UTC 2020. [ 276s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:36:02 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:36:02 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5f446b1e4428e_78412b26e8f205f0669a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_16.04/i586 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 442s] -Done [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 442s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 442s] +backtrace() returned 5 addresses [ 442s] +/usr/src/packages/BUILD/src/.libs/libosmocore.so.16(osmo_panic+0x4c) [0xf7f97adc] [ 442s] +/usr/src/packages/BUILD/tests/socket/socket_test(main+0x56e) [0x5660edbe] [ 442s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf7) [0xf7dac637] [ 442s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0xf17) [0x5660ef17] [ 442s] ./testsuite.at:313: exit code was 134, expected 0 [ 442s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 442s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 442s] make[1]: *** [override_dh_auto_test] Error 1 [ 442s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 442s] debian/rules:15: recipe for target 'build' failed [ 442s] make: *** [build] Error 2 [ 442s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 442s] ### VM INTERACTION START ### [ 445s] [ 436.575580] sysrq: Power Off [ 445s] [ 436.604034] reboot: Power down [ 445s] ### VM INTERACTION END ### [ 445s] [ 445s] cloud102 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:35:52 UTC 2020. [ 445s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:37:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:37:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5f446b5ba6ff4_78412b26e8f205f0673b1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_8.0/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 301s] -Done [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 301s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 301s] +backtrace() returned 5 addresses [ 301s] +/usr/src/packages/BUILD/src/.libs/libosmocore.so.16(osmo_panic+0xcb) [0x7f9f0d18a07b] [ 301s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0x122b) [0x55d223b6222b] [ 301s] +/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f9f0c9b1b45] [ 301s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0x13b4) [0x55d223b623b4] [ 301s] ./testsuite.at:313: exit code was 134, expected 0 [ 301s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 301s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 301s] make[1]: *** [override_dh_auto_test] Error 1 [ 301s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 301s] debian/rules:15: recipe for target 'build' failed [ 301s] make: *** [build] Error 2 [ 301s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 301s] ### VM INTERACTION START ### [ 302s] Powering off. [ 302s] [ 295.335441] reboot: Power down [ 302s] ### VM INTERACTION END ### [ 302s] [ 302s] lamb08 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:37:07 UTC 2020. [ 302s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:37:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:37:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f446b5c18cb0_78412b26e8f205f0674ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_18.10/i586 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 509s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 509s] -Done [ 509s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 509s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 509s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 509s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 509s] ./testsuite.at:313: exit code was 134, expected 0 [ 509s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 509s] # -*- compilation -*- [ 509s] 30. testsuite.at:184: testing fr ... [ 509s] ./testsuite.at:188: $abs_top_builddir/tests/fr/fr_test [ 509s] --- expout 2020-08-25 01:36:44.468000000 +0000 [ 509s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/30/stdout 2020-08-25 01:36:44.476000000 +0000 [ 509s] @@ -1 +1 @@ [ 509s] -Result: PASSED [ 509s] +Result: FAILED [ 509s] ./testsuite.at:188: exit code was 1, expected 0 [ 509s] 30. testsuite.at:184: 30. fr (testsuite.at:184): FAILED (testsuite.at:188) [ 509s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 509s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 509s] make: *** [debian/rules:15: build] Error 2 [ 509s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 509s] ### VM INTERACTION START ### [ 513s] [ 504.578171] sysrq: Power Off [ 513s] [ 504.636187] reboot: Power down [ 513s] ### VM INTERACTION END ### [ 513s] [ 513s] lamb03 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:36:55 UTC 2020. [ 513s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:37:28 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:37:28 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f446b5cd9b23_78412b26e8f205f067511@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_10/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 314s] -Done [ 314s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port [ 314s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port [ 314s] -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK [ 314s] -Checking osmo_sock_init2_multiaddr() for invalid flags [ 314s] -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 314s] -Done [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 314s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 314s] ./testsuite.at:313: exit code was 134, expected 0 [ 314s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 314s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 314s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 314s] make: *** [debian/rules:15: build] Error 2 [ 314s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 314s] ### VM INTERACTION START ### [ 318s] [ 308.664005] sysrq: Power Off [ 318s] [ 308.668858] reboot: Power down [ 318s] ### VM INTERACTION END ### [ 318s] [ 318s] lamb10 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:37:21 UTC 2020. [ 318s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:37:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:37:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f446b76e3ce5_78412b26e8f205f06775@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/libosmocore failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 552s] -Done [ 552s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port [ 552s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port [ 552s] -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK [ 552s] -Checking osmo_sock_init2_multiaddr() for invalid flags [ 552s] -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 552s] -Done [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 552s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 552s] ./testsuite.at:313: exit code was 134, expected 0 [ 552s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 552s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 552s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 552s] make: *** [debian/rules:15: build] Error 2 [ 552s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 552s] ### VM INTERACTION START ### [ 555s] [ 541.846455] sysrq: Power Off [ 555s] [ 541.896773] reboot: Power down [ 555s] ### VM INTERACTION END ### [ 555s] [ 555s] lamb04 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:37:38 UTC 2020. [ 555s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:37:45 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:37:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5f446b776c6aa_78412b26e8f205f067879@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 340s] | ac_cv_path_mkdir=/bin/mkdir [ 340s] | ac_cv_prog_AWK=gawk [ 340s] | ac_cv_prog_CPP='gcc -E' [ 340s] | ac_cv_prog_ac_ct_AR=ar [ 340s] | ac_cv_prog_ac_ct_CC=gcc [ 340s] | ac_cv_prog_ac_ct_MANIFEST_TOOL=mt [ 340s] | ac_cv_prog_ac_ct_OBJDUMP=objdump [ 340s] | ac_cv_prog_ac_ct_RANLIB=ranlib [ 340s] | ac_cv_prog_ac_ct_STRIP=strip [ 340s] | ac_cv_prog_cc_c89= [ 340s] | ac_cv_prog_cc_g=yes [ 340s] | ac_cv_prog_make_make_set=yes [ 340s] | ac_cv_search_clock_gettime='none required' [ 340s] | ac_cv_search_dlopen=-ldl [ 340s] | ac_cv_search_dlsym=-ldl [ 340s] | ac_cv_search_sctp_bindx=-lsctp [ 340s] | ac_cv_type_size_t=yes [ 340s] | ac_cv_working_alloca_h=yes [ 340s] | am_cv_CC_dependencies_compiler_type=none [ 340s] | am_cv_make_support_nested_variables=yes [ 340s] | am_cv_prog_cc_c_o=yes [ 340s] | ax_cv_PTHREAD_CLANG=no [ 340s] | ax_cv_PTHREAD_JOINABLE_ATTR=PTHREAD_CREATE_JOINABLE [ 342s] | ax_cv_PTHREAD_PRIO_I[ 316.505203] sysrq: Power Off [ 342s] [ 316.509581] reboot: Power down [ 343s] ### VM INTERACTION END ### [ 343s] [ 343s] cloud128 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:37:28 UTC 2020. [ 343s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:38:36 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:38:36 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f446bb6d05c6_78412b26e8f205f068097@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 394s] +/usr/src/packages/BUILD/src/.libs/libosmocore.so.16(osmo_panic+0xcb) [0x7f59a738964b] [ 394s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0x1135) [0x56048eab6135] [ 394s] +/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f59a6bb82e1] [ 394s] +/usr/src/packages/BUILD/tests/socket/socket_test(+0x12ca) [0x56048eab62ca] [ 394s] ./testsuite.at:313: exit code was 134, expected 0 [ 394s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 394s] # -*- compilation -*- [ 394s] 30. testsuite.at:184: testing fr ... [ 394s] ./testsuite.at:188: $abs_top_builddir/tests/fr/fr_test [ 394s] --- expout 2020-08-25 01:38:21.892000000 +0000 [ 394s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/30/stdout 2020-08-25 01:38:21.900000000 +0000 [ 394s] @@ -1 +1 @@ [ 394s] -Result: PASSED [ 394s] +Result: FAILED [ 394s] ./testsuite.at:188: exit code was 1, expected 0 [ 394s] 30. testsuite.at:184: 30. fr (testsuite.at:184): FAILED (testsuite.at:188) [ 394s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 394s] make[1]: *** [override_dh_auto_test] Error 1 [ 394s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 394s] debian/rules:15: recipe for target 'build' failed [ 394s] make: *** [build] Error 2 [ 394s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 394s] ### VM INTERACTION START ### [ 397s] [ 385.468586] sysrq: Power Off [ 397s] [ 385.499306] reboot: Power down [ 397s] ### VM INTERACTION END ### [ 397s] [ 397s] lamb28 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:38:32 UTC 2020. [ 397s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:41:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:41:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f446c4a62f68_78412b26e8f205f068244@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 libboard/qmod/source/wwan_perst.c] [ 162s] [COMPILING libboard/qmod/source/card_pres.c] [ 162s] [COMPILING libboard/qmod/source/wwan_led.c] [ 163s] [COMPILING libboard/qmod/source/i2c.c] [ 163s] [COMPILING libboard/qmod/source/board_qmod.c] [ 163s] [COMPILING apps/dfu/main.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 163s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 164s] Memory region Used Size Region Size %age Used [ 164s] rom: 16588 B 16 KB 101.25% [ 164s] 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' [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 164s] collect2: error: ld returned 1 exit status [ 164s] % [ 164s] make[2]: *** [Makefile:234: 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.319398] sysrq: Power Off [ 167s] [ 155.324194] reboot: Power down [ 167s] ### VM INTERACTION END ### [ 167s] [ 167s] cloud126 failed "build simtrace2_0.7.0.63.39070.dsc" at Tue Aug 25 01:41:01 UTC 2020. [ 167s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 01:46:53 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 01:46:53 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_10/armv7l In-Reply-To: References: Message-ID: <5f446d95efeb6_78412b26e8f205f0686c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_10/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 644s] | [ 644s] | ## ---------------------- ## [ 644s] | ## Running config.status. ## [ 644s] | ## ---------------------- ## [ 644s] | [ 644s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 644s] | generated by GNU Autoconf 2.69. Invocation command line was [ 644s] | [ 644s] | CONFIG_FILES = [ 644s] | CONFIG_HEADERS = [ 644s] | CONFIG_LINKS = [ 644s] | CONFIG_COMMANDS = [ 644s] | $ ./config.status Doxyfile.core [ 644s] | [ 644s] | on armbuild22 [ 644s] | [ 644s] | config.status:1339: creating Doxyfile.core [ 644s] [ 644s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 644s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 644s] make: *** [debian/rules:15: build] Error 2 [ 644s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 644s] ### VM INTERACTION START ### [ 646s] [ 631.736348] sysrq: SysRq : Power Off [ 646s] [ 631.758809] reboot: Power down [ 647s] ### VM INTERACTION END ### [ 647s] [ 647s] armbuild22 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 01:46:47 UTC 2020. [ 647s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 02:07:10 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 02:07:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5f447263aaead_78412b26e8f205f0714bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 873s] | RANLIB='ranlib' [ 873s] | RELMAKE='-include osmo-release.mk' [ 873s] | SED='/bin/sed' [ 873s] | SET_MAKE='' [ 873s] | SHELL='/bin/bash' [ 873s] | SIMD_FLAGS='' [ 873s] | STRIP='strip' [ 873s] | SYMBOL_VISIBILITY='-fvisibility=hidden' [ 873s] | TALLOC_CFLAGS='' [ 873s] | TALLOC_LIBS='-ltalloc' [ 873s] | TLS_GCC_ARM_BUG_CFLAGS='-mtls-dialect=gnu2' [ 873s] | VERSION='1.4.0.14-ed42' [ 873s] | ac_ct_AR='ar' [ 873s] | ac_ct_CC='gcc' [ 873s] | ac_ct_DUMPBIN='' [ 873s] | am__EXEEXT_FALSE='' [ 873s] | am__EXEEXT_TRUE='#' [ 873s] | am__fastdepCC_FALSE='' [ 873s] | am__fastdepCC_TRUE='#' [ 873s] | am__include='include' [ 873s] | am__isrc='' [ 873s] | am__leading_dot='.' [ 873s] | am__nodep='' [ 875s] | am[ 856.079029] sysrq: SysRq : Power Off [ 875s] [ 856.086254] reboot: Power down [ 875s] ### VM INTERACTION END ### [ 875s] [ 875s] obs-arm-5 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 02:06:54 UTC 2020. [ 875s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 02:08:37 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 02:08:37 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5f4472bc3fdf6_78412b26e8f205f071784@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_10/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 634s] | [ 634s] | ## ---------------------- ## [ 634s] | ## Running config.status. ## [ 634s] | ## ---------------------- ## [ 634s] | [ 634s] | This file was extended by libosmocore config.status 1.4.0.14-ed42, which was [ 634s] | generated by GNU Autoconf 2.69. Invocation command line was [ 634s] | [ 634s] | CONFIG_FILES = [ 634s] | CONFIG_HEADERS = [ 634s] | CONFIG_LINKS = [ 634s] | CONFIG_COMMANDS = [ 634s] | $ ./config.status Doxyfile.core [ 634s] | [ 634s] | on armbuild22 [ 634s] | [ 634s] | config.status:1339: creating Doxyfile.core [ 634s] [ 634s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 634s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 634s] make: *** [debian/rules:15: build] Error 2 [ 634s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 634s] ### VM INTERACTION START ### [ 636s] [ 618.757893] sysrq: SysRq : Power Off [ 636s] [ 618.801155] reboot: Power down [ 636s] ### VM INTERACTION END ### [ 636s] [ 636s] armbuild22 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 02:08:35 UTC 2020. [ 636s] -- 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 Aug 25 03:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 03:01:19 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make rsl mode-modify working again In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19792 ) Change subject: lchan_fsm: make rsl mode-modify working again ...................................................................... Patch Set 1: I forgot to mention: in osmo-bsc/doc/, there are flow and ladder diagrams (.dot and .msc) indicating the FSM transitions and interactions. It would be excellent to reflect the additional state transitions in those diagrams, within this same patch. (The images are so far only generated when doing 'make dot' and 'make msc' in the osmo-bsc/doc/ build dir, not part of the default 'make') -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb Gerrit-Change-Number: 19792 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 Aug 2020 03:01:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Aug 25 03:06:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 03:06:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f44803981996_78412b26e8f205f07924@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_Unstable/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 220s] -Done [ 220s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port [ 220s] -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port [ 220s] -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK [ 220s] -Checking osmo_sock_init2_multiaddr() for invalid flags [ 220s] -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 [ 220s] -Done [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds [ 220s] -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 [ 220s] ./testsuite.at:313: exit code was 134, expected 0 [ 220s] 49. testsuite.at:308: 49. socket (testsuite.at:308): FAILED (testsuite.at:313) [ 220s] make[1]: *** [debian/rules:26: override_dh_auto_test] Error 1 [ 220s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 220s] make: *** [debian/rules:15: build] Error 2 [ 220s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 220s] ### VM INTERACTION START ### [ 223s] [ 213.878149] sysrq: Power Off [ 223s] [ 213.882265] reboot: Power down [ 223s] ### VM INTERACTION END ### [ 223s] [ 223s] sheep87 failed "build libosmocore_1.4.0.14.ed42.dsc" at Tue Aug 25 03:06:06 UTC 2020. [ 223s] -- 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 Aug 25 03:18:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 03:18:15 +0000 Subject: Change in osmo-bsc[master]: CBSP: log ETWS RESET on NOTICE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log ETWS RESET on NOTICE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19633/1/src/osmo-bsc/smscb.c at 657 PS1, Line 657: LOG_BTS(bts, DCBS, LOGL_NOTICE, "ETWS RESET: clearing all state; disabling broadcast via PCH\n"); > ACK. thanks, I'm obviously touching an unfamiliar subject, appreciating the corrections -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 03:18:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 07:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:07:23 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add support for Osmocom Extended Stream IDs References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 ) Change subject: ipa_proto: Add support for Osmocom Extended Stream IDs ...................................................................... ipa_proto: Add support for Osmocom Extended Stream IDs IPAC_PROTO_OSMO reserves one StreamID and creates a new hierarchy of 256 different Osmocom specifice stream Identifiers. It adds one extra byte for this (the first byte in the payload). Change-Id: I765e0d96523feec401d6fb04693189281c580d04 --- M src/ipa_proto.erl 1 file changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_ss7 refs/changes/05/19805/1 diff --git a/src/ipa_proto.erl b/src/ipa_proto.erl index 2d851e3..c191a74 100644 --- a/src/ipa_proto.erl +++ b/src/ipa_proto.erl @@ -1,6 +1,6 @@ % ip.access IPA multiplex protocol -% (C) 2010 by Harald Welte +% (C) 2010,2012,2019 by Harald Welte % (C) 2010 by On-Waves % % All Rights Reserved @@ -32,6 +32,9 @@ -define(IPAC_MSGT_ID_RESP, 5). -define(IPAC_MSGT_ID_ACK, 6). +-define(IPAC_PROTO_OSMO, 238). +-define(IPAC_PROTO_CCM, 254). + -export([register_socket/1, register_stream/3, unregister_stream/2, send/3, connect/3, connect/4, listen_accept_handle/2, start_listen/3, controlling_process/3]). @@ -136,8 +139,11 @@ process_rx_ipa_msg(S, StreamMap, Data) -> {StreamID, PayloadBin, Trailer} = split_ipa_msg(Data), case StreamID of - 254 -> + ?IPAC_PROTO_CCM -> process_rx_ccm_msg(S, StreamID, PayloadBin); + ?IPAC_PROTO_OSMO -> + <> = PayloadBin, + deliver_rx_ipa_msg(S, {osmo, ExtStreamID}, StreamMap, PayloadExt); _ -> deliver_rx_ipa_msg(S, StreamID, StreamMap, PayloadBin) end, @@ -166,8 +172,10 @@ ok. % send a binary message through a given Socket / StreamID +send(Socket, {osmo, StreamIdExt}, DataBin) -> + send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataBin]); send(Socket, StreamID, DataBin) -> - Size = byte_size(DataBin), + Size = iolist_size(DataBin), gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataBin])). @@ -244,7 +252,7 @@ process_ccm_msg(Socket, StreamID, MsgType, Opts). send_ccm_id_get(Socket) -> - send(Socket, 254, <>). + send(Socket, ?IPAC_PROTO_CCM, <>). % convenience wrapper for interactive use / debugging from the shell listen_accept_handle(LPort, Opts) -> -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I765e0d96523feec401d6fb04693189281c580d04 Gerrit-Change-Number: 19805 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 Aug 25 07:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:07:24 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add notion of 'codecs' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 ) Change subject: ipa_proto: Add notion of 'codecs' ...................................................................... ipa_proto: Add notion of 'codecs' A codec for a given Stream Identifier can be registered with encode and decode functions. This codec transcodes from the binary payload of messages within that stream identifier and some abstract representation. Any received messages will be passed through decode, while any to-be-transmitted messages will be passed through encode. Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03 --- M src/ipa_proto.erl 1 file changed, 44 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_ss7 refs/changes/06/19806/1 diff --git a/src/ipa_proto.erl b/src/ipa_proto.erl index c191a74..9a3f3d0 100644 --- a/src/ipa_proto.erl +++ b/src/ipa_proto.erl @@ -37,11 +37,16 @@ -export([register_socket/1, register_stream/3, unregister_stream/2, send/3, connect/3, connect/4, listen_accept_handle/2, - start_listen/3, controlling_process/3]). + start_listen/3, controlling_process/3, register_codec/3]). + +-type stream_id() :: integer() | {osmo, integer()}. -record(ipa_socket, {socket, ipaPid, streamTbl, listenType}). - +-record(ipa_codec, {streamId :: stream_id(), + encodeFn :: fun(), + decodeFn :: fun() + }). % register a TCP socket with this IPA protocol implementation register_socket(Socket) -> @@ -124,15 +129,43 @@ % deliver an incoming message to the process that is registered for the socket/stream_id deliver_rx_ipa_msg(Socket, StreamID, StreamMap, DataBin) -> + DataDec = try_decode(StreamID, DataBin), case ets:lookup(StreamMap, {Socket, StreamID}) of [{_,{process_id, Pid}}] -> - Pid ! {ipa, Socket, StreamID, DataBin}; + Pid ! {ipa, Socket, StreamID, DataDec}; [{_,{callback_fn, Fn, Args}}] -> - Fn(Socket, StreamID, DataBin, Args); + Fn(Socket, StreamID, DataDec, Args); [] -> io:format("No Pid registered for Socket ~p Stream ~p~n", [Socket, StreamID]) end. +% register a Codec with this IPA protocol implementation +-spec register_codec(stream_id(), fun(), fun()) -> boolean(). +register_codec(StreamID, EncodeFn, DecodeFn) -> + ets:insert(ipa_codecs, #ipa_codec{streamId=StreamID, encodeFn=EncodeFn, decodeFn=DecodeFn}). + +-spec try_decode(stream_id(), binary()) -> any(). +try_decode(StreamID, Data) -> + case ets:lookup(ipa_codecs, StreamID) of + [IpaCodec] -> + Fun = IpaCodec#ipa_codec.decodeFn, + Fun(Data); + [] -> + Data + end. + +-spec try_encode(stream_id(), any()) -> binary(). +try_encode(_StreamID, Data) when is_binary(Data) -> + Data; +try_encode(StreamID, Data) -> + case ets:lookup(ipa_codecs, StreamID) of + [IpaCodec] -> + Fun = IpaCodec#ipa_codec.encodeFn, + Fun(Data); + [] -> + Data + end. + % process (split + deliver) an incoming IPA message process_rx_ipa_msg(_S, _StreamMap, <<>>) -> ok; @@ -173,10 +206,12 @@ % send a binary message through a given Socket / StreamID send(Socket, {osmo, StreamIdExt}, DataBin) -> - send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataBin]); + DataEnc = try_encode({osmo, StreamIdExt}, DataBin), + send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataEnc]); send(Socket, StreamID, DataBin) -> - Size = iolist_size(DataBin), - gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataBin])). + DataEnc = try_encode(StreamID, DataBin), + Size = iolist_size(DataEnc), + gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataEnc])). call_sync(Pid, Request) -> @@ -194,12 +229,8 @@ % global module initialization init() -> - case ets:new(ipa_sockets, [named_table, set, public, {keypos, #ipa_socket.socket}]) of - ipa_sockets -> - ok; - _ -> - {error, ets_new_ipa_sockets} - end. + ipa_sockets = ets:new(ipa_sockets, [named_table, set, public, {keypos, #ipa_socket.socket}]), + ipa_codecs = ets:new(ipa_codecs, [named_table, set, public, {keypos, #ipa_codec.streamId}]). % initialize a signle socket, create its handle process init_sock(Socket, CallingPid) -> -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03 Gerrit-Change-Number: 19806 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 Aug 25 07:07:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:07:25 +0000 Subject: Change in ...osmo_ss7[master]: Add IPA CCM protocol encoder/decoder References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 ) Change subject: Add IPA CCM protocol encoder/decoder ...................................................................... Add IPA CCM protocol encoder/decoder This uses the new 'codec' infrastructure of our Erlang IPA implementation to decode/encode the IPA CCM messages. Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665 --- A src/ipa_proto_ccm.erl 1 file changed, 119 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_ss7 refs/changes/07/19807/1 diff --git a/src/ipa_proto_ccm.erl b/src/ipa_proto_ccm.erl new file mode 100644 index 0000000..cfd3863 --- /dev/null +++ b/src/ipa_proto_ccm.erl @@ -0,0 +1,119 @@ +% ip.access IPA CCM protocol + +% (C) 2019 by Harald Welte +% +% All Rights Reserved +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-module(ipa_proto_ccm). +-author('Harald Welte '). + +-export([decode/1, encode/1]). + +-define(TESTMSG, <<5,0,7,8,48,47,48,47,48,0,0,19,7,48,48,58,48,48,58,48,48,58,48,48,58,48,48,58, + 48,48,0,0,19,2,48,48,58,48,48,58,48,48,58,48,48,58,48,48,58,48,48,0,0,19,3, + 48,48,58,48,48,58,48,48,58,48,48,58,48,48,58,48,48,0,0,19,4,48,48,58,48,48, + 58,48,48,58,48,48,58,48,48,58,48,48,0,0,24,5,111,115,109,111,45,109,115,99, + 45,49,46,51,46,49,46,49,49,45,52,50,55,50,0,0,23,1,77,83,67,45,48,48,45,48, + 48,45,48,48,45,48,48,45,48,48,45,48,48,0,0,23,0,77,83,67,45,48,48,45,48,48, + 45,48,48,45,48,48,45,48,48,45,48,48,0>>). + +decode_msgt(0) -> ping; +decode_msgt(1) -> pong; +decode_msgt(4) -> id_req; +decode_msgt(5) -> id_resp; +decode_msgt(6) -> id_ack; +decode_msgt(7) -> id_nack; +decode_msgt(8) -> proxy_req; +decode_msgt(9) -> proxy_ack; +decode_msgt(10) -> proxy_nack; +decode_msgt(Int) when is_integer(Int) -> Int. + +encode_msgt(ping) -> 0; +encode_msgt(pong) -> 1; +encode_msgt(id_req) -> 4; +encode_msgt(id_resp) -> 5; +encode_msgt(id_ack) -> 6; +encode_msgt(id_nack) -> 7; +encode_msgt(proxy_req) -> 8; +encode_msgt(proxy_ack) -> 9; +encode_msgt(proxy_nack) -> 10; +encode_msgt(Int) when is_integer(Int) -> Int. + +decode_idtag(0) -> serial_nr; +decode_idtag(1) -> unit_name; +decode_idtag(2) -> location; +decode_idtag(3) -> unit_type; +decode_idtag(4) -> equip_vers; +decode_idtag(5) -> sw_version; +decode_idtag(6) -> ip_address; +decode_idtag(7) -> mac_address; +decode_idtag(8) -> unit_id; +decode_idtag(Int) when is_integer(Int) -> Int. + +encode_idtag(serial_nr) -> 0; +encode_idtag(unit_name) -> 1; +encode_idtag(location) -> 2; +encode_idtag(unit_type) -> 3; +encode_idtag(equip_vers) -> 4; +encode_idtag(sw_version) -> 5; +encode_idtag(ip_address) -> 6; +encode_idtag(mac_address) -> 7; +encode_idtag(unit_id) -> 8; +encode_idtag(Int) when is_integer(Int) -> Int. + +decode(Bin) when is_binary(Bin) -> + <> = Bin, + {decode_msgt(MsgType), decode_ies(IeList, [])}. + +decode_ies(<<>>, IeList) when is_list(IeList) -> + IeList; +decode_ies(<<1:8, IdTag:8, Remain/binary>>, IeList) when is_list(IeList) -> + decode_ies(Remain, IeList ++ [{id, IdTag}]); +decode_ies(<<0:8, Len:8, TypeValue:Len/binary, Remain/binary>>, IeList) when is_list(IeList) -> + <> = TypeValue, + ValueList = binary_to_list(Value), + case lists:last(ValueList) of + 0 -> ValueStripped = lists:droplast(ValueList); + _ -> ValueStripped = ValueList + end, + decode_ies(Remain, IeList ++ [{string, decode_idtag(Type), ValueStripped}]). + + +encode_ie({id, IdTag}) -> + <<1:8, IdTag:8>>; +encode_ie({string, Type, Value}) -> + case lists:last(Value) of + 0 -> ValueTerminated = Value; + _ -> ValueTerminated = lists:append(Value, [0]) + end, + ValueBin = list_to_binary(ValueTerminated), + Type2 = encode_idtag(Type), + TypeValue = <>, + Len = byte_size(TypeValue), + <<0:8, Len:8, TypeValue/binary>>. + +encode_ies(IeList) when is_list(IeList) -> + encode_ies(IeList, <<>>). +encode_ies([], Bin) -> Bin; +encode_ies([Head|Tail], Bin) -> + IeBin = encode_ie(Head), + encode_ies(Tail, <>). + +encode({MsgType, IeList}) -> + MsgtInt = encode_msgt(MsgType), + IesBin = encode_ies(IeList), + <>. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665 Gerrit-Change-Number: 19807 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 Aug 25 07:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:07:26 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Hook ipa_proto_ccm into the handling of CCM messages References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808 ) Change subject: ipa_proto: Hook ipa_proto_ccm into the handling of CCM messages ...................................................................... ipa_proto: Hook ipa_proto_ccm into the handling of CCM messages Change-Id: I03c2b12ffbedd38ca0c308a120f2435c2b773b65 --- M src/ipa_proto.erl 1 file changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo_ss7 refs/changes/08/19808/1 diff --git a/src/ipa_proto.erl b/src/ipa_proto.erl index 9a3f3d0..7d8b964 100644 --- a/src/ipa_proto.erl +++ b/src/ipa_proto.erl @@ -261,17 +261,22 @@ end. % Respond with PONG to PING -process_ccm_msg(Socket, StreamID, ?IPAC_MSGT_PING, _) -> +process_ccm_msg(Socket, StreamID, ping, _) -> io:format("Socket ~p Stream ~p: PING -> PONG~n", [Socket, StreamID]), send(Socket, StreamID, <>); % Simply respond to ID_ACK with ID_ACK -process_ccm_msg(Socket, StreamID, ?IPAC_MSGT_ID_ACK, _) -> +process_ccm_msg(Socket, StreamID, id_ack, _) -> io:format("Socket ~p Stream ~p: ID_ACK -> ID_ACK~n", [Socket, StreamID]), send(Socket, StreamID, <>); % Simply respond to ID_RESP with ID_ACK -process_ccm_msg(Socket, StreamID, ?IPAC_MSGT_ID_RESP, _) -> +process_ccm_msg(Socket, StreamID, id_resp, _) -> io:format("Socket ~p Stream ~p: ID_RESP -> ID_ACK~n", [Socket, StreamID]), send(Socket, StreamID, <>); +% Simply respond to ID_GET with ID_RESP +process_ccm_msg(Socket, StreamID, id_req, _) -> + io:format("Socket ~p Stream ~p: ID_GET -> ID_RESP~n", [Socket, StreamID]), + CcmBin = ipa_proto_ccm:encode({id_resp, [{string,serial_nr,"MME-00-00-00-00-00-00"}]}), + send(Socket, StreamID, CcmBin); % Default message handler for unknown messages process_ccm_msg(Socket, StreamID, MsgType, Opts) -> io:format("Socket ~p Stream ~p: Unknown CCM message type ~p Opts ~p~n", @@ -279,7 +284,7 @@ % process an incoming CCM message (Stream ID 254) process_rx_ccm_msg(Socket, StreamID, PayloadBin) -> - [MsgType|Opts] = binary:bin_to_list(PayloadBin), + {MsgType, Opts} = ipa_proto_ccm:decode(PayloadBin), process_ccm_msg(Socket, StreamID, MsgType, Opts). send_ccm_id_get(Socket) -> -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I03c2b12ffbedd38ca0c308a120f2435c2b773b65 Gerrit-Change-Number: 19808 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 Aug 25 07:08:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:08:55 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add support for Osmocom Extended Stream IDs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 ) Change subject: ipa_proto: Add support for Osmocom Extended Stream IDs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I765e0d96523feec401d6fb04693189281c580d04 Gerrit-Change-Number: 19805 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 07:08: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 Aug 25 07:08:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:08:59 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add notion of 'codecs' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 ) Change subject: ipa_proto: Add notion of 'codecs' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03 Gerrit-Change-Number: 19806 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 07:08: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 Aug 25 07:09:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:09:03 +0000 Subject: Change in ...osmo_ss7[master]: Add IPA CCM protocol encoder/decoder In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 ) Change subject: Add IPA CCM protocol encoder/decoder ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665 Gerrit-Change-Number: 19807 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 07: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 Aug 25 07:14:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:14:59 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Hook ipa_proto_ccm into the handling of CCM messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808 ) Change subject: ipa_proto: Hook ipa_proto_ccm into the handling of CCM messages ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808/1/src/ipa_proto.erl File src/ipa_proto.erl: https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808/1/src/ipa_proto.erl at 278 PS1, Line 278: C this clearly is an ugly hack and we don't want to send this MME string unconditionally. The user application would have to somehow hae to specify what to send, a library should not contain hard-coded identifiers. As this is a parameter of the socket, the application would have to somehow tell the library about it. I think we need a new function analogous to controlling_process(Socket, StreamID, NewPid), which then would be used to set arbitrary IPA CCM options. Like set_ccm_options(Socket, CcmOpts) where CcmOpts is a list of tuples like the one {string,serial_nr, ...} above. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I03c2b12ffbedd38ca0c308a120f2435c2b773b65 Gerrit-Change-Number: 19808 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 07:14: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 Tue Aug 25 07:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:15:04 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add support for Osmocom Extended Stream IDs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 ) Change subject: ipa_proto: Add support for Osmocom Extended Stream IDs ...................................................................... ipa_proto: Add support for Osmocom Extended Stream IDs IPAC_PROTO_OSMO reserves one StreamID and creates a new hierarchy of 256 different Osmocom specifice stream Identifiers. It adds one extra byte for this (the first byte in the payload). Change-Id: I765e0d96523feec401d6fb04693189281c580d04 --- M src/ipa_proto.erl 1 file changed, 12 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ipa_proto.erl b/src/ipa_proto.erl index 2d851e3..c191a74 100644 --- a/src/ipa_proto.erl +++ b/src/ipa_proto.erl @@ -1,6 +1,6 @@ % ip.access IPA multiplex protocol -% (C) 2010 by Harald Welte +% (C) 2010,2012,2019 by Harald Welte % (C) 2010 by On-Waves % % All Rights Reserved @@ -32,6 +32,9 @@ -define(IPAC_MSGT_ID_RESP, 5). -define(IPAC_MSGT_ID_ACK, 6). +-define(IPAC_PROTO_OSMO, 238). +-define(IPAC_PROTO_CCM, 254). + -export([register_socket/1, register_stream/3, unregister_stream/2, send/3, connect/3, connect/4, listen_accept_handle/2, start_listen/3, controlling_process/3]). @@ -136,8 +139,11 @@ process_rx_ipa_msg(S, StreamMap, Data) -> {StreamID, PayloadBin, Trailer} = split_ipa_msg(Data), case StreamID of - 254 -> + ?IPAC_PROTO_CCM -> process_rx_ccm_msg(S, StreamID, PayloadBin); + ?IPAC_PROTO_OSMO -> + <> = PayloadBin, + deliver_rx_ipa_msg(S, {osmo, ExtStreamID}, StreamMap, PayloadExt); _ -> deliver_rx_ipa_msg(S, StreamID, StreamMap, PayloadBin) end, @@ -166,8 +172,10 @@ ok. % send a binary message through a given Socket / StreamID +send(Socket, {osmo, StreamIdExt}, DataBin) -> + send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataBin]); send(Socket, StreamID, DataBin) -> - Size = byte_size(DataBin), + Size = iolist_size(DataBin), gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataBin])). @@ -244,7 +252,7 @@ process_ccm_msg(Socket, StreamID, MsgType, Opts). send_ccm_id_get(Socket) -> - send(Socket, 254, <>). + send(Socket, ?IPAC_PROTO_CCM, <>). % convenience wrapper for interactive use / debugging from the shell listen_accept_handle(LPort, Opts) -> -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I765e0d96523feec401d6fb04693189281c580d04 Gerrit-Change-Number: 19805 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 Aug 25 07:15:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:15:05 +0000 Subject: Change in ...osmo_ss7[master]: ipa_proto: Add notion of 'codecs' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 ) Change subject: ipa_proto: Add notion of 'codecs' ...................................................................... ipa_proto: Add notion of 'codecs' A codec for a given Stream Identifier can be registered with encode and decode functions. This codec transcodes from the binary payload of messages within that stream identifier and some abstract representation. Any received messages will be passed through decode, while any to-be-transmitted messages will be passed through encode. Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03 --- M src/ipa_proto.erl 1 file changed, 44 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ipa_proto.erl b/src/ipa_proto.erl index c191a74..9a3f3d0 100644 --- a/src/ipa_proto.erl +++ b/src/ipa_proto.erl @@ -37,11 +37,16 @@ -export([register_socket/1, register_stream/3, unregister_stream/2, send/3, connect/3, connect/4, listen_accept_handle/2, - start_listen/3, controlling_process/3]). + start_listen/3, controlling_process/3, register_codec/3]). + +-type stream_id() :: integer() | {osmo, integer()}. -record(ipa_socket, {socket, ipaPid, streamTbl, listenType}). - +-record(ipa_codec, {streamId :: stream_id(), + encodeFn :: fun(), + decodeFn :: fun() + }). % register a TCP socket with this IPA protocol implementation register_socket(Socket) -> @@ -124,15 +129,43 @@ % deliver an incoming message to the process that is registered for the socket/stream_id deliver_rx_ipa_msg(Socket, StreamID, StreamMap, DataBin) -> + DataDec = try_decode(StreamID, DataBin), case ets:lookup(StreamMap, {Socket, StreamID}) of [{_,{process_id, Pid}}] -> - Pid ! {ipa, Socket, StreamID, DataBin}; + Pid ! {ipa, Socket, StreamID, DataDec}; [{_,{callback_fn, Fn, Args}}] -> - Fn(Socket, StreamID, DataBin, Args); + Fn(Socket, StreamID, DataDec, Args); [] -> io:format("No Pid registered for Socket ~p Stream ~p~n", [Socket, StreamID]) end. +% register a Codec with this IPA protocol implementation +-spec register_codec(stream_id(), fun(), fun()) -> boolean(). +register_codec(StreamID, EncodeFn, DecodeFn) -> + ets:insert(ipa_codecs, #ipa_codec{streamId=StreamID, encodeFn=EncodeFn, decodeFn=DecodeFn}). + +-spec try_decode(stream_id(), binary()) -> any(). +try_decode(StreamID, Data) -> + case ets:lookup(ipa_codecs, StreamID) of + [IpaCodec] -> + Fun = IpaCodec#ipa_codec.decodeFn, + Fun(Data); + [] -> + Data + end. + +-spec try_encode(stream_id(), any()) -> binary(). +try_encode(_StreamID, Data) when is_binary(Data) -> + Data; +try_encode(StreamID, Data) -> + case ets:lookup(ipa_codecs, StreamID) of + [IpaCodec] -> + Fun = IpaCodec#ipa_codec.encodeFn, + Fun(Data); + [] -> + Data + end. + % process (split + deliver) an incoming IPA message process_rx_ipa_msg(_S, _StreamMap, <<>>) -> ok; @@ -173,10 +206,12 @@ % send a binary message through a given Socket / StreamID send(Socket, {osmo, StreamIdExt}, DataBin) -> - send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataBin]); + DataEnc = try_encode({osmo, StreamIdExt}, DataBin), + send(Socket, ?IPAC_PROTO_OSMO, [StreamIdExt, DataEnc]); send(Socket, StreamID, DataBin) -> - Size = iolist_size(DataBin), - gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataBin])). + DataEnc = try_encode(StreamID, DataBin), + Size = iolist_size(DataEnc), + gen_tcp:send(Socket, iolist_to_binary([<>, StreamID, DataEnc])). call_sync(Pid, Request) -> @@ -194,12 +229,8 @@ % global module initialization init() -> - case ets:new(ipa_sockets, [named_table, set, public, {keypos, #ipa_socket.socket}]) of - ipa_sockets -> - ok; - _ -> - {error, ets_new_ipa_sockets} - end. + ipa_sockets = ets:new(ipa_sockets, [named_table, set, public, {keypos, #ipa_socket.socket}]), + ipa_codecs = ets:new(ipa_codecs, [named_table, set, public, {keypos, #ipa_codec.streamId}]). % initialize a signle socket, create its handle process init_sock(Socket, CallingPid) -> -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03 Gerrit-Change-Number: 19806 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 Aug 25 07:15:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 07:15:05 +0000 Subject: Change in ...osmo_ss7[master]: Add IPA CCM protocol encoder/decoder In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 ) Change subject: Add IPA CCM protocol encoder/decoder ...................................................................... Add IPA CCM protocol encoder/decoder This uses the new 'codec' infrastructure of our Erlang IPA implementation to decode/encode the IPA CCM messages. Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665 --- A src/ipa_proto_ccm.erl 1 file changed, 119 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/ipa_proto_ccm.erl b/src/ipa_proto_ccm.erl new file mode 100644 index 0000000..cfd3863 --- /dev/null +++ b/src/ipa_proto_ccm.erl @@ -0,0 +1,119 @@ +% ip.access IPA CCM protocol + +% (C) 2019 by Harald Welte +% +% All Rights Reserved +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-module(ipa_proto_ccm). +-author('Harald Welte '). + +-export([decode/1, encode/1]). + +-define(TESTMSG, <<5,0,7,8,48,47,48,47,48,0,0,19,7,48,48,58,48,48,58,48,48,58,48,48,58,48,48,58, + 48,48,0,0,19,2,48,48,58,48,48,58,48,48,58,48,48,58,48,48,58,48,48,0,0,19,3, + 48,48,58,48,48,58,48,48,58,48,48,58,48,48,58,48,48,0,0,19,4,48,48,58,48,48, + 58,48,48,58,48,48,58,48,48,58,48,48,0,0,24,5,111,115,109,111,45,109,115,99, + 45,49,46,51,46,49,46,49,49,45,52,50,55,50,0,0,23,1,77,83,67,45,48,48,45,48, + 48,45,48,48,45,48,48,45,48,48,45,48,48,0,0,23,0,77,83,67,45,48,48,45,48,48, + 45,48,48,45,48,48,45,48,48,45,48,48,0>>). + +decode_msgt(0) -> ping; +decode_msgt(1) -> pong; +decode_msgt(4) -> id_req; +decode_msgt(5) -> id_resp; +decode_msgt(6) -> id_ack; +decode_msgt(7) -> id_nack; +decode_msgt(8) -> proxy_req; +decode_msgt(9) -> proxy_ack; +decode_msgt(10) -> proxy_nack; +decode_msgt(Int) when is_integer(Int) -> Int. + +encode_msgt(ping) -> 0; +encode_msgt(pong) -> 1; +encode_msgt(id_req) -> 4; +encode_msgt(id_resp) -> 5; +encode_msgt(id_ack) -> 6; +encode_msgt(id_nack) -> 7; +encode_msgt(proxy_req) -> 8; +encode_msgt(proxy_ack) -> 9; +encode_msgt(proxy_nack) -> 10; +encode_msgt(Int) when is_integer(Int) -> Int. + +decode_idtag(0) -> serial_nr; +decode_idtag(1) -> unit_name; +decode_idtag(2) -> location; +decode_idtag(3) -> unit_type; +decode_idtag(4) -> equip_vers; +decode_idtag(5) -> sw_version; +decode_idtag(6) -> ip_address; +decode_idtag(7) -> mac_address; +decode_idtag(8) -> unit_id; +decode_idtag(Int) when is_integer(Int) -> Int. + +encode_idtag(serial_nr) -> 0; +encode_idtag(unit_name) -> 1; +encode_idtag(location) -> 2; +encode_idtag(unit_type) -> 3; +encode_idtag(equip_vers) -> 4; +encode_idtag(sw_version) -> 5; +encode_idtag(ip_address) -> 6; +encode_idtag(mac_address) -> 7; +encode_idtag(unit_id) -> 8; +encode_idtag(Int) when is_integer(Int) -> Int. + +decode(Bin) when is_binary(Bin) -> + <> = Bin, + {decode_msgt(MsgType), decode_ies(IeList, [])}. + +decode_ies(<<>>, IeList) when is_list(IeList) -> + IeList; +decode_ies(<<1:8, IdTag:8, Remain/binary>>, IeList) when is_list(IeList) -> + decode_ies(Remain, IeList ++ [{id, IdTag}]); +decode_ies(<<0:8, Len:8, TypeValue:Len/binary, Remain/binary>>, IeList) when is_list(IeList) -> + <> = TypeValue, + ValueList = binary_to_list(Value), + case lists:last(ValueList) of + 0 -> ValueStripped = lists:droplast(ValueList); + _ -> ValueStripped = ValueList + end, + decode_ies(Remain, IeList ++ [{string, decode_idtag(Type), ValueStripped}]). + + +encode_ie({id, IdTag}) -> + <<1:8, IdTag:8>>; +encode_ie({string, Type, Value}) -> + case lists:last(Value) of + 0 -> ValueTerminated = Value; + _ -> ValueTerminated = lists:append(Value, [0]) + end, + ValueBin = list_to_binary(ValueTerminated), + Type2 = encode_idtag(Type), + TypeValue = <>, + Len = byte_size(TypeValue), + <<0:8, Len:8, TypeValue/binary>>. + +encode_ies(IeList) when is_list(IeList) -> + encode_ies(IeList, <<>>). +encode_ies([], Bin) -> Bin; +encode_ies([Head|Tail], Bin) -> + IeBin = encode_ie(Head), + encode_ies(Tail, <>). + +encode({MsgType, IeList}) -> + MsgtInt = encode_msgt(MsgType), + IesBin = encode_ies(IeList), + <>. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo_ss7/+/19807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo_ss7 Gerrit-Branch: master Gerrit-Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665 Gerrit-Change-Number: 19807 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 Aug 25 08:32:18 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 25 Aug 2020 08:32:18 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... Patch Set 1: (2 comments) Trying to get this moved forward for dexter who is on holidays https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c at 433 PS1, Line 433: c > Please keep the original message formatting: s/can/Can/. I don't understand this, can you elaborate? Other log lines in this function are lower-case as well. https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c at 461 PS1, Line 461: "can not encode multirate configuration (invalid amr rate setting, MSC)\n"); This uses lower-case "can", as do other log lines in this function -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 25 Aug 2020 08:32:18 +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 Aug 25 08:45:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 Aug 2020 08:45:23 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19790/1/src/osmo-bsc/lchan_fsm.c at 433 PS1, Line 433: c > I don't understand this, can you elaborate? Other log lines in this function are lower-case as well. Ah, ok, nevermind then. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 25 Aug 2020 08:45:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria 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 Aug 25 08:49:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 08:49:38 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 25 Aug 2020 08:49:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 08:49:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 08:49:55 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: merge lchan_mr_config() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19790 ) Change subject: lchan_fsm: merge lchan_mr_config() ...................................................................... lchan_fsm: merge lchan_mr_config() There are some preperations and checks done before calling lchan_mr_config(), those checks could also be done from inside lchan_mr_config(), so lets merge them into lchan_mr_config() Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 21 insertions(+), 20 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 4ed95dd..05fb66f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -415,8 +415,9 @@ } /* Configure the multirate setting on this channel. */ -static int lchan_mr_config(struct gsm_lchan *lchan, const struct gsm48_multi_rate_conf *mr_conf) +static int lchan_mr_config(struct gsm_lchan *lchan, uint16_t s15_s0) { + struct gsm48_multi_rate_conf mr_conf; bool full_rate = (lchan->type == GSM_LCHAN_TCH_F); struct gsm_bts *bts = lchan->ts->trx->bts; struct bsc_msc_data *msc = lchan->conn->sccp.msc; @@ -426,6 +427,22 @@ struct gsm48_multi_rate_conf mr_conf_filtered; const struct gsm48_multi_rate_conf *mr_conf_bts; + /* Generate mr conf struct from S15-S0 bits */ + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, s15_s0) < 0) { + LOG_LCHAN(lchan, LOGL_ERROR, + "can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", s15_s0); + return -EINVAL; + } + + /* Do not include 12.2 kbps rate when S1 is set. */ + if (lchan->type == GSM_LCHAN_TCH_H && (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration + * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) + * not included. */ + mr_conf.m12_2 = 0; + } + /* There are two different active sets, depending on the channel rate, * make sure the appropate one is selected. */ if (full_rate) @@ -438,7 +455,7 @@ * interface. To ensure that the VTY settings are observed we create * a manipulated copy of the mr_conf that ensures forbidden codec rates * are not used in the multirate configuration IE. */ - rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &msc->amr_conf, mr_conf); + rc_rate = calc_amr_rate_intersection(&mr_conf_filtered, &msc->amr_conf, &mr_conf); if (rc_rate < 0) { LOG_LCHAN(lchan, LOGL_ERROR, "can not encode multirate configuration (invalid amr rate setting, MSC)\n"); @@ -478,6 +495,7 @@ return -EINVAL; } + lchan->s15_s0 = s15_s0; return 0; } @@ -508,7 +526,6 @@ static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); - struct gsm48_multi_rate_conf mr_conf; struct gsm_bts *bts = lchan->ts->trx->bts; struct osmo_mgcpc_ep_ci *use_mgwep_ci; struct gsm_lchan *old_lchan = lchan->activate.info.re_use_mgw_endpoint_from_lchan; @@ -537,26 +554,10 @@ } if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0) < 0) { - lchan_fail("Can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", - info->s15_s0); - return; - } - - /* Do not include 12.2 kbps rate when S1 is set. */ - if (lchan->type == GSM_LCHAN_TCH_H && (info->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { - /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration - * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR - * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) - * not included. */ - mr_conf.m12_2 = 0; - } - - if (lchan_mr_config(lchan, &mr_conf) < 0) { + if (lchan_mr_config(lchan, info->s15_s0) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; } - lchan->s15_s0 = info->s15_s0; } switch (info->chan_mode) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19790 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I068aadda53b2c3a85ed4fb1e513b17bf9870bd50 Gerrit-Change-Number: 19790 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 08:49:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 08:49:56 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make internal functions static. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19791 ) Change subject: lchan_fsm: make internal functions static. ...................................................................... lchan_fsm: make internal functions static. The functions lchan_fsm_allstate_action, lchan_fsm_allstate_action and lchan_fsm_cleanup are only used internally in lchan_fsm.c, lets make them static Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 05fb66f..26bfd29 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1329,7 +1329,7 @@ {} }; -void lchan_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void lchan_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -1349,7 +1349,7 @@ } } -int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) +static int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); switch (fi->state) { @@ -1424,7 +1424,7 @@ lchan->release.in_release_handler = false; } -void lchan_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +static void lchan_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); if (lchan->fi->state == LCHAN_ST_BORKEN) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19791 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If1ceb69d14a7840e1f753b0dd911726257125e99 Gerrit-Change-Number: 19791 Gerrit-PatchSet: 2 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 Tue Aug 25 08:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 08:52:59 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 Aug 2020 08:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 09:10:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:10:14 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:10: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 Aug 25 09:10:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:10:21 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:10: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 Aug 25 09:10:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:10:24 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:10:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 09:10:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:10:28 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 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 Tue Aug 25 09:10:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:10:33 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:10: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 Aug 25 09:25:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:25:20 +0000 Subject: Change in libosmocore[master]: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19809 ) Change subject: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem ...................................................................... osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem Under some specific cases, res_loc could be leaked. Under some others, res_loc and res_rem were freed without being initialized previously. Fixes: CID#212863 Fixes: CID#212861 Change-Id: Id9c4eda6fd1172e7324aa23c81e8658967a8dd0b --- M src/socket.c 1 file changed, 13 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/19809/1 diff --git a/src/socket.c b/src/socket.c index 50d59e5..0b84b99 100644 --- a/src/socket.c +++ b/src/socket.c @@ -566,8 +566,10 @@ if (flags & OSMO_SOCK_F_CONNECT) { rc = addrinfo_helper_multi(res_rem, family, type, proto, remote_hosts, remote_hosts_cnt, remote_port, false); - if (rc < 0) - return -EINVAL; + if (rc < 0) { + rc = -EINVAL; + goto ret_freeaddrinfo_loc; + } /* Figure out if there's any IPv4 or IPv6 addr in the set */ if (family == AF_UNSPEC) addrinfo_has_v4v6addr((const struct addrinfo **)res_rem, remote_hosts_cnt, @@ -660,10 +662,15 @@ if (sfd >= 0) close(sfd); ret_freeaddrinfo: - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(res_loc[i]); - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(res_rem[i]); + if (flags & OSMO_SOCK_F_CONNECT) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(res_rem[i]); + } +ret_freeaddrinfo_loc: + if (flags & OSMO_SOCK_F_BIND) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(res_loc[i]); + } return rc; } #endif /* HAVE_LIBSCTP */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id9c4eda6fd1172e7324aa23c81e8658967a8dd0b Gerrit-Change-Number: 19809 Gerrit-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 Aug 25 09:27:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:27:29 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 Aug 2020 09:27:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 09:32:51 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 25 Aug 2020 09:32:51 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... ttcn3-mgw-test: Removing the e1 config options on latest Fixes the test failure on ttcn3-mgw-test-latest Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a --- M ttcn3-mgw-test/jenkins.sh 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/10/19810/1 diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 15fab49..e27db09 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -14,6 +14,13 @@ network_create 4 +# Disable e1 config options until osmo-mgw >= 1.8.0 release +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/e1_line.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg + sed -i "s/e1_input.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg + sed -i "s/line 0.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg +fi + # start container with mgw in background docker run --rm \ --network $NET_NAME --ip 172.18.4.180 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 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 Aug 25 09:36:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:36:16 +0000 Subject: Change in osmo-trx[master]: logger: allow disabling all logging at compile time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19804 ) Change subject: logger: allow disabling all logging at compile time ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/19804/1/CommonLibs/Logger.h File CommonLibs/Logger.h: https://gerrit.osmocom.org/c/osmo-trx/+/19804/1/CommonLibs/Logger.h at 55 PS1, Line 55: #define MAYBE_LOG(src, level) if (!log_check_level(src, level) || DISABLE_ALL_LOGGING) {} else So there's two things here in the same patch: 1- For whatever reason you want to disable all logging 2- You want to avoid creating the object if there's gonna be no log due to loglevel. First of all, the construction you use here with the if else is deferring checks to the compiler for no good reason. Simply use #ifdef DISABLE_ALL_LOGGING and if defined, then define all the LOG* macros as empty. I think nowadays there's probably not a real good use for having to create objects every time, and I'd go better for refactoring the logging code to drop the object, and implement it as functions or macros. That's probably going to improve the efficiency. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I353ded020844eb4df7d7803785663789f8211d23 Gerrit-Change-Number: 19804 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:36: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 Aug 25 09:39:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 09:39:19 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/19810/1/ttcn3-mgw-test/jenkins.sh File ttcn3-mgw-test/jenkins.sh: https://gerrit.osmocom.org/c/docker-playground/+/19810/1/ttcn3-mgw-test/jenkins.sh at 17 PS1, Line 17: # Disable e1 config options until osmo-mgw >= 1.8.0 release Usually better to describe it as "> 1.7.0", since it's not yet clear which numbering next version containing it will have. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 09:39:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 10:00:17 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 25 Aug 2020 10:00:17 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/19810/1/ttcn3-mgw-test/jenkins.sh File ttcn3-mgw-test/jenkins.sh: https://gerrit.osmocom.org/c/docker-playground/+/19810/1/ttcn3-mgw-test/jenkins.sh at 17 PS1, Line 17: # Disable e1 config options until osmo-mgw >= 1.8.0 release > Usually better to describe it as "> 1.7. [?] True, but I thought it unlikely that a version 1.7.x would include big changes like this. osmo-mgw commit 889fe7f203fb (which includes support for "line n") is quite extensive (also requiring libosmo{trau,abis} -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 10:00: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 Tue Aug 25 11:01:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:01:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET 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/+/19636 to look at the new patch set (#2). Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET When receiving the instruction to CBSP RESET, osmo-bsc should stop CBSP broadcasting on all affected BTSes. Expect the according zero-payload ETWS CMDs on all CBSP relevant RSL ports. This behavior is implemented by osmo-bsc I925a041936c6163483d70fe6d158af368ec8c444 This is expected to break all CBSP tests until above bsc patch is merged, particularly the 'latest' tests will see this breakage until the next release is tagged. Depends: I925a041936c6163483d70fe6d158af368ec8c444 (osmo-bsc) Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/19636/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:03:19 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:03:19 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 to look at the new patch set (#3). Change subject: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast ...................................................................... CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast Normally, each ETWS CMD instructing to broadcast triggers a five second etws_timer to send a zero-payload ETWS CMD that stops broadcasting, five seconds later. Before this patch, this lingered past an ETWS RESET instruction. Instead, clear the etws_timer on ETWS RESET, and make sure that all ETWS PN broadcast is stopped by sending a zero payload ETWS CMD to the BTSes immediately. This will cause all CBSP ttcn3 tests to fail unless Ifee313369a433a6a638c5fffdedee5363b8e47c2 is merged to osmo-ttcn3-hacks at the same time. Related: Ifee313369a433a6a638c5fffdedee5363b8e47c2 (osmo-ttcn3-hacks) Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 --- M src/osmo-bsc/smscb.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/19632/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:03:19 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:03:19 +0000 Subject: Change in osmo-bsc[master]: CBSP: log CBSP RESET on NOTICE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 to look at the new patch set (#2). Change subject: CBSP: log CBSP RESET on NOTICE ...................................................................... CBSP: log CBSP RESET on NOTICE Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a --- M src/osmo-bsc/smscb.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/19633/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels 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 Aug 25 11:03:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:03:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 25 Aug 2020 11:03: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 Aug 25 11:03:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:03:53 +0000 Subject: Change in libosmocore[master]: l1sap.h: Fix typo in doxygen documentation References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19811 ) Change subject: l1sap.h: Fix typo in doxygen documentation ...................................................................... l1sap.h: Fix typo in doxygen documentation Change-Id: I5772d02704ef289945b8b70d1ebe8a8aa8b79362 --- M include/osmocom/gsm/l1sap.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/19811/1 diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h index 11b2773..d139690 100644 --- a/include/osmocom/gsm/l1sap.h +++ b/include/osmocom/gsm/l1sap.h @@ -126,7 +126,7 @@ /*! for {ACTIVATE,DEACTIVATE,MODIFY} MPH-INFO.req */ struct info_act_req_param { uint8_t chan_nr; /*!< Channel Number (Like RSL) */ - uint8_t sacch_only; /*!< \breif Only deactivate SACCH */ + uint8_t sacch_only; /*!< \brief Only deactivate SACCH */ }; /*! for {ACTIVATE,DEACTIVATE} MPH-INFO.cnf */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5772d02704ef289945b8b70d1ebe8a8aa8b79362 Gerrit-Change-Number: 19811 Gerrit-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 Aug 25 11:03:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:03:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 ) Change subject: bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET ...................................................................... bsc CBSP: expect zero-payload ETWS CMD after CBSP RESET When receiving the instruction to CBSP RESET, osmo-bsc should stop CBSP broadcasting on all affected BTSes. Expect the according zero-payload ETWS CMDs on all CBSP relevant RSL ports. This behavior is implemented by osmo-bsc I925a041936c6163483d70fe6d158af368ec8c444 This is expected to break all CBSP tests until above bsc patch is merged, particularly the 'latest' tests will see this breakage until the next release is tagged. Depends: I925a041936c6163483d70fe6d158af368ec8c444 (osmo-bsc) Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 548c0c1..498f484 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -186,6 +186,18 @@ mtc.stop; } } + + f_cbsp_expect_disable_etws_pn_broadcast(); +} + +function f_cbsp_expect_disable_etws_pn_broadcast() runs on cbsp_test_CT +{ + var template ASP_RSL_Unitdata zero_payload := tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O)); + interleave { + [] IPA_RSL[0].receive(zero_payload) { log("CBSP: disabled ETWS PN broadcast on bts 0"); } + [] IPA_RSL[1].receive(zero_payload) { log("CBSP: disabled ETWS PN broadcast on bts 1"); } + [] IPA_RSL[2].receive(zero_payload) { log("CBSP: disabled ETWS PN broadcast on bts 2"); } + } } /* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifee313369a433a6a638c5fffdedee5363b8e47c2 Gerrit-Change-Number: 19636 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Tue Aug 25 11:04:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:04:40 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 25 Aug 2020 11:04: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 Aug 25 11:05:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:05:20 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast ...................................................................... Patch Set 3: Code-Review+2 re-add previous +2 after commit log tweaks -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 25 Aug 2020 11: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 Tue Aug 25 11:12:21 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:12:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_does_lu_by_unknown_tmsi() ...................................................................... Patch Set 3: I disagree with both of you. Those very few letters relieve the human brain of inventing words to understand what exactly the test is about. The name is not incorrect or misleading, it is a sufficiently short and accurate name. I also find it funny that you guys would even consider writing three comments about something like this. So then I will submit to your bickering, but let's avoid more of that when it is just not appropriate. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:12:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:12:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:12:37 +0000 Subject: Change in libosmocore[master]: socker: Remove AI_ADDRCONFIG from getaddrinfo flags References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19812 ) Change subject: socker: Remove AI_ADDRCONFIG from getaddrinfo flags ...................................................................... socker: Remove AI_ADDRCONFIG from getaddrinfo flags The flag was added recently in cd133316cfc735a3006d499dae6b2f693c3c741c, and it is causing issues while running unit tests in environemnt like OBS where probably there's no non-loopback address configured. Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/19812/1 diff --git a/src/socket.c b/src/socket.c index 0b84b99..1afbe6e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -79,7 +79,7 @@ hints.ai_socktype = type; hints.ai_protocol = proto; } - hints.ai_flags = AI_ADDRCONFIG; + if (passive) hints.ai_flags |= AI_PASSIVE; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 Gerrit-Change-Number: 19812 Gerrit-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 Aug 25 11:17:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:17:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_lu_unknown_tmsi() In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 to look at the new patch set (#4). Change subject: msc: add TC_attached_imsi_lu_unknown_tmsi() ...................................................................... msc: add TC_attached_imsi_lu_unknown_tmsi() The test currently fails with osmo-msc master. It uncovers the evil twin aspect of osmo-msc's VLR, for an attached IMSI re-attaching with an unknown TMSI. Related: OS#4721 Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d --- M msc/MSC_Tests.ttcn 1 file changed, 89 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/19718/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:19:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 Aug 2020 11:19:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_lu_unknown_tmsi() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_lu_unknown_tmsi() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11: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 Tue Aug 25 11:20:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:20:22 +0000 Subject: Change in osmo-bsc[master]: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19632 ) Change subject: CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast ...................................................................... CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast Normally, each ETWS CMD instructing to broadcast triggers a five second etws_timer to send a zero-payload ETWS CMD that stops broadcasting, five seconds later. Before this patch, this lingered past an ETWS RESET instruction. Instead, clear the etws_timer on ETWS RESET, and make sure that all ETWS PN broadcast is stopped by sending a zero payload ETWS CMD to the BTSes immediately. This will cause all CBSP ttcn3 tests to fail unless Ifee313369a433a6a638c5fffdedee5363b8e47c2 is merged to osmo-ttcn3-hacks at the same time. Related: Ifee313369a433a6a638c5fffdedee5363b8e47c2 (osmo-ttcn3-hacks) Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 --- M src/osmo-bsc/smscb.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 436826a..cb68578 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -664,6 +664,10 @@ llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) bts_smscb_del(smscb, chan_state, "RESET"); + osmo_timer_del(&bts->etws_timer); + + /* Make sure that broadcast is disabled */ + rsl_etws_pn_command(bts, RSL_CHAN_PCH_AGCH, NULL, 0); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I925a041936c6163483d70fe6d158af368ec8c444 Gerrit-Change-Number: 19632 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:23:30 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 Aug 2020 11:23:30 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19147 to look at the new patch set (#12). Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... socket: fix osmo_sock_get_ip_and_port for IPv6 The struct sockaddr is too small for IPv6. IPv6 has a 16 byte address, while struct sockaddr is only 14 byte big (+ family). Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.ok 3 files changed, 38 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/19147/12 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 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 Tue Aug 25 11:23:30 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 Aug 2020 11:23:30 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19143 to look at the new patch set (#14). Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd osmo_sock_init3() takes osmo_sockaddr* as local and remote endpoints to setup a socket. Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 --- M include/osmocom/core/socket.h M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 5 files changed, 309 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/19143/14 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 14 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge 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 Aug 25 11:23:30 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 25 Aug 2020 11:23:30 +0000 Subject: Change in libosmocore[master]: WIP: Gb: add a second NS implementation In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19417 to look at the new patch set (#14). Change subject: WIP: Gb: add a second NS implementation ...................................................................... WIP: Gb: add a second NS implementation Change-Id: I3525beef205588dfab9d3880a34115f1a2676e48 --- M include/Makefile.am M include/osmocom/core/logging.h A include/osmocom/gprs/gprs_ns2.h M include/osmocom/gprs/protocol/gsm_08_16.h M src/gb/Makefile.am A src/gb/gprs_ns2.c A src/gb/gprs_ns2_driver.c A src/gb/gprs_ns2_frgre.c A src/gb/gprs_ns2_internal.h A src/gb/gprs_ns2_message.c A src/gb/gprs_ns2_sns.c A src/gb/gprs_ns2_vc_fsm.c A src/gb/gprs_ns2_vty.c M src/gb/libosmogb.map 14 files changed, 5,920 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/19417/14 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3525beef205588dfab9d3880a34115f1a2676e48 Gerrit-Change-Number: 19417 Gerrit-PatchSet: 14 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:24:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:24:28 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:24: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 Aug 25 11:25:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:25:28 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 14: My comments were not addressed -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 14 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:25: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 Aug 25 11:25:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:25:49 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11: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 Tue Aug 25 11:27:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 11:27:15 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 12: Code-Review+1 The description doesn't match the commit after the rebase. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:27:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:34:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:34:54 +0000 Subject: Change in libosmocore[master]: comment: mention spec reference in cbsp.[ch] References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19813 ) Change subject: comment: mention spec reference in cbsp.[ch] ...................................................................... comment: mention spec reference in cbsp.[ch] Change-Id: I1217883a85b4ddd20e9646c7e80ba18950e09713 --- M include/osmocom/gsm/cbsp.h M src/gsm/cbsp.c 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/19813/1 diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 90516cb..5ed973a 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -6,7 +6,7 @@ #include /* Definitions for parsed / abstract representation of messages in the - * CBSP (Cell Broadcast Service Protocol). Data here is *not* formatted + * CBSP (Cell Broadcast Service Protocol, 3GPP TS 48.049). Data here is *not* formatted * like the * on-the-wire format. Any similarities are coincidetial ;) */ /* Copyright (C) 2019 Harald Welte diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index ccc2df5..b89358d 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -1,3 +1,4 @@ +/* Cell Broadcast Service Protocol (CBSP, 3GPP TS 48.049): Message encoding, decoding and reception */ /* * Copyright (C) 2019 Harald Welte * -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1217883a85b4ddd20e9646c7e80ba18950e09713 Gerrit-Change-Number: 19813 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 Aug 25 11:34:55 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 25 Aug 2020 11:34:55 +0000 Subject: Change in libosmocore[master]: comment: typo in cbsp.h References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19814 ) Change subject: comment: typo in cbsp.h ...................................................................... comment: typo in cbsp.h Change-Id: I965ba77160f931afaf472c1e260ac6ca5cc7890e --- M include/osmocom/gsm/cbsp.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/19814/1 diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 5ed973a..d456ce2 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -7,7 +7,7 @@ /* Definitions for parsed / abstract representation of messages in the * CBSP (Cell Broadcast Service Protocol, 3GPP TS 48.049). Data here is *not* formatted - * like the * on-the-wire format. Any similarities are coincidetial ;) */ + * like the on-the-wire format. Any similarities are coincidential ;) */ /* Copyright (C) 2019 Harald Welte * -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I965ba77160f931afaf472c1e260ac6ca5cc7890e Gerrit-Change-Number: 19814 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 Aug 25 11:37:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:37:20 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:37: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 Aug 25 11:39:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:39:28 +0000 Subject: Change in osmo-trx[master]: osmo-trx-ipc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19641 ) Change subject: osmo-trx-ipc ...................................................................... osmo-trx-ipc This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 --- M .gitignore M Transceiver52M/Makefile.am M Transceiver52M/device/Makefile.am A Transceiver52M/device/ipc/IPCDevice.cpp A Transceiver52M/device/ipc/IPCDevice.h A Transceiver52M/device/ipc/Makefile.am A Transceiver52M/device/ipc/ipc-driver-test.c A Transceiver52M/device/ipc/ipc-driver-test.h A Transceiver52M/device/ipc/ipc_chan.c A Transceiver52M/device/ipc/ipc_chan.h A Transceiver52M/device/ipc/ipc_shm.c A Transceiver52M/device/ipc/ipc_shm.h A Transceiver52M/device/ipc/ipc_sock.c A Transceiver52M/device/ipc/ipc_sock.h A Transceiver52M/device/ipc/shm.c A Transceiver52M/device/ipc/shm.h A Transceiver52M/device/ipc/uhdwrap.cpp A Transceiver52M/device/ipc/uhdwrap.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M configure.ac M contrib/jenkins.sh M contrib/osmo-trx.spec.in M contrib/systemd/Makefile.am A contrib/systemd/osmo-trx-ipc.service M debian/control A debian/osmo-trx-ipc.install M debian/rules M doc/examples/Makefile.am A doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg 30 files changed, 3,765 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 128f803..4baa72a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ Transceiver52M/osmo-trx-uhd Transceiver52M/osmo-trx-usrp1 Transceiver52M/osmo-trx-lms +Transceiver52M/osmo-trx-ipc + +.clang-format # tests tests/CommonLibs/BitVectorTest @@ -19,6 +22,7 @@ tests/CommonLibs/PRBSTest tests/Transceiver52M/convolve_test tests/Transceiver52M/LMSDeviceTest +Transceiver52M/device/ipc/ipc-driver-test # automake/autoconf *.in @@ -66,3 +70,5 @@ contrib/osmo-trx.spec !contrib/osmo-trx.spec.in + +utils/osmo-prbs-tool diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index ade4e30..7dad159 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -104,3 +104,13 @@ $(LMS_LIBS) osmo_trx_lms_CPPFLAGS = $(AM_CPPFLAGS) $(LMS_CFLAGS) endif + +if DEVICE_IPC +bin_PROGRAMS += osmo-trx-ipc +osmo_trx_ipc_SOURCES = osmo-trx.cpp +osmo_trx_ipc_LDADD = \ + $(builddir)/device/ipc/libdevice.la \ + $(COMMON_LDADD) +osmo_trx_ipc_CPPFLAGS = $(AM_CPPFLAGS) +endif + diff --git a/Transceiver52M/device/Makefile.am b/Transceiver52M/device/Makefile.am index 369e877..93ba7e3 100644 --- a/Transceiver52M/device/Makefile.am +++ b/Transceiver52M/device/Makefile.am @@ -2,6 +2,10 @@ SUBDIRS = common +if DEVICE_IPC +SUBDIRS += ipc +endif + if DEVICE_USRP1 SUBDIRS += usrp1 endif diff --git a/Transceiver52M/device/ipc/IPCDevice.cpp b/Transceiver52M/device/ipc/IPCDevice.cpp new file mode 100644 index 0000000..4a1f8b6 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.cpp @@ -0,0 +1,1267 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* 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 . +* See the COPYING file in the main directory for details. +*/ + +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "Logger.h" +#include "Threads.h" +#include "IPCDevice.h" +#include "smpl_buf.h" + +extern "C" { +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include "osmo_signal.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ipc_shm.h" +} + +#define SAMPLE_BUF_SZ (1 << 20) + +using namespace std; + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags); + +IPCDevice::IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) + : RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths), tx_attenuation(), + tmp_state(IPC_IF_MSG_GREETING_REQ), shm(NULL), shm_dec(0), started(false) +{ + LOGC(DDEV, INFO) << "creating IPC device..."; + + rx_gains.resize(chans); + tx_gains.resize(chans); + + rx_buffers.resize(chans); + + sk_chan_state.resize(chans, ipc_per_trx_sock_state()); + + /* Set up per-channel Rx timestamp based Ring buffers */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i] = new smpl_buf(SAMPLE_BUF_SZ / sizeof(uint32_t)); +} + +IPCDevice::~IPCDevice() +{ + LOGC(DDEV, INFO) << "Closing IPC device"; + /* disable all channels */ + + for (size_t i = 0; i < rx_buffers.size(); i++) + delete rx_buffers[i]; + + ipc_sock_close(&master_sk_state); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + ipc_sock_close(&sk_chan_state[i]); + + for (auto i : shm_io_rx_streams) + ipc_shm_close(i); + for (auto i : shm_io_tx_streams) + ipc_shm_close(i); + + if (shm_dec) + talloc_free(shm_dec); +} + +int IPCDevice::ipc_shm_connect(const char *shm_name) +{ + int fd; + size_t shm_len; + int rc; + + LOGP(DDEV, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DDEV, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + // Get size of the allocated memory + struct stat shm_stat; + if (fstat(fd, &shm_stat) < 0) { + LOGP(DDEV, LOGL_ERROR, "fstat %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + shm_len = shm_stat.st_size; + + LOGP(DDEV, LOGL_NOTICE, "mmaping shared memory fd %d (size=%zu)\n", fd, shm_len); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DDEV, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + LOGP(DDEV, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + // LOGP(DDEV, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg); + +static struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_req(struct ipc_per_trx_sock_state *state, uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx Greeting Req (" << IPC_IF_MSG_GREETING_REQ << ")\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_REQ); + if (!msg) { + LOGC(DDEV, INFO) << "ipc_msgb_alloc() returns NULL!"; + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_req.req_version = req_version; + + return ipc_sock_send(state, msg); +} + +static int ipc_tx_info_req(struct ipc_per_trx_sock_state *state) +{ + struct msgb *msg; + //struct ipc_sk_if *ipc_prim; + + LOGC(DDEV, NOTICE) << "Tx INFO Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_REQ); + if (!msg) + return -ENOMEM; + + //ipc_prim = (struct ipc_sk_if *) msg->data; + + return ipc_sock_send(state, msg); +} + +int IPCDevice::ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_req_chan *chan_info; + + LOGC(DDEV, NOTICE) << "Tx Open Req\n"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_REQ); + if (!msg) { + return -ENOMEM; + } + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_req.num_chans = num_chans; + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + ipc_prim->u.open_req.rx_sample_freq_num = rx_sps; + ipc_prim->u.open_req.rx_sample_freq_den = 1; + ipc_prim->u.open_req.tx_sample_freq_num = tx_sps; + ipc_prim->u.open_req.tx_sample_freq_den = 1; + + switch (ref) { + case ReferenceType::REF_EXTERNAL: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + break; + case ReferenceType::REF_INTERNAL: + case ReferenceType::REF_GPS: + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_INTERNAL; + break; + } + + /* FIXME: clock ref part of config, not open */ + ipc_prim->u.open_req.clockref = FEATURE_MASK_CLOCKREF_EXTERNAL; + + for (unsigned int i = 0; i < num_chans; i++) { + chan_info = &ipc_prim->u.open_req.chan_info[i]; + OSMO_STRLCPY_ARRAY(chan_info->rx_path, rx_paths[i].c_str()); + OSMO_STRLCPY_ARRAY(chan_info->tx_path, tx_paths[i].c_str()); + } + + return ipc_sock_send(state, msg); +} + +static void ipc_sock_timeout(void *_priv) +{ + LOGC(DDEV, INFO) << "UNIX SOCKET TIMEOUT!"; + exit(1); +} + +int IPCDevice::ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf) +{ + if (greeting_cnf->req_version == IPC_SOCK_API_VERSION) { + LOGC(DDEV, NOTICE) << "Rx Greeting CNF: correct sock API version" << greeting_cnf->req_version; + tmp_state = IPC_IF_MSG_GREETING_CNF; + } else { + LOGC(DDEV, ERROR) << "Wrong IPC SOCK API VERSION RECEIVED!" << greeting_cnf->req_version; + exit(1); + } + return 0; +} + +int IPCDevice::ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf) +{ + current_info_cnf = *info_cnf; + unsigned int i; + + if (info_cnf->max_num_chans < chans) { + LOGC(DDEV, ERROR) << "chan num mismatch:" << info_cnf->max_num_chans << " vs " << chans; + return -1; + } + + /* Here: + * verify info_cnf->max_num_chans >= requested chans + * verify supports setting reflock as asked by user looking in info_cnf->feature_mask + * cache locally min/max tx/rxGain values from info_cnf + * do whatever validations or print info_cnf->dev_desc + * cache rx/tx paths per channel, and make sure it matches the one the user wants to set + */ + + LOGC(DDEV, NOTICE) + << "Rx Info CNF:" + << " name=" << info_cnf->dev_desc << std::endl + << " max_num_chans=" << info_cnf->max_num_chans << " feature_mask=" << info_cnf->feature_mask; + for (i = 0; i < info_cnf->max_num_chans; i++) { + int j = 0; + bool rx_found = false, tx_found = false; + while (strcmp(info_cnf->chan_info[i].rx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": RxPath[" << j << "]: " << info_cnf->chan_info[i].rx_path[j] + << " min_rx_gain=" << info_cnf->chan_info[i].min_rx_gain + << " max_rx_gain=" << info_cnf->chan_info[i].max_rx_gain + << " min_tx_gain=" << info_cnf->chan_info[i].min_tx_gain + << " max_tx_gain=" << info_cnf->chan_info[i].max_tx_gain; + + if (rx_paths.size() < (i + 1) || + strcmp(rx_paths[i].c_str(), info_cnf->chan_info[i].rx_path[j]) == 0) { + rx_found = true; + break; + } + j++; + } + j = 0; + while (strcmp(info_cnf->chan_info[i].tx_path[j], "") != 0) { + LOGC(DDEV, NOTICE) + << "chan " << i << ": TxPath[" << j << "]: " << info_cnf->chan_info[i].tx_path[j]; + if (tx_paths.size() < (i + 1) || + strcmp(tx_paths[i].c_str(), info_cnf->chan_info[i].tx_path[j]) == 0) { + tx_found = true; + break; + } + j++; + } + + if (!rx_found) { + LOGC(DDEV, ERROR) << "rx antenna not found: " << rx_paths[i]; + exit(0); + } + if (!tx_found) { + LOGC(DDEV, ERROR) << "tx antenna not found: " << rx_paths[i]; + exit(0); + } + } + tmp_state = IPC_IF_MSG_INFO_CNF; + return 0; +} + +int IPCDevice::ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf) +{ + unsigned int i; + current_open_cnf = *open_cnf; + + LOGC(DDEV, NOTICE) + << "Rx Open CNF:" + << " return_code=" << (unsigned int)open_cnf->return_code << " shm_name=" << open_cnf->shm_name; + LOGC(DDEV, NOTICE) << "Rx Open CNF:" + << " ipc device path delay: " << (unsigned int)open_cnf->path_delay; + for (i = 0; i < chans; i++) { + int rc; + LOGC(DDEV, NOTICE) << "chan " << i << ": sk_path=" << open_cnf->chan_info[i].chan_ipc_sk_path; + + /* FIXME: current limit IPC_MAX_NUM_TRX chans, make dynamic */ + if (i < IPC_MAX_NUM_TRX) { + struct ipc_per_trx_sock_state *state = &sk_chan_state[i]; + + INIT_LLIST_HEAD(&state->upqueue); + rc = osmo_sock_unix_init_ofd(&state->conn_bfd, SOCK_SEQPACKET, 0, + open_cnf->chan_info[i].chan_ipc_sk_path, OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" + << open_cnf->chan_info[i].chan_ipc_sk_path << "). " + << "Retrying...\n"; + osmo_timer_setup(&state->timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&state->timer, 5, 0); + return -1; + } + state->conn_bfd.cb = ipc_chan_sock_cb; + state->conn_bfd.data = this; + state->conn_bfd.priv_nr = i; + } + } + + OSMO_STRLCPY_ARRAY(shm_name, open_cnf->shm_name); + if (ipc_shm_connect(shm_name) < 0) + return -1; + shm_dec = ipc_shm_decode_region(NULL, (ipc_shm_raw_region *)shm); + LOGC(DDEV, NOTICE) << "shm: num_chans=" << shm_dec->num_chans; + + /* server inits both producers */ + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: num_buffers=" << shm_dec->channels[i]->dl_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/dl: buffer_size=" << shm_dec->channels[i]->dl_stream->buffer_size; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: num_buffers=" << shm_dec->channels[i]->ul_stream->num_buffers; + LOGC(DDEV, NOTICE) + << "shm: chan" << i << "/ul: buffer_size=" << shm_dec->channels[i]->ul_stream->buffer_size; + shm_io_rx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->ul_stream)); + shm_io_tx_streams.push_back(ipc_shm_init_consumer(shm_dec->channels[i]->dl_stream)); + // we should init a producer here, but delegating all producers and therefore lock management + // to the other side is the reasonable approach to circumvent shutdown issues + } + + tmp_state = IPC_IF_MSG_OPEN_CNF; + return 0; +} + +int IPCDevice::ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_CNF: + rc = ipc_rx_greeting_cnf(&ipc_prim->u.greeting_cnf); + break; + case IPC_IF_MSG_INFO_CNF: + rc = ipc_rx_info_cnf(&ipc_prim->u.info_cnf); + break; + case IPC_IF_MSG_OPEN_CNF: + rc = ipc_rx_open_cnf(&ipc_prim->u.open_cnf); + break; + default: + LOGP(DDEV, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int IPCDevice::ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal start response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal stop response for chan #" << chan_nr << " ?!?"; + return 0; + } + return 0; +} +int IPCDevice::ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setgain response for chan #" << chan_nr << " ?!?"; + return 0; + } + + ret->is_tx ? tx_gains[chan_nr] = ret->gain : rx_gains[chan_nr] = ret->gain; + return 0; +} +int IPCDevice::ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal tx attn response for chan #" << chan_nr << " ?!?"; + return 0; + } + + tx_attenuation[chan_nr] = ret->attenuation; + return 0; +} +int IPCDevice::ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal setfreq response for chan #" << chan_nr << " ?!?"; + return 0; + } + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal underfloww notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].tx_underruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + + return 0; +} +int IPCDevice::ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr) +{ + if (chan_nr >= chans) { + LOGC(DDEV, NOTICE) << "shm: illegal overflow notification for chan #" << chan_nr << " ?!?"; + return 0; + } + + m_ctr[chan_nr].rx_overruns += 1; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan_nr]); + return 0; +} + +int IPCDevice::ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_CNF: + rc = ipc_rx_chan_start_cnf(&ipc_prim->u.start_cnf, chan_nr); + break; + case IPC_IF_MSG_STOP_CNF: + rc = ipc_rx_chan_stop_cnf(&ipc_prim->u.stop_cnf, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_CNF: + rc = ipc_rx_chan_setgain_cnf(&ipc_prim->u.set_gain_cnf, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_CNF: + rc = ipc_rx_chan_setfreq_cnf(&ipc_prim->u.set_freq_cnf, chan_nr); + break; + case IPC_IF_NOTIFY_UNDERFLOW: + rc = ipc_rx_chan_notify_underflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_NOTIFY_OVERFLOW: + rc = ipc_rx_chan_notify_overflow(&ipc_prim->u.notify, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_CNF: + rc = ipc_rx_chan_settxattn_cnf(&ipc_prim->u.txatten_cnf, chan_nr); + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Received unknown IPC msg type %d\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +static int ipc_sock_send(struct ipc_per_trx_sock_state *state, struct msgb *msg) +{ + struct osmo_fd *conn_bfd; + + if (!state) { + LOGP(DMAIN, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DMAIN, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void IPCDevice::ipc_sock_close(struct ipc_per_trx_sock_state *state) +{ + if (state == 0) + return; + + struct osmo_fd *bfd = &state->conn_bfd; + + if (bfd->fd <= 0) + return; + + LOGP(DDEV, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int IPCDevice::ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if ((size_t)rc < sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + /* store mask of last received messages so we can check later */ + sk_chan_state[bfd->priv_nr].messages_processed_mask |= (1 << (ipc_prim->msg_type - IPC_IF_CHAN_MSG_OFFSET)); + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +int IPCDevice::ipc_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&master_sk_state.upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(master_sk_state.upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&master_sk_state.upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&master_sk_state); + return -1; +} + +int IPCDevice::ipc_chan_sock_write(struct osmo_fd *bfd) +{ + int rc; + + while (!llist_empty(&sk_chan_state[bfd->priv_nr].upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(sk_chan_state[bfd->priv_nr].upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + bfd->when &= ~BSC_FD_WRITE; + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can dequeue */ + msg2 = msgb_dequeue(&sk_chan_state[bfd->priv_nr].upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(&sk_chan_state[bfd->priv_nr]); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_sock_write(bfd); + + return rc; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + IPCDevice *device = static_cast(bfd->data); + int rc = 0; + + if (flags & BSC_FD_READ) + rc = device->ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = device->ipc_chan_sock_write(bfd); + + return rc; +} + +int IPCDevice::open(const std::string &args, int ref, bool swap_channels) +{ + std::string k, v; + std::string::size_type keyend; + int rc; + + if ((keyend = args.find('=')) != std::string::npos) { + k = args.substr(0, keyend++); + v = args.substr(keyend); + } + if (k != "ipc_msock" || !v.length()) { + LOGC(DDEV, ERROR) << "Invalid device args provided, expected \"dev-args ipc_msock=/path/to/socket\"\n"; + return -1; + } + + LOGC(DDEV, INFO) << "Opening IPC device" << v << ".."; + + INIT_LLIST_HEAD(&master_sk_state.upqueue); + rc = osmo_sock_unix_init_ofd(&master_sk_state.conn_bfd, SOCK_SEQPACKET, 0, v.c_str(), OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGC(DDEV, ERROR) << "Failed to connect to the BTS (" << v << "). " + << "Retrying...\n"; + osmo_timer_setup(&master_sk_state.timer, ipc_sock_timeout, NULL); + osmo_timer_schedule(&master_sk_state.timer, 5, 0); + return -1; + } + master_sk_state.conn_bfd.cb = ipc_sock_cb; + master_sk_state.conn_bfd.data = this; + + ipc_tx_greeting_req(&master_sk_state, IPC_SOCK_API_VERSION); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_GREETING_CNF) + osmo_select_main(0); + + ipc_tx_info_req(&master_sk_state); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_INFO_CNF) + osmo_select_main(0); + + ipc_tx_open_req(&master_sk_state, chans, ref); + /* Wait until confirmation is recieved */ + while (tmp_state != IPC_IF_MSG_OPEN_CNF) + osmo_select_main(0); + LOGC(DDEV, NOTICE) << "Device driver opened successfuly!"; + + /* configure antennas */ + if (!set_antennas()) { + LOGC(DDEV, FATAL) << "IPC antenna setting failed"; + goto out_close; + } + + return iface == MULTI_ARFCN ? MULTI_ARFCN : NORMAL; + +out_close: + LOGC(DDEV, FATAL) << "Error in IPC open, closing"; + return -1; +} + +void IPCDevice::manually_poll_sock_fds() +{ + struct timeval wait = { 0, 100000 }; + fd_set crfds, cwfds; + int max_fd = 0; + + FD_ZERO(&crfds); + FD_ZERO(&cwfds); + for (unsigned int i = 0; i < chans; i++) { + struct osmo_fd *curr_fd = &sk_chan_state[i].conn_bfd; + max_fd = curr_fd->fd > max_fd ? curr_fd->fd : max_fd; + + if (curr_fd->when & OSMO_FD_READ) + FD_SET(curr_fd->fd, &crfds); + if (curr_fd->when & OSMO_FD_WRITE) + FD_SET(curr_fd->fd, &cwfds); + } + + select(max_fd + 1, &crfds, &cwfds, 0, &wait); + + for (unsigned int i = 0; i < chans; i++) { + int flags = 0; + struct osmo_fd *ofd = &sk_chan_state[i].conn_bfd; + + if (FD_ISSET(ofd->fd, &crfds)) { + flags |= OSMO_FD_READ; + FD_CLR(ofd->fd, &crfds); + } + + if (FD_ISSET(ofd->fd, &cwfds)) { + flags |= OSMO_FD_WRITE; + FD_CLR(ofd->fd, &cwfds); + } + if (flags) + ipc_chan_sock_cb(ofd, flags); + } +} + +bool IPCDevice::send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id) +{ + struct timeval timer_now, timeout; + + sk_chan_state[chan].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[chan], msg_to_send); + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + while (!(sk_chan_state[chan].messages_processed_mask & (1 << (expected_rsp_msg_id - IPC_IF_CHAN_MSG_OFFSET)))) { + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + return true; +} + +bool IPCDevice::send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + struct timeval timer_now, timeout; + + for (unsigned int i = 0; i < chans; i++) { + msg = ipc_msgb_alloc(msgid_to_send); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_req.dummy = 0; + + sk_chan_state[i].messages_processed_mask = 0; + ipc_sock_send(&sk_chan_state[i], msg); + } + + gettimeofday(&timeout, 0); + timeout.tv_sec += 2; + + unsigned int msg_received_count = 0; + while (msg_received_count != chans) { + msg_received_count = 0; + + /* just poll here, we're already in select, so there is no other way to drive + * the fds and "wait" for a response or retry */ + manually_poll_sock_fds(); + + for (unsigned int i = 0; i < sk_chan_state.size(); i++) + if (sk_chan_state[i].messages_processed_mask & + (1 << (msgid_to_expect - IPC_IF_CHAN_MSG_OFFSET))) + msg_received_count++; + + gettimeofday(&timer_now, 0); + if (timercmp(&timer_now, &timeout, >)) + return false; + } + + return true; +} + +/* the call stack is rather difficult here, we're already in select: +>~"#0 IPCDevice::start (this=) at IPCDevice.cpp:789\n" +>~"#1 in RadioInterface::start (this=0x614000001640) at radioInterface.cpp:187\n" +>~"#2 in Transceiver::start (this=) at Transceiver.cpp:293\n" +>~"#3 in Transceiver::ctrl_sock_handle_rx (this=0x61600000b180, chan=0) at Transceiver.cpp:838\n" +>~"#4 in Transceiver::ctrl_sock_cb (bfd=, flags=1) at Transceiver.cpp:168\n" +>~"#5 in osmo_fd_disp_fds (_rset=, _wset=, _eset=) at select.c:227\n" +>~"#6 _osmo_select_main (polling=) at select.c:265\n" +>~"#7 in osmo_select_main (polling=128) at select.c:274\n" +>~"#8 in main (argc=, argv=) at osmo-trx.cpp:649\n" + * */ +bool IPCDevice::start() +{ + LOGC(DDEV, INFO) << "starting IPC..."; + + if (started) { + LOGC(DDEV, ERR) << "Device already started"; + return true; + } + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_START_REQ, IPC_IF_MSG_START_CNF))) { + LOGC(DDEV, ERR) << "start timeout!"; + return false; + } + + int max_bufs_to_flush = 0; + for (unsigned int i = 0; i < shm_dec->num_chans; i++) { + int buf_per_chan = shm_dec->channels[i]->ul_stream->num_buffers; + max_bufs_to_flush = max_bufs_to_flush < buf_per_chan ? buf_per_chan : max_bufs_to_flush; + } + flush_recv(max_bufs_to_flush); + + started = true; + return true; +} + +bool IPCDevice::stop() +{ + if (!started) + return true; + + if (!(send_all_chan_wait_rsp(IPC_IF_MSG_STOP_REQ, IPC_IF_MSG_STOP_CNF))) { + LOGC(DDEV, ERR) << "stop timeout!"; + return false; + } + + LOGC(DDEV, NOTICE) << "All channels stopped, terminating..."; + + started = false; + return true; +} + +double IPCDevice::maxRxGain() +{ + return current_info_cnf.chan_info[0].max_rx_gain; +} + +double IPCDevice::minRxGain() +{ + return current_info_cnf.chan_info[0].min_rx_gain; +} + +int IPCDevice::getNominalTxPower(size_t chan) +{ + return current_info_cnf.chan_info[chan].nominal_tx_power; +} + +double IPCDevice::setPowerAttenuation(int atten, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (chan >= chans) + return 0; + + LOGCHAN(chan, DDEV, NOTICE) << "Setting TX attenuation to " << atten << " dB" + << " chan " << chan; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_req.attenuation = atten; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETTXATTN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting TX attenuation timeout! "; + + return atten; +} + +double IPCDevice::getPowerAttenuation(size_t chan) +{ + if (chan >= chans) + return 0; + + return tx_attenuation[chan]; +} + +double IPCDevice::setRxGain(double dB, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + + if (dB > maxRxGain()) + dB = maxRxGain(); + if (dB < minRxGain()) + dB = minRxGain(); + + LOGCHAN(chan, DDEV, NOTICE) << "Setting RX gain to " << dB << " dB"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_req.is_tx = 0; + ipc_prim->u.set_gain_req.gain = dB; + + if (!send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETGAIN_CNF)) + LOGCHAN(chan, DDEV, ERROR) << "Setting RX gain timeout! "; + + return rx_gains[chan]; +} + +bool IPCDevice::flush_recv(size_t num_pkts) +{ + std::vector tmp(4096); + uint64_t tmps; + uint32_t read = 0; + + for (uint32_t j = 0; j < num_pkts; j++) { + for (unsigned int i = 0; i < chans; i++) + read = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)&tmp.front(), 4096 / 2, &tmps, 3); + } + ts_initial = tmps + read; + + LOGC(DDEV, INFO) << "Initial timestamp " << ts_initial << std::endl; + return true; +} + +bool IPCDevice::setRxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getRxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::setTxAntenna(const std::string &ant, size_t chan) +{ + return true; +} + +std::string IPCDevice::getTxAntenna(size_t chan) +{ + return ""; +} + +bool IPCDevice::requiresRadioAlign() +{ + return false; +} + +GSM::Time IPCDevice::minLatency() +{ + /* UNUSED */ + return GSM::Time(0, 0); +} + +/** Returns the starting write Timestamp*/ +TIMESTAMP IPCDevice::initialWriteTimestamp(void) +{ + return ts_initial; +} + +/** Returns the starting read Timestamp*/ +TIMESTAMP IPCDevice::initialReadTimestamp(void) +{ + return ts_initial; +} + +// NOTE: Assumes sequential reads +int IPCDevice::readSamples(std::vector &bufs, int len, bool *overrun, TIMESTAMP timestamp, bool *underrun) +{ + int rc, num_smpls; //, expect_smpls; + ssize_t avail_smpls; + TIMESTAMP expect_timestamp; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *overrun = false; + *underrun = false; + + timestamp += current_open_cnf.path_delay; + + /* Check that timestamp is valid */ + rc = rx_buffers[0]->avail_smpls(timestamp); + if (rc < 0) { + LOGC(DDEV, ERROR) << rx_buffers[0]->str_code(rc); + LOGC(DDEV, ERROR) << rx_buffers[0]->str_status(timestamp); + return 0; + } + + for (i = 0; i < chans; i++) { + /* Receive samples from HW until we have enough */ + while ((avail_smpls = rx_buffers[i]->avail_smpls(timestamp)) < len) { + uint64_t recv_timestamp = 0; + + thread_enable_cancel(false); + num_smpls = ipc_shm_read(shm_io_rx_streams[i], (uint16_t *)bufs[i], len - avail_smpls, + &recv_timestamp, 1); + expect_timestamp = timestamp + avail_smpls; + thread_enable_cancel(true); + + if (num_smpls == -ETIMEDOUT) + continue; + + LOGCHAN(i, DDEV, DEBUG) + "Received timestamp = " << (TIMESTAMP)recv_timestamp << " (" << num_smpls << ")"; + + if (expect_timestamp != (TIMESTAMP)recv_timestamp) + LOGCHAN(i, DDEV, ERROR) << "Unexpected recv buffer timestamp: expect " + << expect_timestamp << " got " << recv_timestamp << ", diff=" + << ((uint64_t)recv_timestamp > expect_timestamp ? + (uint64_t)recv_timestamp - expect_timestamp : + expect_timestamp - recv_timestamp); + + rc = rx_buffers[i]->write(bufs[i], num_smpls, (TIMESTAMP)recv_timestamp); + if (rc < 0) { + LOGCHAN(i, DDEV, ERROR) + << rx_buffers[i]->str_code(rc) << " num smpls: " << num_smpls << " chan: " << i; + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_status(timestamp); + if (rc != smpl_buf::ERROR_OVERFLOW) + return 0; + } + } + } + + /* We have enough samples */ + for (size_t i = 0; i < rx_buffers.size(); i++) { + rc = rx_buffers[i]->read(bufs[i], len, timestamp); + if ((rc < 0) || (rc != len)) { + LOGCHAN(i, DDEV, ERROR) << rx_buffers[i]->str_code(rc) << ". " + << rx_buffers[i]->str_status(timestamp) << ", (len=" << len << ")"; + return 0; + } + } + + return len; +} + +int IPCDevice::writeSamples(std::vector &bufs, int len, bool *underrun, unsigned long long timestamp) +{ + int rc = 0; + unsigned int i; + + if (bufs.size() != chans) { + LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); + return -1; + } + + *underrun = false; + + for (i = 0; i < chans; i++) { + LOGCHAN(i, DDEV, DEBUG) << "send buffer of len " << len << " timestamp " << std::hex << timestamp; + thread_enable_cancel(false); + rc = ipc_shm_enqueue(shm_io_tx_streams[i], timestamp, len, (uint16_t *)bufs[i]); + thread_enable_cancel(true); + + if (rc != len) { + LOGCHAN(i, DDEV, ERROR) << "LMS: Device Tx timed out (" << rc << " vs exp " << len << ")."; + return -1; + } + } + + return rc; +} + +bool IPCDevice::updateAlignment(TIMESTAMP timestamp) +{ + return true; +} + +bool IPCDevice::setTxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Tx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 1; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +bool IPCDevice::setRxFreq(double wFreq, size_t chan) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + LOGCHAN(chan, DDEV, NOTICE) << "Setting Rx Freq to " << wFreq << " Hz"; + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_REQ); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_req.is_tx = 0; + ipc_prim->u.set_freq_req.freq = wFreq; + + return send_chan_wait_rsp(chan, msg, IPC_IF_MSG_SETFREQ_CNF); +} + +RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths) +{ + if (tx_sps != rx_sps) { + LOGC(DDEV, ERROR) << "IPC Requires tx_sps == rx_sps"; + return NULL; + } + if (lo_offset != 0.0) { + LOGC(DDEV, ERROR) << "IPC doesn't support lo_offset"; + return NULL; + } + return new IPCDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); +} diff --git a/Transceiver52M/device/ipc/IPCDevice.h b/Transceiver52M/device/ipc/IPCDevice.h new file mode 100644 index 0000000..a7618f9 --- /dev/null +++ b/Transceiver52M/device/ipc/IPCDevice.h @@ -0,0 +1,239 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: AGPL-3.0+ +* +* 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 . +* See the COPYING file in the main directory for details. +*/ + +#ifndef _IPC_DEVICE_H_ +#define _IPC_DEVICE_H_ + +#include +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +extern "C" { +#include +#include +#include "shm.h" +} + +#include "radioDevice.h" + +class smpl_buf; + +#define IPC_MAX_NUM_TRX 8 + +struct ipc_per_trx_sock_state { + struct osmo_fd conn_bfd; /* fd for connection to the BTS */ + struct osmo_timer_list timer; /* socket connect retry timer */ + struct llist_head upqueue; /* queue for sending messages */ + uint32_t messages_processed_mask; // (=| IPC_IF_MSG_xxx-IPC_IF_CHAN_MSG_OFFSET) bitmask + ipc_per_trx_sock_state() : conn_bfd(), timer(), upqueue(), messages_processed_mask() + { + conn_bfd.fd = -1; + } +}; + +class IPCDevice : public RadioDevice { + protected: + struct ipc_per_trx_sock_state master_sk_state; + + std::vector sk_chan_state; + + uint32_t tx_attenuation[IPC_MAX_NUM_TRX]; + uint8_t tmp_state; + char shm_name[SHM_NAME_MAX]; + int ipc_shm_connect(const char *shm_name); + void *shm; + struct ipc_shm_region *shm_dec; + + std::vector rx_buffers; + double actualSampleRate; + + bool started; + + TIMESTAMP ts_initial, ts_offset; + + std::vector tx_gains, rx_gains; + + struct ipc_sk_if_info_req current_info_req; + struct ipc_sk_if_info_cnf current_info_cnf; + struct ipc_sk_if_open_cnf current_open_cnf; + + std::vector shm_io_rx_streams; + std::vector shm_io_tx_streams; + + bool flush_recv(size_t num_pkts); + void update_stream_stats_rx(size_t chan, bool *overrun); + void update_stream_stats_tx(size_t chan, bool *underrun); + void manually_poll_sock_fds(); + + void ipc_sock_close(ipc_per_trx_sock_state *state); + + int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim); + int ipc_rx_greeting_cnf(const struct ipc_sk_if_greeting *greeting_cnf); + int ipc_rx_info_cnf(const struct ipc_sk_if_info_cnf *info_cnf); + int ipc_rx_open_cnf(const struct ipc_sk_if_open_cnf *open_cnf); + int ipc_tx_open_req(struct ipc_per_trx_sock_state *state, uint32_t num_chans, uint32_t ref); + + int ipc_chan_rx(uint8_t msg_type, ipc_sk_chan_if *ipc_prim, uint8_t chan_nr); + int ipc_rx_chan_start_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_stop_cnf(ipc_sk_chan_if_op_rc *ret, uint8_t chan_nr); + int ipc_rx_chan_setgain_cnf(ipc_sk_chan_if_gain *ret, uint8_t chan_nr); + int ipc_rx_chan_setfreq_cnf(ipc_sk_chan_if_freq_cnf *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_underflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_notify_overflow(ipc_sk_chan_if_notfiy *ret, uint8_t chan_nr); + int ipc_rx_chan_settxattn_cnf(ipc_sk_chan_if_tx_attenuation *ret, uint8_t chan_nr); + + bool send_chan_wait_rsp(uint32_t chan, struct msgb *msg_to_send, uint32_t expected_rsp_msg_id); + bool send_all_chan_wait_rsp(uint32_t msgid_to_send, uint32_t msgid_to_expect); + + public: + int ipc_sock_read(struct osmo_fd *bfd); + int ipc_sock_write(struct osmo_fd *bfd); + int ipc_chan_sock_read(osmo_fd *bfd); + int ipc_chan_sock_write(osmo_fd *bfd); + + /** Object constructor */ + IPCDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset, + const std::vector &tx_paths, const std::vector &rx_paths); + virtual ~IPCDevice() override; + + /** Instantiate the IPC */ + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + /** Start the IPC */ + virtual bool start() override; + + /** Stop the IPC */ + virtual bool stop() override; + + /* FIXME: any != USRP1 will do for now... */ + enum TxWindowType getWindowType() override + { + return TX_WINDOW_LMS1; + } + + /** + Read samples from the IPC. + @param buf preallocated buf to contain read result + @param len number of samples desired + @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough + @param timestamp The timestamp of the first samples to be read + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @return The number of samples actually read + */ + virtual int readSamples(std::vector &buf, int len, bool *overrun, TIMESTAMP timestamp = 0xffffffff, + bool *underrun = NULL) override; + /** + Write samples to the IPC. + @param buf Contains the data to be written. + @param len number of samples to write. + @param underrun Set if IPC does not have data to transmit, e.g. data not being sent fast enough + @param timestamp The timestamp of the first sample of the data buffer. + @return The number of samples actually written + */ + virtual int writeSamples(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff) override; + + /** Update the alignment between the read and write timestamps */ + virtual bool updateAlignment(TIMESTAMP timestamp) override; + + /** Set the transmitter frequency */ + virtual bool setTxFreq(double wFreq, size_t chan = 0) override; + + /** Set the receiver frequency */ + virtual bool setRxFreq(double wFreq, size_t chan = 0) override; + + /** Returns the starting write Timestamp*/ + virtual TIMESTAMP initialWriteTimestamp(void) override; + + /** Returns the starting read Timestamp*/ + virtual TIMESTAMP initialReadTimestamp(void) override; + + /** returns the full-scale transmit amplitude **/ + virtual double fullScaleInputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_rx; + } + + /** returns the full-scale receive amplitude **/ + virtual double fullScaleOutputValue() override + { + return (double)SHRT_MAX * current_info_cnf.iq_scaling_val_tx; + } + + /** sets the receive chan gain, returns the gain setting **/ + virtual double setRxGain(double dB, size_t chan = 0) override; + + /** get the current receive gain */ + virtual double getRxGain(size_t chan = 0) override + { + return rx_gains[chan]; + } + + /** return maximum Rx Gain **/ + virtual double maxRxGain(void) override; + + /** return minimum Rx Gain **/ + virtual double minRxGain(void) override; + + double setPowerAttenuation(int atten, size_t chan) override; + double getPowerAttenuation(size_t chan = 0) override; + + virtual int getNominalTxPower(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setRxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getRxAntenna(size_t chan = 0) override; + + /** sets the RX path to use, returns true if successful and false otherwise */ + virtual bool setTxAntenna(const std::string &ant, size_t chan = 0) override; + + /* return the used RX path */ + virtual std::string getTxAntenna(size_t chan = 0) override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual bool requiresRadioAlign() override; + + /** return whether user drives synchronization of Tx/Rx of USRP */ + virtual GSM::Time minLatency() override; + + /** Return internal status values */ + virtual inline double getTxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getRxFreq(size_t chan = 0) override + { + return 0; + } + virtual inline double getSampleRate() override + { + return actualSampleRate; + } +}; + +#endif // _IPC_DEVICE_H_ diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am new file mode 100644 index 0000000..e4dc51a --- /dev/null +++ b/Transceiver52M/device/ipc/Makefile.am @@ -0,0 +1,42 @@ +include $(top_srcdir)/Makefile.common + +AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../common +AM_CFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_LDFLAGS = -lpthread -lrt + +noinst_HEADERS = IPCDevice.h shm.h ipc_shm.h ipc_chan.h ipc_sock.h + +if DEVICE_UHD +noinst_HEADERS += ../uhd/UHDDevice.h uhdwrap.h ipc-driver-test.h +endif + +noinst_LTLIBRARIES = libdevice.la + +libdevice_la_SOURCES = IPCDevice.cpp shm.c ipc_shm.c ipc_chan.c ipc_sock.c +libdevice_la_LIBADD = $(top_builddir)/Transceiver52M/device/common/libdevice_common.la +libdevice_la_CXXFLAGS = $(AM_CXXFLAGS) -DIPCMAGIC + +if DEVICE_UHD + +#work around distclean issue on older autotools vers: +#a direct build of ../uhd/UHDDevice.cpp tries to clean +#../uhd/.dep/UHDDevice.Plo twice and fails +uhddev_ipc.cpp: + echo "#include \"../uhd/UHDDevice.cpp\"" >$@ +CLEANFILES= uhddev_ipc.cpp + +bin_PROGRAMS = ipc-driver-test +#ipc_driver_test_SHORTNAME = drvt +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 \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOVTY_LIBS) +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 diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c new file mode 100644 index 0000000..79d49d6 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -0,0 +1,477 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#define _GNU_SOURCE +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +#define DEFAULT_SHM_NAME "/osmo-trx-ipc-driver-shm2" + +static void *tall_ctx; +struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +struct ipc_sock_state *global_ctrl_socks[8]; +struct ipc_shm_io *ios_tx_to_device[8]; +struct ipc_shm_io *ios_rx_from_device[8]; + +void *shm; +void *global_dev; + +static struct ipc_shm_region *decoded_region; + +static const struct log_info_cat default_categories[] = { + [DMAIN] = { + .name = "DMAIN", + .color = NULL, + .description = "Main generic category", + .loglevel = LOGL_DEBUG,.enabled = 1, + }, + [DDEV] = { + .name = "DDEV", + .description = "Device/Driver specific code", + .color = NULL, + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; + +const struct log_info log_infox = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +#include "uhdwrap.h" + +volatile int ipc_exit_requested = 0; + +static int ipc_shm_setup(const char *shm_name, size_t shm_len) +{ + int fd; + int rc; + + LOGP(DMAIN, LOGL_NOTICE, "Opening shm path %s\n", shm_name); + if ((fd = shm_open(shm_name, O_CREAT | O_RDWR | O_TRUNC, S_IRUSR | S_IWUSR)) < 0) { + LOGP(DMAIN, LOGL_ERROR, "shm_open %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_shm_open; + } + + LOGP(DMAIN, LOGL_NOTICE, "Truncating %d to size %zu\n", fd, shm_len); + if (ftruncate(fd, shm_len) < 0) { + LOGP(DMAIN, LOGL_ERROR, "ftruncate %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmaping shared memory fd %d\n", fd); + if ((shm = mmap(NULL, shm_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { + LOGP(DMAIN, LOGL_ERROR, "mmap %d: %s\n", errno, strerror(errno)); + rc = -errno; + goto err_mmap; + } + + LOGP(DMAIN, LOGL_NOTICE, "mmap'ed shared memory at addr %p\n", shm); + /* After a call to mmap(2) the file descriptor may be closed without affecting the memory mapping. */ + close(fd); + return 0; +err_mmap: + shm_unlink(shm_name); + close(fd); +err_shm_open: + return rc; +} + +struct msgb *ipc_msgb_alloc(uint8_t msg_type) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = msgb_alloc(sizeof(struct ipc_sk_if) + 1000, "ipc_sock_tx"); + if (!msg) + return NULL; + msgb_put(msg, sizeof(struct ipc_sk_if) + 1000); + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->msg_type = msg_type; + + return msg; +} + +static int ipc_tx_greeting_cnf(uint8_t req_version) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_GREETING_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.greeting_cnf.req_version = req_version; + + return ipc_sock_send(msg); +} + +static int ipc_tx_info_cnf() +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + + msg = ipc_msgb_alloc(IPC_IF_MSG_INFO_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + + uhdwrap_fill_info_cnf(ipc_prim); + + return ipc_sock_send(msg); +} + +static int ipc_tx_open_cnf(int rc, uint32_t num_chans, int32_t timingoffset) +{ + struct msgb *msg; + struct ipc_sk_if *ipc_prim; + struct ipc_sk_if_open_cnf_chan *chan_info; + unsigned int i; + + msg = ipc_msgb_alloc(IPC_IF_MSG_OPEN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_if *)msg->data; + ipc_prim->u.open_cnf.return_code = rc; + ipc_prim->u.open_cnf.path_delay = timingoffset; // 6.18462e-5 * 1625e3 / 6; + OSMO_STRLCPY_ARRAY(ipc_prim->u.open_cnf.shm_name, DEFAULT_SHM_NAME); + + chan_info = ipc_prim->u.open_cnf.chan_info; + for (i = 0; i < num_chans; i++) { + snprintf(chan_info->chan_ipc_sk_path, sizeof(chan_info->chan_ipc_sk_path), "%s_%d", + IPC_SOCK_PATH_PREFIX, i); + /* FIXME: dynamc chan limit, currently 8 */ + if (i < 8) + ipc_sock_init(chan_info->chan_ipc_sk_path, &global_ctrl_socks[i], ipc_chan_sock_accept, i); + chan_info++; + } + + return ipc_sock_send(msg); +} + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req) +{ + if (greeting_req->req_version == IPC_SOCK_API_VERSION) + ipc_tx_greeting_cnf(IPC_SOCK_API_VERSION); + else + ipc_tx_greeting_cnf(0); + return 0; +} + +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req) +{ + ipc_tx_info_cnf(); + return 0; +} + +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req) +{ + /* calculate size needed */ + unsigned int len; + + global_dev = uhdwrap_open(open_req); + + /* b210 packet size is 2040, but our tx size is 2500, so just do *2 */ + int shmbuflen = uhdwrap_get_bufsizerx(global_dev) * 2; + + len = ipc_shm_encode_region(NULL, open_req->num_chans, 4, shmbuflen); + /* Here we verify num_chans, rx_path, tx_path, clockref, etc. */ + int rc = ipc_shm_setup(DEFAULT_SHM_NAME, len); + len = ipc_shm_encode_region((struct ipc_shm_raw_region *)shm, open_req->num_chans, 4, shmbuflen); + // LOGP(DMAIN, LOGL_NOTICE, "%s\n", osmo_hexdump((const unsigned char *)shm, 80)); + + /* set up our own copy of the decoded area, we have to do it here, + * since the uhd wrapper does not allow starting single channels + * additionally go for the producer init for both, so only we are responsible for the init, instead + * of splitting it with the client and causing potential races if one side uses it too early */ + decoded_region = ipc_shm_decode_region(0, (struct ipc_shm_raw_region *)shm); + for (unsigned int i = 0; i < open_req->num_chans; i++) { + // ios_tx_to_device[i] = ipc_shm_init_consumer(decoded_region->channels[i]->dl_stream); + ios_tx_to_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->dl_stream); + ios_rx_from_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->ul_stream); + } + + ipc_tx_open_cnf(-rc, open_req->num_chans, uhdwrap_get_timingoffset(global_dev)); + return 0; +} + +volatile bool ul_running = false; +volatile bool dl_running = false; + +void *uplink_thread(void *x_void_ptr) +{ + uint32_t chann = decoded_region->num_chans; + ul_running = true; + pthread_setname_np(pthread_self(), "uplink_rx"); + + while (!ipc_exit_requested) { + int32_t read = uhdwrap_read(global_dev, chann); + if (read < 0) + return 0; + } + return 0; +} + +void *downlink_thread(void *x_void_ptr) +{ + int chann = decoded_region->num_chans; + dl_running = true; + pthread_setname_np(pthread_self(), "downlink_tx"); + + while (!ipc_exit_requested) { + bool underrun; + uhdwrap_write(global_dev, chann, &underrun); + } + return 0; +} + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc = 0; + + rc = uhdwrap_start(global_dev, chan_nr); + + /* no per-chan start/stop */ + if (!dl_running || !ul_running) { + /* chan != first chan start will "fail", which is fine, usrp can't start/stop chans independently */ + if (rc) { + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads.. req for chan:%d\n", chan_nr); + pthread_t rx, tx; + pthread_create(&rx, NULL, uplink_thread, 0); + pthread_create(&tx, NULL, downlink_thread, 0); + } + } else + LOGP(DMAIN, LOGL_INFO, "starting rx/tx threads request ignored.. req for chan:%d\n", chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_START_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.start_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + int rc; + + /* no per-chan start/stop */ + rc = uhdwrap_stop(global_dev, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_STOP_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.stop_cnf.return_code = rc ? 0 : -1; + + return ipc_chan_sock_send(msg, chan_nr); +} +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_gain(global_dev, req->gain, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETGAIN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_gain_cnf.is_tx = req->is_tx; + ipc_prim->u.set_gain_cnf.gain = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + bool rv; + + rv = uhdwrap_set_freq(global_dev, req->freq, chan_nr, req->is_tx); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETFREQ_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.set_freq_cnf.return_code = rv ? 0 : 1; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr) +{ + struct msgb *msg; + struct ipc_sk_chan_if *ipc_prim; + double rv; + + rv = uhdwrap_set_txatt(global_dev, req->attenuation, chan_nr); + + msg = ipc_msgb_alloc(IPC_IF_MSG_SETTXATTN_CNF); + if (!msg) + return -ENOMEM; + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + ipc_prim->u.txatten_cnf.attenuation = rv; + + return ipc_chan_sock_send(msg, chan_nr); +} + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n) +{ + struct ipc_sock_state *state; + struct osmo_fd *bfd; + int rc; + + state = talloc_zero(NULL, struct ipc_sock_state); + if (!state) + return -ENOMEM; + *global_state_var = state; + + INIT_LLIST_HEAD(&state->upqueue); + state->conn_bfd.fd = -1; + + bfd = &state->listen_bfd; + + bfd->fd = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, OSMO_SOCK_F_BIND); + if (bfd->fd < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not create %s unix socket: %s\n", path, strerror(errno)); + talloc_free(state); + return -1; + } + + bfd->when = BSC_FD_READ; + bfd->cb = sock_callback_fn; + bfd->data = state; + bfd->priv_nr = n; + + rc = osmo_fd_register(bfd); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "Could not register listen fd: %d\n", rc); + close(bfd->fd); + talloc_free(state); + return rc; + } + + LOGP(DMAIN, LOGL_INFO, "Started listening on IPC socket: %s\n", path); + + return 0; +} + +static void print_help(void) +{ + printf("ipc-driver-test Usage:\n" + " -h --help This message\n" + " -n --sock-num NR Master socket suffix number NR\n"); +} + +static int msocknum = 0; + +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + const struct option long_options[] = { { "help", 0, 0, 'h' }, + { "sock-num", 1, 0, 'n' }, + { 0, 0, 0, 0 } }; + + c = getopt_long(argc, argv, "hn:", long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'n': + msocknum = atoi(optarg); + break; + default: + exit(2); + break; + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments on command line\n"); + exit(2); + } +} + +int main(int argc, char **argv) +{ + char ipc_msock_path[sizeof(IPC_SOCK_PATH_PREFIX) + 3]; + tall_ctx = talloc_named_const(NULL, 0, "OsmoTRX"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_infox); + log_enable_multithread(); + + handle_options(argc, argv); + snprintf(ipc_msock_path, sizeof(ipc_msock_path), "%s%d", IPC_SOCK_PATH_PREFIX, msocknum); + + LOGP(DMAIN, LOGL_INFO, "Starting %s\n", argv[0]); + ipc_sock_init(ipc_msock_path, &global_ipc_sock_state, ipc_sock_accept, 0); + while (!ipc_exit_requested) + osmo_select_main(0); + + if (global_dev) + for (unsigned int i = 0; i < decoded_region->num_chans; i++) + uhdwrap_stop(global_dev, i); + + ipc_sock_close(global_ipc_sock_state); + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc-driver-test.h b/Transceiver52M/device/ipc/ipc-driver-test.h new file mode 100644 index 0000000..d5b4591 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc-driver-test.h @@ -0,0 +1,45 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include "shm.h" + +extern struct ipc_sock_state *global_ipc_sock_state; + +/* 8 channels are plenty */ +extern struct ipc_sock_state *global_ctrl_socks[8]; +extern struct ipc_shm_io *ios_tx_to_device[8]; +extern struct ipc_shm_io *ios_rx_from_device[8]; + +struct ipc_sock_state { + struct osmo_fd listen_bfd; /* fd for listen socket */ + struct osmo_fd conn_bfd; /* fd for connection */ + struct llist_head upqueue; /* queue for sending messages */ +}; + +int ipc_sock_init(const char *path, struct ipc_sock_state **global_state_var, + int (*sock_callback_fn)(struct osmo_fd *fd, unsigned int what), int n); + +int ipc_rx_greeting_req(struct ipc_sk_if_greeting *greeting_req); +int ipc_rx_info_req(struct ipc_sk_if_info_req *info_req); +int ipc_rx_open_req(struct ipc_sk_if_open_req *open_req); + +int ipc_rx_chan_start_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_stop_req(struct ipc_sk_chan_if_op_void *req, uint8_t chan_nr); +int ipc_rx_chan_setgain_req(struct ipc_sk_chan_if_gain *req, uint8_t chan_nr); +int ipc_rx_chan_setfreq_req(struct ipc_sk_chan_if_freq_req *req, uint8_t chan_nr); +int ipc_rx_chan_settxatten_req(struct ipc_sk_chan_if_tx_attenuation *req, uint8_t chan_nr); diff --git a/Transceiver52M/device/ipc/ipc_chan.c b/Transceiver52M/device/ipc/ipc_chan.c new file mode 100644 index 0000000..9e35fb2 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.c @@ -0,0 +1,259 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" +#include "ipc_chan.h" +#include "ipc_sock.h" + +static int ipc_chan_rx(uint8_t msg_type, struct ipc_sk_chan_if *ipc_prim, uint8_t chan_nr) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_START_REQ: + rc = ipc_rx_chan_start_req(&ipc_prim->u.start_req, chan_nr); + break; + case IPC_IF_MSG_STOP_REQ: + rc = ipc_rx_chan_stop_req(&ipc_prim->u.stop_req, chan_nr); + break; + case IPC_IF_MSG_SETGAIN_REQ: + rc = ipc_rx_chan_setgain_req(&ipc_prim->u.set_gain_req, chan_nr); + break; + case IPC_IF_MSG_SETFREQ_REQ: + rc = ipc_rx_chan_setfreq_req(&ipc_prim->u.set_freq_req, chan_nr); + break; + case IPC_IF_MSG_SETTXATTN_REQ: + rc = ipc_rx_chan_settxatten_req(&ipc_prim->u.txatten_req, chan_nr); + break; + default: + LOGP(DDEV, LOGL_ERROR, "Received unknown IPC msg type 0x%02x on chan %d\n", msg_type, chan_nr); + rc = -EINVAL; + } + + return rc; +} + +static int ipc_chan_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_chan_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_chan_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_chan_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_chan_rx(ipc_prim->msg_type, ipc_prim, bfd->priv_nr); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr) +{ + struct ipc_sock_state *state = global_ctrl_socks[chan_nr]; + struct osmo_fd *conn_bfd; + + if (!state) + return -EINVAL; + + if (!state) { + LOGP(DDEV, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DDEV, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +static int ipc_chan_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_chan_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_chan_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can dequeue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_chan_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_chan_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_chan_sock_write(bfd); + + return rc; +} + +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DDEV, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DDEV, LOGL_NOTICE, + "osmo-trx connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_chan_sock_cb; + conn_bfd->data = state; + + /* copy chan nr, required for proper bfd<->chan # mapping */ + conn_bfd->priv_nr = bfd->priv_nr; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DDEV, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DDEV, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_chan.h b/Transceiver52M/device/ipc/ipc_chan.h new file mode 100644 index 0000000..d606cce --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_chan.h @@ -0,0 +1,25 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_CHAN_H +#define IPC_CHAN_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_chan_sock_send(struct msgb *msg, uint8_t chan_nr); +int ipc_chan_sock_accept(struct osmo_fd *bfd, unsigned int flags); + +#endif // IPC_CHAN_H diff --git a/Transceiver52M/device/ipc/ipc_shm.c b/Transceiver52M/device/ipc/ipc_shm.c new file mode 100644 index 0000000..ff70975 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.c @@ -0,0 +1,200 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "ipc_shm.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#ifdef __cplusplus +} +#endif + +#define SAMPLE_SIZE_BYTE (sizeof(uint16_t) * 2) + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s) +{ + unsigned int i; + + struct ipc_shm_io *r = (struct ipc_shm_io *)malloc(sizeof(struct ipc_shm_io)); + r->this_stream = s->raw; + r->buf_ptrs = + (volatile struct ipc_shm_raw_smpl_buf **)malloc(sizeof(struct ipc_shm_raw_smpl_buf *) * s->num_buffers); + + /* save actual ptrs */ + for (i = 0; i < s->num_buffers; i++) + r->buf_ptrs[i] = s->buffers[i]; + + r->partial_read_begin_ptr = 0; + return r; +} + +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s) +{ + int rv; + pthread_mutexattr_t att; + pthread_condattr_t t1, t2; + struct ipc_shm_io *r = ipc_shm_init_consumer(s); + rv = pthread_mutexattr_init(&att); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_mutexattr_setrobust(&att, PTHREAD_MUTEX_ROBUST); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_mutexattr_setpshared(&att, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_mutex_init((pthread_mutex_t *)&r->this_stream->lock, &att); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + pthread_mutexattr_destroy(&att); + + rv = pthread_condattr_setpshared(&t1, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_condattr_setpshared(&t2, PTHREAD_PROCESS_SHARED); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->cf, &t1); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + rv = pthread_cond_init((pthread_cond_t *)&r->this_stream->ce, &t2); + if (rv != 0) { + osmo_panic("%s:%d rv:%d", __FILE__, __LINE__, rv); + } + + pthread_condattr_destroy(&t1); + pthread_condattr_destroy(&t2); + + r->this_stream->read_next = 0; + r->this_stream->write_next = 0; + return r; +} + +void ipc_shm_close(struct ipc_shm_io *r) +{ + if (r) { + free(r->buf_ptrs); + free(r); + } +} + +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += 1; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (((r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1)) == r->this_stream->read_next && + rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->ce, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->write_next]; + buf->timestamp = timestamp; + + rv = len_in_sps <= r->this_stream->buffer_size ? len_in_sps : r->this_stream->buffer_size; + + memcpy((void *)buf->samples, data, SAMPLE_SIZE_BYTE * rv); + buf->data_len = rv; + + r->this_stream->write_next = (r->this_stream->write_next + 1) & (r->this_stream->num_buffers - 1); + + pthread_cond_signal((pthread_cond_t *)&r->this_stream->cf); + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} + +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds) +{ + volatile struct ipc_shm_raw_smpl_buf *buf; + int32_t rv; + uint8_t freeflag = 0; + struct timespec tv; + clock_gettime(CLOCK_REALTIME, &tv); + tv.tv_sec += timeout_seconds; + + rv = pthread_mutex_timedlock((pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + while (r->this_stream->write_next == r->this_stream->read_next && rv == 0) + rv = pthread_cond_timedwait((pthread_cond_t *)&r->this_stream->cf, + (pthread_mutex_t *)&r->this_stream->lock, &tv); + if (rv != 0) + return -rv; + + buf = r->buf_ptrs[r->this_stream->read_next]; + if (buf->data_len <= num_samples) { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * buf->data_len); + r->partial_read_begin_ptr = 0; + rv = buf->data_len; + buf->data_len = 0; + r->this_stream->read_next = (r->this_stream->read_next + 1) & (r->this_stream->num_buffers - 1); + freeflag = 1; + + } else /*if (buf->data_len > num_samples)*/ { + memcpy(out_buf, (void *)&buf->samples[r->partial_read_begin_ptr * 2], SAMPLE_SIZE_BYTE * num_samples); + r->partial_read_begin_ptr += num_samples; + buf->data_len -= num_samples; + rv = num_samples; + } + + *timestamp = buf->timestamp; + buf->timestamp += rv; + + if (freeflag) + pthread_cond_signal((pthread_cond_t *)&r->this_stream->ce); + + pthread_mutex_unlock((pthread_mutex_t *)&r->this_stream->lock); + + return rv; +} diff --git a/Transceiver52M/device/ipc/ipc_shm.h b/Transceiver52M/device/ipc/ipc_shm.h new file mode 100644 index 0000000..348e703 --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_shm.h @@ -0,0 +1,45 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SHM_H +#define IPC_SHM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifdef __cplusplus +} +#endif + +struct ipc_shm_io { + volatile struct ipc_shm_raw_stream *this_stream; + volatile struct ipc_shm_raw_smpl_buf **volatile buf_ptrs; + uint32_t partial_read_begin_ptr; +}; + +struct ipc_shm_io *ipc_shm_init_consumer(struct ipc_shm_stream *s); +struct ipc_shm_io *ipc_shm_init_producer(struct ipc_shm_stream *s); +void ipc_shm_close(struct ipc_shm_io *r); +int32_t ipc_shm_enqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +int32_t ipc_shm_tryenqueue(struct ipc_shm_io *r, uint64_t timestamp, uint32_t len_in_sps, uint16_t *data); +volatile struct ipc_shm_raw_smpl_buf *ipc_shm_dequeue(struct ipc_shm_io *r); +int32_t ipc_shm_read(struct ipc_shm_io *r, uint16_t *out_buf, uint32_t num_samples, uint64_t *timestamp, + uint32_t timeout_seconds); + +#endif // IPC_SHM_H diff --git a/Transceiver52M/device/ipc/ipc_sock.c b/Transceiver52M/device/ipc/ipc_sock.c new file mode 100644 index 0000000..435dc3c --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.c @@ -0,0 +1,269 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* For mode constants */ +#include /* For O_* constants */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc-driver-test.h" + +extern volatile int ipc_exit_requested; +static int ipc_rx(uint8_t msg_type, struct ipc_sk_if *ipc_prim) +{ + int rc = 0; + + switch (msg_type) { + case IPC_IF_MSG_GREETING_REQ: + rc = ipc_rx_greeting_req(&ipc_prim->u.greeting_req); + break; + case IPC_IF_MSG_INFO_REQ: + rc = ipc_rx_info_req(&ipc_prim->u.info_req); + break; + case IPC_IF_MSG_OPEN_REQ: + rc = ipc_rx_open_req(&ipc_prim->u.open_req); + break; + default: + LOGP(DDEV, LOGL_ERROR, "Received unknown IPC msg type 0x%02x\n", msg_type); + rc = -EINVAL; + } + + return rc; +} + +int ipc_sock_send(struct msgb *msg) +{ + struct ipc_sock_state *state = global_ipc_sock_state; + struct osmo_fd *conn_bfd; + + if (!state) { + LOGP(DDEV, LOGL_INFO, + "IPC socket not created, " + "dropping message\n"); + msgb_free(msg); + return -EINVAL; + } + conn_bfd = &state->conn_bfd; + if (conn_bfd->fd <= 0) { + LOGP(DDEV, LOGL_NOTICE, + "IPC socket not connected, " + "dropping message\n"); + msgb_free(msg); + return -EIO; + } + msgb_enqueue(&state->upqueue, msg); + conn_bfd->when |= BSC_FD_WRITE; + + return 0; +} + +void ipc_sock_close(struct ipc_sock_state *state) +{ + struct osmo_fd *bfd = &state->conn_bfd; + + LOGP(DDEV, LOGL_NOTICE, "IPC socket has LOST connection\n"); + + ipc_exit_requested = 1; + + close(bfd->fd); + bfd->fd = -1; + osmo_fd_unregister(bfd); + + /* re-enable the generation of ACCEPT for new connections */ + state->listen_bfd.when |= BSC_FD_READ; + + /* flush the queue */ + while (!llist_empty(&state->upqueue)) { + struct msgb *msg = msgb_dequeue(&state->upqueue); + msgb_free(msg); + } +} + +int ipc_sock_read(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct ipc_sk_if *ipc_prim; + struct msgb *msg; + int rc; + + msg = msgb_alloc(sizeof(*ipc_prim) + 1000, "ipc_sock_rx"); + if (!msg) + return -ENOMEM; + + ipc_prim = (struct ipc_sk_if *)msg->tail; + + rc = recv(bfd->fd, msg->tail, msgb_tailroom(msg), 0); + if (rc == 0) + goto close; + + if (rc < 0) { + if (errno == EAGAIN) { + msgb_free(msg); + return 0; + } + goto close; + } + + if (rc < (int)sizeof(*ipc_prim)) { + LOGP(DDEV, LOGL_ERROR, + "Received %d bytes on Unix Socket, but primitive size " + "is %zu, discarding\n", + rc, sizeof(*ipc_prim)); + msgb_free(msg); + return 0; + } + + rc = ipc_rx(ipc_prim->msg_type, ipc_prim); + + /* as we always synchronously process the message in IPC_rx() and + * its callbacks, we can free the message here. */ + msgb_free(msg); + + return rc; + +close: + msgb_free(msg); + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_write(struct osmo_fd *bfd) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + int rc; + + while (!llist_empty(&state->upqueue)) { + struct msgb *msg, *msg2; + struct ipc_sk_if *ipc_prim; + + /* peek at the beginning of the queue */ + msg = llist_entry(state->upqueue.next, struct msgb, list); + ipc_prim = (struct ipc_sk_if *)msg->data; + + bfd->when &= ~BSC_FD_WRITE; + + /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ + if (!msgb_length(msg)) { + LOGP(DDEV, LOGL_ERROR, + "message type (%d) with ZERO " + "bytes!\n", + ipc_prim->msg_type); + goto dontsend; + } + + /* try to send it over the socket */ + rc = write(bfd->fd, msgb_data(msg), msgb_length(msg)); + if (rc == 0) + goto close; + if (rc < 0) { + if (errno == EAGAIN) { + bfd->when |= BSC_FD_WRITE; + break; + } + goto close; + } + + dontsend: + /* _after_ we send it, we can deueue */ + msg2 = msgb_dequeue(&state->upqueue); + assert(msg == msg2); + msgb_free(msg); + } + return 0; + +close: + ipc_sock_close(state); + return -1; +} + +static int ipc_sock_cb(struct osmo_fd *bfd, unsigned int flags) +{ + int rc = 0; + + if (flags & BSC_FD_READ) + rc = ipc_sock_read(bfd); + if (rc < 0) + return rc; + + if (flags & BSC_FD_WRITE) + rc = ipc_sock_write(bfd); + + return rc; +} + +/* accept connection coming from IPC */ +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags) +{ + struct ipc_sock_state *state = (struct ipc_sock_state *)bfd->data; + struct osmo_fd *conn_bfd = &state->conn_bfd; + struct sockaddr_un un_addr; + socklen_t len; + int rc; + + len = sizeof(un_addr); + rc = accept(bfd->fd, (struct sockaddr *)&un_addr, &len); + if (rc < 0) { + LOGP(DDEV, LOGL_ERROR, "Failed to accept a new connection\n"); + return -1; + } + + if (conn_bfd->fd >= 0) { + LOGP(DDEV, LOGL_NOTICE, + "ip clent connects but we already have " + "another active connection ?!?\n"); + /* We already have one IPC connected, this is all we support */ + state->listen_bfd.when &= ~BSC_FD_READ; + close(rc); + return 0; + } + + conn_bfd->fd = rc; + conn_bfd->when = BSC_FD_READ; + conn_bfd->cb = ipc_sock_cb; + conn_bfd->data = state; + + if (osmo_fd_register(conn_bfd) != 0) { + LOGP(DDEV, LOGL_ERROR, + "Failed to register new connection " + "fd\n"); + close(conn_bfd->fd); + conn_bfd->fd = -1; + return -1; + } + + LOGP(DDEV, LOGL_NOTICE, "Unix socket connected to external osmo-trx\n"); + + return 0; +} diff --git a/Transceiver52M/device/ipc/ipc_sock.h b/Transceiver52M/device/ipc/ipc_sock.h new file mode 100644 index 0000000..918e70a --- /dev/null +++ b/Transceiver52M/device/ipc/ipc_sock.h @@ -0,0 +1,26 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_SOCK_H +#define IPC_SOCK_H + +#include "shm.h" +#include "ipc-driver-test.h" + +int ipc_sock_send(struct msgb *msg); +int ipc_sock_accept(struct osmo_fd *bfd, unsigned int flags); +void ipc_sock_close(struct ipc_sock_state *state); + +#endif // IPC_SOCK_H diff --git a/Transceiver52M/device/ipc/shm.c b/Transceiver52M/device/ipc/shm.c new file mode 100644 index 0000000..1e78b97 --- /dev/null +++ b/Transceiver52M/device/ipc/shm.c @@ -0,0 +1,149 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include +#include +#include + +#include "shm.h" + +#define ENCDECDEBUG(...) //fprintf(stderr, __VA_ARGS__) + +/* Convert offsets to pointers */ +struct ipc_shm_stream *ipc_shm_decode_stream(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_stream *stream_raw) +{ + unsigned int i; + struct ipc_shm_stream *stream; + stream = talloc_zero(tall_ctx, struct ipc_shm_stream); + stream = talloc_zero_size(tall_ctx, sizeof(struct ipc_shm_stream) + + sizeof(struct ipc_shm_raw_smpl_buf *) * stream_raw->num_buffers); + if (!stream) + return NULL; + stream->num_buffers = stream_raw->num_buffers; + stream->buffer_size = stream_raw->buffer_size; + stream->raw = stream_raw; + for (i = 0; i < stream->num_buffers; i++) { + ENCDECDEBUG("decode: smpl_buf %d at offset %u\n", i, stream_raw->buffer_offset[i]); + stream->buffers[i] = + (struct ipc_shm_raw_smpl_buf *)(((uint8_t *)root_raw) + stream_raw->buffer_offset[i]); + } + return stream; +} + +struct ipc_shm_channel *ipc_shm_decode_channel(void *tall_ctx, struct ipc_shm_raw_region *root_raw, + struct ipc_shm_raw_channel *chan_raw) +{ + struct ipc_shm_channel *chan; + chan = talloc_zero(tall_ctx, struct ipc_shm_channel); + if (!chan) + return NULL; + ENCDECDEBUG("decode: streams at offset %u and %u\n", chan_raw->dl_buf_offset, chan_raw->ul_buf_offset); + chan->dl_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->dl_buf_offset)); + chan->ul_stream = ipc_shm_decode_stream( + chan, root_raw, (struct ipc_shm_raw_stream *)(((uint8_t *)root_raw) + chan_raw->ul_buf_offset)); + return chan; +} +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw) +{ + unsigned int i; + struct ipc_shm_region *root; + root = talloc_zero_size(tall_ctx, + sizeof(struct ipc_shm_region) + sizeof(struct ipc_shm_channel *) * root_raw->num_chans); + if (!root) + return NULL; + + root->num_chans = root_raw->num_chans; + for (i = 0; i < root->num_chans; i++) { + ENCDECDEBUG("decode: channel %d at offset %u\n", i, root_raw->chan_offset[i]); + root->channels[i] = ipc_shm_decode_channel( + root, root_raw, + (struct ipc_shm_raw_channel *)(((uint8_t *)root_raw) + root_raw->chan_offset[i])); + } + return root; +} + +unsigned int ipc_shm_encode_smpl_buf(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_smpl_buf *smpl_buf_raw, + uint32_t buffer_size) +{ + unsigned int offset = sizeof(struct ipc_shm_raw_smpl_buf); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + ENCDECDEBUG("encode: smpl_buf at offset %u\n", offset); + offset += buffer_size * sizeof(uint16_t) * 2; /* samples */ + return offset; +} + +unsigned int ipc_shm_encode_stream(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_stream *stream_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + unsigned int i; + ptrdiff_t start = (ptrdiff_t)stream_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_stream) + sizeof(uint32_t) * num_buffers; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + ENCDECDEBUG("encode: stream at offset %lu\n", (start - (ptrdiff_t)root_raw)); + if (root_raw) { + stream_raw->num_buffers = num_buffers; + stream_raw->buffer_size = buffer_size; + stream_raw->read_next = 0; + stream_raw->write_next = 0; + } + for (i = 0; i < num_buffers; i++) { + if (root_raw) + stream_raw->buffer_offset[i] = (start + offset - (ptrdiff_t)root_raw); + offset += + ipc_shm_encode_smpl_buf(root_raw, (struct ipc_shm_raw_smpl_buf *)(start + offset), buffer_size); + } + return offset; +} +unsigned int ipc_shm_encode_channel(struct ipc_shm_raw_region *root_raw, struct ipc_shm_raw_channel *chan_raw, + uint32_t num_buffers, uint32_t buffer_size) +{ + uint8_t *start = (uint8_t *)chan_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_channel); + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + ENCDECDEBUG("encode: channel at offset %lu\n", (start - (uint8_t *)root_raw)); + if (root_raw) + chan_raw->dl_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + if (root_raw) + chan_raw->ul_buf_offset = (start + offset - (uint8_t *)root_raw); + offset += ipc_shm_encode_stream(root_raw, (struct ipc_shm_raw_stream *)(start + offset), num_buffers, + buffer_size); + return offset; +} +/* if root_raw is NULL, then do a dry run, aka only calculate final offset */ +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size) +{ + unsigned i; + uintptr_t start = (uintptr_t)root_raw; + unsigned int offset = sizeof(struct ipc_shm_raw_region) + sizeof(uint32_t) * num_chans; + offset = (((uintptr_t)offset + 7) & ~0x07ULL); + + if (root_raw) + root_raw->num_chans = num_chans; + for (i = 0; i < num_chans; i++) { + if (root_raw) + root_raw->chan_offset[i] = (start + offset - (uintptr_t)root_raw); + ENCDECDEBUG("encode: channel %d chan_offset[i]=%lu\n", i, start + offset - (uintptr_t)root_raw); + offset += ipc_shm_encode_channel(root_raw, (struct ipc_shm_raw_channel *)(start + offset), num_buffers, + buffer_size); + } + //TODO: pass maximum size and verify we didn't go through + return offset; +} diff --git a/Transceiver52M/device/ipc/shm.h b/Transceiver52M/device/ipc/shm.h new file mode 100644 index 0000000..fcddd54 --- /dev/null +++ b/Transceiver52M/device/ipc/shm.h @@ -0,0 +1,236 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Pau Espin Pedrol +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#pragma once + +#include +#include +#include +#include +#include + +/* RAW structures */ +struct ipc_shm_raw_smpl_buf { + uint64_t timestamp; + uint32_t data_len; /* In samples */ + uint16_t samples[0]; +}; + +struct ipc_shm_raw_stream { + pthread_mutex_t lock; /* protects this struct */ + pthread_cond_t cf; /* signals fill to reader */ + pthread_cond_t ce; /* signals empty nbuf to writer */ + uint32_t num_buffers; + uint32_t buffer_size; /* In samples */ + uint32_t read_next; + uint32_t write_next; + uint32_t buffer_offset[0]; + //struct ipc_shm_smpl_buf buffers[0]; +}; + +struct ipc_shm_raw_channel { + uint32_t dl_buf_offset; + uint32_t ul_buf_offset; +}; + +struct ipc_shm_raw_region { + uint32_t num_chans; + uint32_t chan_offset[0]; +}; + +/* non-raw, Pointer converted structures */ +struct ipc_shm_stream { + uint32_t num_buffers; + uint32_t buffer_size; + volatile struct ipc_shm_raw_stream *raw; + volatile struct ipc_shm_raw_smpl_buf *buffers[0]; +}; + +struct ipc_shm_channel { + struct ipc_shm_stream *dl_stream; + struct ipc_shm_stream *ul_stream; +}; + +/* Pointer converted structures */ +struct ipc_shm_region { + uint32_t num_chans; + struct ipc_shm_channel *channels[0]; +}; + +unsigned int ipc_shm_encode_region(struct ipc_shm_raw_region *root_raw, uint32_t num_chans, uint32_t num_buffers, + uint32_t buffer_size); +struct ipc_shm_region *ipc_shm_decode_region(void *tall_ctx, struct ipc_shm_raw_region *root_raw); +/****************************************/ +/* UNIX SOCKET API */ +/****************************************/ + +////////////////// +// Master socket +////////////////// + +#define IPC_SOCK_PATH_PREFIX "/tmp/ipc_sock" +#define IPC_SOCK_API_VERSION 1 + +/* msg_type */ +#define IPC_IF_MSG_GREETING_REQ 0x00 +#define IPC_IF_MSG_GREETING_CNF 0x01 +#define IPC_IF_MSG_INFO_REQ 0x02 +#define IPC_IF_MSG_INFO_CNF 0x03 +#define IPC_IF_MSG_OPEN_REQ 0x04 +#define IPC_IF_MSG_OPEN_CNF 0x05 + +#define MAX_NUM_CHANS 30 +#define RF_PATH_NAME_SIZE 25 +#define MAX_NUM_RF_PATHS 10 +#define SHM_NAME_MAX NAME_MAX /* 255 */ + +#define FEATURE_MASK_CLOCKREF_INTERNAL (0x1 << 0) +#define FEATURE_MASK_CLOCKREF_EXTERNAL (0x1 << 1) +struct ipc_sk_if_info_chan { + char tx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + char rx_path[MAX_NUM_RF_PATHS][RF_PATH_NAME_SIZE]; + double min_rx_gain; + double max_rx_gain; + double min_tx_gain; + double max_tx_gain; + double nominal_tx_power; /* dBm */ +} __attribute__((packed)); + +struct ipc_sk_if_open_req_chan { + char tx_path[RF_PATH_NAME_SIZE]; + char rx_path[RF_PATH_NAME_SIZE]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf_chan { + char chan_ipc_sk_path[108]; +} __attribute__((packed)); + +struct ipc_sk_if_greeting { + uint8_t req_version; +} __attribute__((packed)); + +struct ipc_sk_if_info_req { + uint8_t spare; +} __attribute__((packed)); + +struct ipc_sk_if_info_cnf { + uint32_t feature_mask; + double iq_scaling_val_rx; /* for scaling, sample format is 16 bit, but adc/dac might be less */ + double iq_scaling_val_tx; + uint32_t max_num_chans; + char dev_desc[200]; + struct ipc_sk_if_info_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_req { + uint32_t num_chans; + uint32_t clockref; /* One of FEATUER_MASK_CLOCKREF_* */ + uint32_t rx_sample_freq_num; + uint32_t rx_sample_freq_den; + uint32_t tx_sample_freq_num; + uint32_t tx_sample_freq_den; + uint32_t bandwidth; + struct ipc_sk_if_open_req_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if_open_cnf { + uint8_t return_code; + uint32_t path_delay; + char shm_name[SHM_NAME_MAX]; + struct ipc_sk_if_open_cnf_chan chan_info[MAX_NUM_CHANS]; +} __attribute__((packed)); + +struct ipc_sk_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_if_greeting greeting_req; + struct ipc_sk_if_greeting greeting_cnf; + struct ipc_sk_if_info_req info_req; + struct ipc_sk_if_info_cnf info_cnf; + struct ipc_sk_if_open_req open_req; + struct ipc_sk_if_open_cnf open_cnf; + } u; +} __attribute__((packed)); + +////////////////// +// Channel socket +////////////////// +#define IPC_IF_CHAN_MSG_OFFSET 50 +#define IPC_IF_MSG_START_REQ IPC_IF_CHAN_MSG_OFFSET + 0 +#define IPC_IF_MSG_START_CNF IPC_IF_CHAN_MSG_OFFSET + 1 +#define IPC_IF_MSG_STOP_REQ IPC_IF_CHAN_MSG_OFFSET + 2 +#define IPC_IF_MSG_STOP_CNF IPC_IF_CHAN_MSG_OFFSET + 3 +#define IPC_IF_MSG_SETGAIN_REQ IPC_IF_CHAN_MSG_OFFSET + 4 +#define IPC_IF_MSG_SETGAIN_CNF IPC_IF_CHAN_MSG_OFFSET + 5 +#define IPC_IF_MSG_SETFREQ_REQ IPC_IF_CHAN_MSG_OFFSET + 6 +#define IPC_IF_MSG_SETFREQ_CNF IPC_IF_CHAN_MSG_OFFSET + 7 + +#define IPC_IF_NOTIFY_UNDERFLOW IPC_IF_CHAN_MSG_OFFSET + 8 +#define IPC_IF_NOTIFY_OVERFLOW IPC_IF_CHAN_MSG_OFFSET + 9 + +#define IPC_IF_MSG_SETTXATTN_REQ IPC_IF_CHAN_MSG_OFFSET + 10 +#define IPC_IF_MSG_SETTXATTN_CNF IPC_IF_CHAN_MSG_OFFSET + 11 + +struct ipc_sk_chan_if_op_void { + // at least one dummy byte, to allow c/c++ compatibility + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_op_rc { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_gain { + double gain; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_req { + double freq; + uint8_t is_tx; +} __attribute__((packed)); + +struct ipc_sk_chan_if_freq_cnf { + uint8_t return_code; +} __attribute__((packed)); + +struct ipc_sk_chan_if_notfiy { + uint8_t dummy; +} __attribute__((packed)); + +struct ipc_sk_chan_if_tx_attenuation { + double attenuation; +} __attribute__((packed)); + +struct ipc_sk_chan_if { + uint8_t msg_type; /* message type */ + uint8_t spare[2]; + + union { + struct ipc_sk_chan_if_op_void start_req; + struct ipc_sk_chan_if_op_rc start_cnf; + struct ipc_sk_chan_if_op_void stop_req; + struct ipc_sk_chan_if_op_rc stop_cnf; + struct ipc_sk_chan_if_gain set_gain_req; + struct ipc_sk_chan_if_gain set_gain_cnf; + struct ipc_sk_chan_if_freq_req set_freq_req; + struct ipc_sk_chan_if_freq_cnf set_freq_cnf; + struct ipc_sk_chan_if_notfiy notify; + struct ipc_sk_chan_if_tx_attenuation txatten_req; + struct ipc_sk_chan_if_tx_attenuation txatten_cnf; + } u; +} __attribute__((packed)); diff --git a/Transceiver52M/device/ipc/uhdwrap.cpp b/Transceiver52M/device/ipc/uhdwrap.cpp new file mode 100644 index 0000000..130f80a --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.cpp @@ -0,0 +1,256 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +extern "C" { +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "shm.h" +#include "ipc_shm.h" +#include "ipc-driver-test.h" +} +#include "../uhd/UHDDevice.h" +#include "uhdwrap.h" + +#include "trx_vty.h" +#include "Logger.h" +#include "Threads.h" +#include "Utils.h" + +int uhd_wrap::open(const std::string &args, int ref, bool swap_channels) +{ + int rv = uhd_device::open(args, ref, swap_channels); + samps_per_buff_rx = rx_stream->get_max_num_samps(); + samps_per_buff_tx = tx_stream->get_max_num_samps(); + channel_count = usrp_dev->get_rx_num_channels(); + + wrap_rx_buffs = std::vector >(channel_count, std::vector(2 * samps_per_buff_rx)); + for (size_t i = 0; i < wrap_rx_buffs.size(); i++) + wrap_rx_buf_ptrs.push_back(&wrap_rx_buffs[i].front()); + + wrap_tx_buffs = std::vector >(channel_count, std::vector(2 * 5000)); + for (size_t i = 0; i < wrap_tx_buffs.size(); i++) + wrap_tx_buf_ptrs.push_back(&wrap_tx_buffs[i].front()); + + return rv; +} + +uhd_wrap::~uhd_wrap() +{ + // drvtest::gshutdown = 1; + //t->join(); +} + +size_t uhd_wrap::bufsizerx() +{ + return samps_per_buff_rx; +} + +size_t uhd_wrap::bufsizetx() +{ + return samps_per_buff_tx; +} + +int uhd_wrap::chancount() +{ + return channel_count; +} + +int uhd_wrap::wrap_read(TIMESTAMP *timestamp) +{ + uhd::rx_metadata_t md; + size_t num_rx_samps = rx_stream->recv(wrap_rx_buf_ptrs, samps_per_buff_rx, md, 0.1, true); + *timestamp = md.time_spec.to_ticks(rx_rate); + return num_rx_samps; //uhd_device::readSamples(bufs, len, overrun, timestamp, underrun); +} + +extern "C" void *uhdwrap_open(struct ipc_sk_if_open_req *open_req) +{ + unsigned int rx_sps, tx_sps; + + /* FIXME: dev arg string* */ + /* FIXME: rx frontend bw? */ + /* FIXME: tx frontend bw? */ + ReferenceType cref; + switch (open_req->clockref) { + case FEATURE_MASK_CLOCKREF_EXTERNAL: + cref = ReferenceType::REF_EXTERNAL; + break; + case FEATURE_MASK_CLOCKREF_INTERNAL: + default: + cref = ReferenceType::REF_INTERNAL; + break; + } + + std::vector tx_paths; + std::vector rx_paths; + for (unsigned int i = 0; i < open_req->num_chans; i++) { + tx_paths.push_back(open_req->chan_info[i].tx_path); + rx_paths.push_back(open_req->chan_info[i].rx_path); + } + + /* FIXME: this is actually the sps value, not the sample rate! + * sample rate is looked up according to the sps rate by uhd backend */ + rx_sps = open_req->rx_sample_freq_num / open_req->rx_sample_freq_den; + tx_sps = open_req->tx_sample_freq_num / open_req->tx_sample_freq_den; + uhd_wrap *uhd_wrap_dev = + new uhd_wrap(tx_sps, rx_sps, RadioDevice::NORMAL, open_req->num_chans, 0.0, tx_paths, rx_paths); + uhd_wrap_dev->open("", cref, false); + + return uhd_wrap_dev; +} +extern "C" int32_t uhdwrap_get_bufsizerx(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->bufsizerx(); +} + +extern "C" int32_t uhdwrap_get_timingoffset(void *dev) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->getTimingOffset(); +} + +extern "C" int32_t uhdwrap_read(void *dev, uint32_t num_chans) +{ + TIMESTAMP t; + uhd_wrap *d = (uhd_wrap *)dev; + + if (num_chans != d->wrap_rx_buf_ptrs.size()) { + perror("omg chans?!"); + } + + int32_t read = d->wrap_read(&t); + + /* multi channel rx on b210 will return 0 due to alignment adventures, do not put 0 samples into a ipc buffer... */ + if (read <= 0) + return read; + + for (uint32_t i = 0; i < num_chans; i++) { + ipc_shm_enqueue(ios_rx_from_device[i], t, read, (uint16_t *)&d->wrap_rx_buffs[i].front()); + } + return read; +} + +extern "C" int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun) +{ + uhd_wrap *d = (uhd_wrap *)dev; + + uint64_t timestamp; + int32_t len = -1; + for (uint32_t i = 0; i < num_chans; i++) { + len = ipc_shm_read(ios_tx_to_device[i], (uint16_t *)&d->wrap_tx_buffs[i].front(), 5000, ×tamp, 1); + if (len < 0) + return 0; + } + + return d->writeSamples(d->wrap_tx_buf_ptrs, len, underrun, timestamp); +} + +extern "C" double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; + if (for_tx) + return d->setTxFreq(f, chan); + else + return d->setRxFreq(f, chan); +} + +extern "C" double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx) +{ + uhd_wrap *d = (uhd_wrap *)dev; + // if (for_tx) + // return d->setTxGain(f, chan); + // else + return d->setRxGain(f, chan); +} + +extern "C" double uhdwrap_set_txatt(void *dev, double a, size_t chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->setPowerAttenuation(a, chan); +} + +extern "C" int32_t uhdwrap_start(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->start(); +} + +extern "C" int32_t uhdwrap_stop(void *dev, int chan) +{ + uhd_wrap *d = (uhd_wrap *)dev; + return d->stop(); +} + +extern "C" void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim) +{ + struct ipc_sk_if_info_chan *chan_info; + + uhd::device_addr_t args(""); + uhd::device_addrs_t devs_found = uhd::device::find(args); + if (devs_found.size() < 1) { + std::cout << "\n No device found!"; + exit(0); + } + + uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(devs_found[0]); + auto rxchans = usrp->get_rx_num_channels(); + auto txchans = usrp->get_tx_num_channels(); + auto rx_range = usrp->get_rx_gain_range(); + auto tx_range = usrp->get_tx_gain_range(); + + //auto nboards = usrp->get_num_mboards(); + auto refs = usrp->get_clock_sources(0); + auto devname = usrp->get_mboard_name(0); + + ipc_prim->u.info_cnf.feature_mask = 0; + if (std::find(refs.begin(), refs.end(), "internal") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_INTERNAL; + if (std::find(refs.begin(), refs.end(), "external") != refs.end()) + ipc_prim->u.info_cnf.feature_mask |= FEATURE_MASK_CLOCKREF_EXTERNAL; + + // at least one duplex channel + auto num_chans = rxchans == txchans ? txchans : 1; + + ipc_prim->u.info_cnf.iq_scaling_val_rx = 0.3; + ipc_prim->u.info_cnf.iq_scaling_val_tx = 1; + ipc_prim->u.info_cnf.max_num_chans = num_chans; + OSMO_STRLCPY_ARRAY(ipc_prim->u.info_cnf.dev_desc, devname.c_str()); + chan_info = ipc_prim->u.info_cnf.chan_info; + for (unsigned int i = 0; i < ipc_prim->u.info_cnf.max_num_chans; i++) { + auto rxant = usrp->get_rx_antennas(i); + auto txant = usrp->get_tx_antennas(i); + for (unsigned int j = 0; j < txant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->tx_path[j], txant[j].c_str()); + } + for (unsigned int j = 0; j < rxant.size(); j++) { + OSMO_STRLCPY_ARRAY(chan_info->rx_path[j], rxant[j].c_str()); + } + chan_info->min_rx_gain = rx_range.start(); + chan_info->max_rx_gain = rx_range.stop(); + chan_info->min_tx_gain = tx_range.start(); + chan_info->max_tx_gain = tx_range.stop(); + chan_info->nominal_tx_power = 7.5; // FIXME: would require uhd dev + freq info + chan_info++; + } +} diff --git a/Transceiver52M/device/ipc/uhdwrap.h b/Transceiver52M/device/ipc/uhdwrap.h new file mode 100644 index 0000000..e235fe7 --- /dev/null +++ b/Transceiver52M/device/ipc/uhdwrap.h @@ -0,0 +1,83 @@ +/* +* Copyright 2020 sysmocom - s.f.m.c. GmbH +* Author: Eric Wild +* +* SPDX-License-Identifier: 0BSD +* +* Permission to use, copy, modify, and/or distribute this software for any purpose +* with or without fee is hereby granted.THE SOFTWARE IS PROVIDED "AS IS" AND THE +* AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +* BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +* USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef IPC_UHDWRAP_H +#define IPC_UHDWRAP_H + +#ifdef __cplusplus +#include "../uhd/UHDDevice.h" + +class uhd_wrap : public uhd_device { + public: + // std::thread *t; + size_t samps_per_buff_rx; + size_t samps_per_buff_tx; + int channel_count; + + std::vector > wrap_rx_buffs; + std::vector > wrap_tx_buffs; + std::vector wrap_rx_buf_ptrs; + std::vector wrap_tx_buf_ptrs; + + template uhd_wrap(Args... args) : uhd_device(args...) + { + // t = new std::thread(magicthread); + // give the thread some time to start and set up + // std::this_thread::sleep_for(std::chrono::seconds(1)); + } + virtual ~uhd_wrap(); + + // void ipc_sock_close() override {}; + int wrap_read(TIMESTAMP *timestamp); + virtual int open(const std::string &args, int ref, bool swap_channels) override; + + // bool start() override; + // bool stop() override; + // virtual TIMESTAMP initialWriteTimestamp() override; + // virtual TIMESTAMP initialReadTimestamp() override; + + int getTimingOffset() + { + return ts_offset; + } + size_t bufsizerx(); + size_t bufsizetx(); + int chancount(); +}; +#else +void *uhdwrap_open(struct ipc_sk_if_open_req *open_req); + +int32_t uhdwrap_get_bufsizerx(void *dev); + +int32_t uhdwrap_get_timingoffset(void *dev); + +int32_t uhdwrap_read(void *dev, uint32_t num_chans); + +int32_t uhdwrap_write(void *dev, uint32_t num_chans, bool *underrun); + +double uhdwrap_set_freq(void *dev, double f, size_t chan, bool for_tx); + +double uhdwrap_set_gain(void *dev, double f, size_t chan, bool for_tx); + +int32_t uhdwrap_start(void *dev, int chan); + +int32_t uhdwrap_stop(void *dev, int chan); + +void uhdwrap_fill_info_cnf(struct ipc_sk_if *ipc_prim); + +double uhdwrap_set_txatt(void *dev, double a, size_t chan); +#endif + +#endif // IPC_B210_H diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index b5dda28..43b9f9c 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -152,7 +152,7 @@ void *async_event_loop(uhd_device *dev) { set_selfthread_name("UHDAsyncEvent"); - OSMO_ASSERT(osmo_cpu_sched_vty_apply_localthread() == 0); + osmo_cpu_sched_vty_apply_localthread(); while (1) { dev->recv_async_msg(); @@ -1316,6 +1316,7 @@ return ost.str(); } +#ifndef IPCMAGIC RadioDevice *RadioDevice::make(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset, const std::vector& tx_paths, @@ -1323,3 +1324,4 @@ { return new uhd_device(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths); } +#endif diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 22a0948..c159e63 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -133,7 +133,7 @@ ERROR_UNHANDLED = -4, }; -private: +protected: uhd::usrp::multi_usrp::sptr usrp_dev; uhd::tx_streamer::sptr tx_stream; uhd::rx_streamer::sptr rx_stream; diff --git a/configure.ac b/configure.ac index 07d4bf4..4ad344d 100644 --- a/configure.ac +++ b/configure.ac @@ -140,6 +140,11 @@ [enable LimeSuite based transceiver]) ]) +AC_ARG_WITH(ipc, [ + AS_HELP_STRING([--with-ipc], + [enable IPC]) +]) + AC_ARG_WITH(singledb, [ AS_HELP_STRING([--with-singledb], [enable single daughterboard use on USRP1]) @@ -179,7 +184,7 @@ PKG_CHECK_MODULES(LMS, LimeSuite) ]) -AS_IF([test "x$with_uhd" != "xno"],[ +AS_IF([test "x$with_uhd" = "xyes"],[ PKG_CHECK_MODULES(UHD, uhd >= 003.011, [AC_DEFINE(USE_UHD_3_11, 1, UHD version 3.11.0 or higher)], [PKG_CHECK_MODULES(UHD, uhd >= 003.009, @@ -238,9 +243,10 @@ AC_DEFINE(HAVE_ATOMIC_OPS, 1, [Support all required atomic operations], [AC_MSG_WARN("At least one aotmic operation missing, will use mutex")]) ]) -AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) +AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" = "xyes"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) +AM_CONDITIONAL(DEVICE_IPC, [test "x$with_ipc" = "xyes"]) AM_CONDITIONAL(ARCH_ARM, [test "x$with_neon" = "xyes" || test "x$with_neon_vfpv4" = "xyes"]) AM_CONDITIONAL(ARCH_ARM_A15, [test "x$with_neon_vfpv4" = "xyes"]) @@ -325,6 +331,7 @@ Transceiver52M/device/uhd/Makefile \ Transceiver52M/device/usrp1/Makefile \ Transceiver52M/device/lms/Makefile \ + Transceiver52M/device/ipc/Makefile \ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index df444ca..95ea128 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -85,7 +85,7 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" -CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms $INSTR" +CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms --with-ipc $INSTR" # Additional configure options and depends if [ "$WITH_MANUALS" = "1" ]; then diff --git a/contrib/osmo-trx.spec.in b/contrib/osmo-trx.spec.in index aebd355..ace7212 100644 --- a/contrib/osmo-trx.spec.in +++ b/contrib/osmo-trx.spec.in @@ -129,6 +129,26 @@ generations of mobile phone networks. (post-2G/GSM) %endif +%package ipc +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC) +Group: Productivity/Telephony/Servers + +%description ipc +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + %prep %setup -q @@ -142,14 +162,16 @@ --with-systemdsystemunitdir=%{_unitdir} \ --without-lms \ --with-uhd \ - --without-usrp1 + --without-usrp1 \ + --with-ipc %else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ - --with-usrp1 + --with-usrp1 \ + --with-ipc %endif make %{?_smp_mflags} V=1 @@ -174,6 +196,10 @@ %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service +%pre ipc %service_add_pre osmo-trx-ipc.service +%post ipc %service_add_post osmo-trx-ipc.service +%preun ipc %service_del_preun osmo-trx-ipc.service +%postun ipc %service_del_postun osmo-trx-ipc.service %endif %files @@ -206,4 +232,11 @@ %{_unitdir}/osmo-trx-usrp1.service %endif +%files ipc +%{_bindir}/osmo-trx-ipc +%{_bindir}/ipc-driver-test +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-trx-ipc.cfg +%{_unitdir}/osmo-trx-ipc.service + %changelog diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 800b1e1..6566b97 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -1,7 +1,8 @@ EXTRA_DIST = \ osmo-trx-lms.service \ osmo-trx-uhd.service \ - osmo-trx-usrp1.service + osmo-trx-usrp1.service \ + osmo-trx-ipc.service if HAVE_SYSTEMD SYSTEMD_SERVICES = @@ -18,5 +19,9 @@ SYSTEMD_SERVICES += osmo-trx-lms.service endif +if DEVICE_IPC +SYSTEMD_SERVICES += osmo-trx-ipc.service +endif + systemdsystemunit_DATA = $(SYSTEMD_SERVICES) endif # HAVE_SYSTEMD diff --git a/contrib/systemd/osmo-trx-ipc.service b/contrib/systemd/osmo-trx-ipc.service new file mode 100644 index 0000000..c886ed7 --- /dev/null +++ b/contrib/systemd/osmo-trx-ipc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Osmocom SDR BTS L1 Transceiver (IPC Backend) + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/osmo-trx-ipc -C /etc/osmocom/osmo-trx-ipc.cfg +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/debian/control b/debian/control index 31c738e..12d9af5 100644 --- a/debian/control +++ b/debian/control @@ -30,7 +30,7 @@ Architecture: any Section: debug Priority: extra -Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), ${misc:Depends} +Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for the osmo-trx-* Make debugging possible @@ -91,6 +91,25 @@ between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +Package: osmo-trx-ipc +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: SDR transceiver that implements Layer 1 of a GSM BTS (generic IPC) + OsmoTRX is a software-defined radio transceiver that implements the Layer 1 + physical layer of a BTS comprising the following 3GPP specifications: + . + TS 05.01 "Physical layer on the radio path" + TS 05.02 "Multiplexing and Multiple Access on the Radio Path" + TS 05.04 "Modulation" + TS 05.10 "Radio subsystem synchronization" + . + In this context, BTS is "Base transceiver station". It's the stations that + connect mobile phones to the mobile network. + . + 3GPP is the "3rd Generation Partnership Project" which is the collaboration + between different telecommunication associations for developing new + generations of mobile phone networks. (post-2G/GSM) + Package: osmo-trx-doc Architecture: all Section: doc diff --git a/debian/osmo-trx-ipc.install b/debian/osmo-trx-ipc.install new file mode 100644 index 0000000..db64623 --- /dev/null +++ b/debian/osmo-trx-ipc.install @@ -0,0 +1,4 @@ +etc/osmocom/osmo-trx-ipc.cfg +lib/systemd/system/osmo-trx-ipc.service +/usr/bin/osmo-trx-ipc +/usr/share/doc/osmo-trx/examples/osmo-trx-ipc/osmo-trx-ipc.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-ipc/ diff --git a/debian/rules b/debian/rules index 627c0c8..5795643 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info override_dh_auto_configure: - dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals + dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals override_dh_strip: dh_strip --dbg-package=osmo-trx-dbg diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 88d9142..0b06130 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -14,6 +14,10 @@ OSMOCONF_FILES += osmo-trx-lms/osmo-trx-lms.cfg endif +if DEVICE_IPC +OSMOCONF_FILES += osmo-trx-ipc/osmo-trx-ipc.cfg +endif + osmoconf_DATA = $(OSMOCONF_FILES) EXTRA_DIST = $(OSMOCONF_FILES) diff --git a/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg b/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg new file mode 100644 index 0000000..e3047c0 --- /dev/null +++ b/doc/examples/osmo-trx-ipc/osmo-trx-ipc.cfg @@ -0,0 +1,32 @@ +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print file basename + logging level set-all notice +! +line vty + no login +! +cpu-sched + policy rr 18 +trx + bind-ip 127.0.0.1 + remote-ip 127.0.0.1 + ! 28 dB offset below is valid only for the B2xx in 1800 MHz band, see + ! https://osmocom.org/issues/4468 for more details + rssi-offset 28.000000 + tx-sps 4 + rx-sps 4 + clock-ref external + egprs disable + ext-rach disable + dev-args ipc_msock=/tmp/ipc_sock0 + multi-arfcn disable + chan 0 + tx-path TX/RX + rx-path RX2 + chan 1 + tx-path TX/RX + rx-path RX2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756 Gerrit-Change-Number: 19641 Gerrit-PatchSet: 11 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:39:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:39:28 +0000 Subject: Change in osmo-trx[master]: devices: reset internal smart sample buffers upon stop In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19646 ) Change subject: devices: reset internal smart sample buffers upon stop ...................................................................... devices: reset internal smart sample buffers upon stop They are too smart, they keep the timestamps. Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 --- M Transceiver52M/device/common/smpl_buf.cpp M Transceiver52M/device/common/smpl_buf.h M Transceiver52M/device/ipc/IPCDevice.cpp M Transceiver52M/device/uhd/UHDDevice.cpp 4 files changed, 22 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/Transceiver52M/device/common/smpl_buf.cpp b/Transceiver52M/device/common/smpl_buf.cpp index ceca000..e57eb0c 100644 --- a/Transceiver52M/device/common/smpl_buf.cpp +++ b/Transceiver52M/device/common/smpl_buf.cpp @@ -28,9 +28,9 @@ #include smpl_buf::smpl_buf(size_t len) - : buf_len(len), time_start(0), time_end(0), - data_start(0), data_end(0) + : buf_len(len) { + reset(); data = new uint32_t[len]; } @@ -39,6 +39,14 @@ delete[] data; } +void smpl_buf::reset() +{ + time_start = 0; + time_end = 0; + data_start = 0; + data_end = 0; +} + ssize_t smpl_buf::avail_smpls(TIMESTAMP timestamp) const { if (timestamp < time_start) diff --git a/Transceiver52M/device/common/smpl_buf.h b/Transceiver52M/device/common/smpl_buf.h index 0b49b82..ff02baf 100644 --- a/Transceiver52M/device/common/smpl_buf.h +++ b/Transceiver52M/device/common/smpl_buf.h @@ -44,6 +44,10 @@ smpl_buf(size_t len); ~smpl_buf(); + /** Reset this buffer, keeps the size + */ + void reset(); + /** Query number of samples available for reading @param timestamp time of first sample @return number of available samples or error diff --git a/Transceiver52M/device/ipc/IPCDevice.cpp b/Transceiver52M/device/ipc/IPCDevice.cpp index 4a1f8b6..32a46e5 100644 --- a/Transceiver52M/device/ipc/IPCDevice.cpp +++ b/Transceiver52M/device/ipc/IPCDevice.cpp @@ -980,6 +980,10 @@ LOGC(DDEV, NOTICE) << "All channels stopped, terminating..."; + /* reset internal buffer timestamps */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i]->reset(); + started = false; return true; } diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 43b9f9c..143a061 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -750,6 +750,10 @@ async_event_thrd->join(); delete async_event_thrd; + /* reset internal buffer timestamps */ + for (size_t i = 0; i < rx_buffers.size(); i++) + rx_buffers[i]->reset(); + started = false; return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65 Gerrit-Change-Number: 19646 Gerrit-PatchSet: 12 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:39:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:39:29 +0000 Subject: Change in osmo-trx[master]: transceiver: optimize code if optimizations are enabled In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19650 ) Change subject: transceiver: optimize code if optimizations are enabled ...................................................................... transceiver: optimize code if optimizations are enabled There is no point in checking basic stuff ten thousand times per second since the sizes never change, so it's enough to enable the checks/assertions for unoptimized (debug) builds. This significantly decreases branch mispredictions. Change-Id: Iebd9e91b3c7f37f2dc646d3017c45139977e4d15 --- M CommonLibs/Vector.h M Transceiver52M/Resampler.cpp M Transceiver52M/arch/x86/convolve.c 3 files changed, 27 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/CommonLibs/Vector.h b/CommonLibs/Vector.h index d55c5b3..6d1045d 100644 --- a/CommonLibs/Vector.h +++ b/CommonLibs/Vector.h @@ -36,6 +36,11 @@ #include #include +#ifndef __OPTIMIZE__ +#define assert_no_opt(x) assert(x) +#else +#define assert_no_opt(x) +#endif // We can't use Logger.h in this file... extern int gVectorDebug; #define BVDEBUG(msg) if (gVectorDebug) {std::cout << msg;} @@ -81,8 +86,8 @@ /** Return the size of the Vector. */ size_t size() const { - assert(mStart>=mData); - assert(mEnd>=mStart); + assert_no_opt(mStart>=mData); + assert_no_opt(mEnd>=mStart); return mEnd - mStart; } @@ -112,7 +117,7 @@ /** Reduce addressable size of the Vector, keeping content. */ void shrink(size_t newSize) { - assert(newSize <= mEnd - mStart); + assert_no_opt(newSize <= mEnd - mStart); mEnd = mStart + newSize; } @@ -199,7 +204,7 @@ { T* wStart = mStart + start; T* wEnd = wStart + span; - assert(wEnd<=mEnd); + assert_no_opt(wEnd<=mEnd); return Vector(NULL,wStart,wEnd); } @@ -208,7 +213,7 @@ { T* wStart = mStart + start; T* wEnd = wStart + span; - assert(wEnd<=mEnd); + assert_no_opt(wEnd<=mEnd); return Vector(NULL,wStart,wEnd); } @@ -228,8 +233,8 @@ unsigned int i; T* dst = other.mStart + start; T* src = mStart; - assert(dst+span<=other.mEnd); - assert(mStart+span<=mEnd); + assert_no_opt(dst+span<=other.mEnd); + assert_no_opt(mStart+span<=mEnd); for (i = 0; i < span; i++, src++, dst++) *dst = *src; /*TODO if not non-trivially copiable type class, optimize: @@ -250,8 +255,8 @@ void segmentCopyTo(Vector& other, size_t start, size_t span) const { const T* base = mStart + start; - assert(base+span<=mEnd); - assert(other.mStart+span<=other.mEnd); + assert_no_opt(base+span<=mEnd); + assert_no_opt(other.mStart+span<=other.mEnd); memcpy(other.mStart,base,span*sizeof(T)); } @@ -265,8 +270,8 @@ { const T* baseFrom = mStart + from; T* baseTo = mStart + to; - assert(baseFrom+span<=mEnd); - assert(baseTo+span<=mEnd); + assert_no_opt(baseFrom+span<=mEnd); + assert_no_opt(baseTo+span<=mEnd); memmove(baseTo,baseFrom,span*sizeof(T)); } @@ -280,7 +285,7 @@ { T* dp=mStart+start; T* end=dp+length; - assert(end<=mEnd); + assert_no_opt(end<=mEnd); while (dp Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:40:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:40:10 +0000 Subject: Change in libosmocore[master]: comment: typo in cbsp.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19814 ) Change subject: comment: typo in cbsp.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I965ba77160f931afaf472c1e260ac6ca5cc7890e Gerrit-Change-Number: 19814 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:40: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 Aug 25 11:40:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:40:22 +0000 Subject: Change in libosmocore[master]: comment: mention spec reference in cbsp.[ch] In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19813 ) Change subject: comment: mention spec reference in cbsp.[ch] ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1217883a85b4ddd20e9646c7e80ba18950e09713 Gerrit-Change-Number: 19813 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:40: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 Aug 25 11:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:40:25 +0000 Subject: Change in libosmocore[master]: comment: mention spec reference in cbsp.[ch] In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19813 ) Change subject: comment: mention spec reference in cbsp.[ch] ...................................................................... comment: mention spec reference in cbsp.[ch] Change-Id: I1217883a85b4ddd20e9646c7e80ba18950e09713 --- M include/osmocom/gsm/cbsp.h M src/gsm/cbsp.c 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 90516cb..5ed973a 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -6,7 +6,7 @@ #include /* Definitions for parsed / abstract representation of messages in the - * CBSP (Cell Broadcast Service Protocol). Data here is *not* formatted + * CBSP (Cell Broadcast Service Protocol, 3GPP TS 48.049). Data here is *not* formatted * like the * on-the-wire format. Any similarities are coincidetial ;) */ /* Copyright (C) 2019 Harald Welte diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index ccc2df5..b89358d 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -1,3 +1,4 @@ +/* Cell Broadcast Service Protocol (CBSP, 3GPP TS 48.049): Message encoding, decoding and reception */ /* * Copyright (C) 2019 Harald Welte * -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1217883a85b4ddd20e9646c7e80ba18950e09713 Gerrit-Change-Number: 19813 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 25 11:40:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:40:31 +0000 Subject: Change in libosmocore[master]: comment: typo in cbsp.h In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19814 ) Change subject: comment: typo in cbsp.h ...................................................................... comment: typo in cbsp.h Change-Id: I965ba77160f931afaf472c1e260ac6ca5cc7890e --- M include/osmocom/gsm/cbsp.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 5ed973a..d456ce2 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -7,7 +7,7 @@ /* Definitions for parsed / abstract representation of messages in the * CBSP (Cell Broadcast Service Protocol, 3GPP TS 48.049). Data here is *not* formatted - * like the * on-the-wire format. Any similarities are coincidetial ;) */ + * like the on-the-wire format. Any similarities are coincidential ;) */ /* Copyright (C) 2019 Harald Welte * -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19814 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I965ba77160f931afaf472c1e260ac6ca5cc7890e Gerrit-Change-Number: 19814 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Aug 25 11:41:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_lu_unknown_tmsi() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_lu_unknown_tmsi() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 11:41: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 Aug 25 11:41:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_attached_imsi_lu_unknown_tmsi() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 ) Change subject: msc: add TC_attached_imsi_lu_unknown_tmsi() ...................................................................... msc: add TC_attached_imsi_lu_unknown_tmsi() The test currently fails with osmo-msc master. It uncovers the evil twin aspect of osmo-msc's VLR, for an attached IMSI re-attaching with an unknown TMSI. Related: OS#4721 Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d --- M msc/MSC_Tests.ttcn 1 file changed, 89 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index a801db9..43c6287 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -962,6 +962,94 @@ vc_conn.done; } +/* Test LU by unknown TMSI, while the IMSI is already attached: osmo-msc should switch to the attached vlr_subscr. */ +private function f_tc_attached_imsi_lu_unknown_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + var PDU_ML3_MS_NW l3_lu := f_build_lu_tmsi('56111111'O); + var PDU_DTAP_MT dtap_mt; + + /* tell GSUP dispatcher to send this IMSI to us */ + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_lu); + + /* Send Early Classmark, just for the fun of it */ + BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3)); + + /* Wait for + respond to ID REQ (IMSI) */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi))); + f_expect_common_id(); + + /* Expect MSC to do UpdateLocation to HLR; respond to it */ + GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn)); + GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi)); + GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); + + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Acc)) { + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_TmsiRealloc_Cmpl)); + } + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { + setverdict(fail, "Expected LU ACK, but received REJ"); + mtc.stop; + } + } + + /* Wait for MM-Information (if enabled) */ + f_expect_mm_info(); + + /* wait for normal teardown */ + f_expect_clear(); + + /* Now the same IMSI is still attached in the VLR, and a LU with an unknown TMSI reveals the same IMSI only + * later during ID Response. osmo-msc first creates a new vlr_subscr for the unknown TMSI, and as soon as the + * IMSI becomes known, must notice that this IMSI is still regarded as attached, and must not create evil twins. + */ + + /* (since the TMSI Reallocation happened, we could do this with exactly the same TMSI as above, but for test + * readability just use a different one.) */ + l3_lu := f_build_lu_tmsi('56222222'O); + f_cl3_or_initial_ue(l3_lu); + + /* Wait for + respond to ID REQ (IMSI) */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi))); + f_expect_common_id(); + + /* Expect MSC to do UpdateLocation to HLR; respond to it */ + GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn)); + GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi)); + GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); + + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Acc)) { + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_TmsiRealloc_Cmpl)); + } + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { + setverdict(fail, "Expected LU ACK, but received REJ"); + mtc.stop; + } + } + + /* Wait for MM-Information (if enabled) */ + f_expect_mm_info(); + + /* wait for normal teardown */ + f_expect_clear(); +} +testcase TC_attached_imsi_lu_unknown_tmsi() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + + vc_conn := f_start_handler(refers(f_tc_attached_imsi_lu_unknown_tmsi), 56); + vc_conn.done; +} + friend function f_imsi_detach_by_imsi() runs on BSC_ConnHdlr { var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); @@ -6079,6 +6167,7 @@ execute( TC_lu_disconnect() ); execute( TC_lu_by_imei() ); execute( TC_lu_by_tmsi_noauth_unknown() ); + execute( TC_attached_imsi_lu_unknown_tmsi() ); execute( TC_imsi_detach_by_imsi() ); execute( TC_imsi_detach_by_tmsi() ); execute( TC_imsi_detach_by_imei() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia53733fc5bc414b0e3d3897f25b549f5183c862d Gerrit-Change-Number: 19718 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:41:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_cmserv_tmsi_unknown() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 ) Change subject: msc: add TC_cmserv_tmsi_unknown() ...................................................................... msc: add TC_cmserv_tmsi_unknown() We already have TC_cmserv_imsi_unknown, but lack a test that shows CM Service Request behavior for an unknown TMSI. Looking at OS#4721 I vaguely expected an ID Request to also happen during CM Service Request, but instead we reject the unknown TMSI completely, and require the MS to perform a proper LU subsequently. Related: OS#4721 Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 --- M msc/MSC_Tests.ttcn 1 file changed, 38 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 43c6287..ee4ea05 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -673,6 +673,43 @@ } +/* Send CM SERVICE REQ for TMSI that has never performed LU before */ +friend function f_tc_cmserv_tmsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_TMSI_LV('57111111'O)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + f_mm_auth(); + + timer T := 10.0; + T.start; + alt { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ)) { } + [] BSSAP.receive { + setverdict(fail, "Received unexpected BSSAP"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for CM SERV REJ"); + mtc.stop; + } + } + + f_expect_clear(); +} +testcase TC_cmserv_tmsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_cmserv_tmsi_unknown), 57, verify_cell_id := false); + vc_conn.done; +} + + friend function f_tc_lu_and_mo_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); var CallParameters cpars := valueof(t_CallParams); @@ -6159,6 +6196,7 @@ execute( TC_lu_imsi_auth3g_tmsi() ); execute( TC_lu_imsi_timeout_tmsi_realloc() ); execute( TC_cmserv_imsi_unknown() ); + execute( TC_cmserv_tmsi_unknown() ); execute( TC_lu_and_mo_call() ); execute( TC_lu_and_mo_call_sccp_tiar_timeout() ); execute( TC_lu_auth_sai_timeout() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19719 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54e5efcf4c31625205c99338379a2055633acde9 Gerrit-Change-Number: 19719 Gerrit-PatchSet: 5 Gerrit-Owner: neels 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 Aug 25 11:41:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add TC_paging_response_[it]msi_unknown In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 ) Change subject: msc: add TC_paging_response_[it]msi_unknown ...................................................................... msc: add TC_paging_response_[it]msi_unknown These uncover crashes of current osmo-msc master, when a Paging Response contains an unknown mobile identity. Hence run them last. The crash is fixed by osmo-msc Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 Related: OS#4724 Related: Ia2c8fa745cfab17ed7114d433f625ddc02ae7b11 (osmo-msc) Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 --- M msc/MSC_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index ee4ea05..2a9b23a 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -709,6 +709,50 @@ vc_conn.done; } +/* Send Paging Response for IMSI that has never performed LU before */ +friend function f_tc_paging_response_imsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_PAG_RESP(mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + + /* The Paging Response gets rejected by a direct Clear Command */ + f_expect_clear(); +} +testcase TC_paging_response_imsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_paging_response_imsi_unknown), 58, verify_cell_id := false); + vc_conn.done; +} + +/* Send Paging Response for TMSI that has never performed LU before */ +friend function f_tc_paging_response_tmsi_unknown(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + var MobileIdentityLV mi := valueof(ts_MI_TMSI_LV('59111111'O)); + var BSSMAP_IE_CellIdentifier cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)); + var PDU_ML3_MS_NW l3_info := valueof(ts_PAG_RESP(mi)); + + /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */ + f_cl3_or_initial_ue(l3_info); + + /* The Paging Response gets rejected by a direct Clear Command */ + f_expect_clear(); +} +testcase TC_paging_response_tmsi_unknown() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_paging_response_tmsi_unknown), 59, verify_cell_id := false); + vc_conn.done; +} + friend function f_tc_lu_and_mo_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); @@ -6329,6 +6373,8 @@ execute( TC_invalid_mgcp_crash() ); execute( TC_mm_id_resp_no_identity() ); execute( TC_lu_and_expire_while_paging() ); + execute( TC_paging_response_imsi_unknown() ); + execute( TC_paging_response_tmsi_unknown() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19721 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40496bbccbbd9c496cfa57df49e26f124a2b1554 Gerrit-Change-Number: 19721 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Aug 25 11:41:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:47 +0000 Subject: Change in libosmocore[master]: socker: Remove AI_ADDRCONFIG from getaddrinfo flags In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19812 ) Change subject: socker: Remove AI_ADDRCONFIG from getaddrinfo flags ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 Gerrit-Change-Number: 19812 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:41:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:41:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:41:55 +0000 Subject: Change in libosmocore[master]: socker: Remove AI_ADDRCONFIG from getaddrinfo flags In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/libosmocore/+/19812 ) Change subject: socker: Remove AI_ADDRCONFIG from getaddrinfo flags ...................................................................... socker: Remove AI_ADDRCONFIG from getaddrinfo flags The flag was added recently in cd133316cfc735a3006d499dae6b2f693c3c741c, and it is causing issues while running unit tests in environement like OBS where probably there's no non-loopback address configured. Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/19812/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 Gerrit-Change-Number: 19812 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 Tue Aug 25 11:42:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:03 +0000 Subject: Change in libosmocore[master]: socker: Remove AI_ADDRCONFIG from getaddrinfo flags In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19812 ) Change subject: socker: Remove AI_ADDRCONFIG from getaddrinfo flags ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 Gerrit-Change-Number: 19812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:42:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:42:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:20 +0000 Subject: Change in osmo-bsc[master]: CBSP: log CBSP RESET on NOTICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log CBSP RESET on NOTICE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 25 Aug 2020 11: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 Tue Aug 25 11:42:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:24 +0000 Subject: Change in osmo-bsc[master]: CBSP: log CBSP RESET on NOTICE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19633 ) Change subject: CBSP: log CBSP RESET on NOTICE ...................................................................... CBSP: log CBSP RESET on NOTICE Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a --- M src/osmo-bsc/smscb.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index cb68578..b34780b 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -654,6 +654,8 @@ struct bts_smscb_chan_state *chan_state; struct bts_smscb_message *smscb, *smscb2; + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Rx CBSP RESET: clearing all state; disabling broadcast\n"); + /* remove all SMSCB from CBCH BASIC this BTS */ chan_state = bts_get_smscb_chan(bts, false); llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3913914e3ab06dab5a986c2aac4439e6cb4737a Gerrit-Change-Number: 19633 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:42:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:43 +0000 Subject: Change in libosmocore[master]: l1sap.h: Fix typo in doxygen documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19811 ) Change subject: l1sap.h: Fix typo in doxygen documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5772d02704ef289945b8b70d1ebe8a8aa8b79362 Gerrit-Change-Number: 19811 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:42: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 Aug 25 11:42:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:46 +0000 Subject: Change in libosmocore[master]: l1sap.h: Fix typo in doxygen documentation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19811 ) Change subject: l1sap.h: Fix typo in doxygen documentation ...................................................................... l1sap.h: Fix typo in doxygen documentation Change-Id: I5772d02704ef289945b8b70d1ebe8a8aa8b79362 --- M include/osmocom/gsm/l1sap.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h index 11b2773..d139690 100644 --- a/include/osmocom/gsm/l1sap.h +++ b/include/osmocom/gsm/l1sap.h @@ -126,7 +126,7 @@ /*! for {ACTIVATE,DEACTIVATE,MODIFY} MPH-INFO.req */ struct info_act_req_param { uint8_t chan_nr; /*!< Channel Number (Like RSL) */ - uint8_t sacch_only; /*!< \breif Only deactivate SACCH */ + uint8_t sacch_only; /*!< \brief Only deactivate SACCH */ }; /*! for {ACTIVATE,DEACTIVATE} MPH-INFO.cnf */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19811 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5772d02704ef289945b8b70d1ebe8a8aa8b79362 Gerrit-Change-Number: 19811 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:42:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:42:57 +0000 Subject: Change in libosmocore[master]: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19809 ) Change subject: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id9c4eda6fd1172e7324aa23c81e8658967a8dd0b Gerrit-Change-Number: 19809 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Aug 2020 11:42: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 Aug 25 11:43:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:43:02 +0000 Subject: Change in libosmocore[master]: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19809 ) Change subject: osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem ...................................................................... osmo_sock_inti2_multiaddr: Fix memleak and free uninitialized mem Under some specific cases, res_loc could be leaked. Under some others, res_loc and res_rem were freed without being initialized previously. Fixes: CID#212863 Fixes: CID#212861 Change-Id: Id9c4eda6fd1172e7324aa23c81e8658967a8dd0b --- M src/socket.c 1 file changed, 13 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 50d59e5..0b84b99 100644 --- a/src/socket.c +++ b/src/socket.c @@ -566,8 +566,10 @@ if (flags & OSMO_SOCK_F_CONNECT) { rc = addrinfo_helper_multi(res_rem, family, type, proto, remote_hosts, remote_hosts_cnt, remote_port, false); - if (rc < 0) - return -EINVAL; + if (rc < 0) { + rc = -EINVAL; + goto ret_freeaddrinfo_loc; + } /* Figure out if there's any IPv4 or IPv6 addr in the set */ if (family == AF_UNSPEC) addrinfo_has_v4v6addr((const struct addrinfo **)res_rem, remote_hosts_cnt, @@ -660,10 +662,15 @@ if (sfd >= 0) close(sfd); ret_freeaddrinfo: - for (i = 0; i < local_hosts_cnt; i++) - freeaddrinfo(res_loc[i]); - for (i = 0; i < remote_hosts_cnt; i++) - freeaddrinfo(res_rem[i]); + if (flags & OSMO_SOCK_F_CONNECT) { + for (i = 0; i < remote_hosts_cnt; i++) + freeaddrinfo(res_rem[i]); + } +ret_freeaddrinfo_loc: + if (flags & OSMO_SOCK_F_BIND) { + for (i = 0; i < local_hosts_cnt; i++) + freeaddrinfo(res_loc[i]); + } return rc; } #endif /* HAVE_LIBSCTP */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id9c4eda6fd1172e7324aa23c81e8658967a8dd0b Gerrit-Change-Number: 19809 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 11:43:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 11:43:03 +0000 Subject: Change in libosmocore[master]: socker: Remove AI_ADDRCONFIG from getaddrinfo flags In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19812 ) Change subject: socker: Remove AI_ADDRCONFIG from getaddrinfo flags ...................................................................... socker: Remove AI_ADDRCONFIG from getaddrinfo flags The flag was added recently in cd133316cfc735a3006d499dae6b2f693c3c741c, and it is causing issues while running unit tests in environement like OBS where probably there's no non-loopback address configured. Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 0b84b99..1afbe6e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -79,7 +79,7 @@ hints.ai_socktype = type; hints.ai_protocol = proto; } - hints.ai_flags = AI_ADDRCONFIG; + if (passive) hints.ai_flags |= AI_PASSIVE; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I47c31953f1db39fcd2870bde0b984057b8e7b4c4 Gerrit-Change-Number: 19812 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:12:07 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 25 Aug 2020 12:12:07 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... Patch Set 1: Verified+1 Running ./jenkins.sh for master and latest worked -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:12:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:12:16 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 25 Aug 2020 12:12:16 +0000 Subject: Change in docker-playground[master]: ttcn3-mgw-test: Removing the e1 config options on latest In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19810 ) Change subject: ttcn3-mgw-test: Removing the e1 config options on latest ...................................................................... ttcn3-mgw-test: Removing the e1 config options on latest Fixes the test failure on ttcn3-mgw-test-latest Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a --- M ttcn3-mgw-test/jenkins.sh 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved daniel: Verified diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 15fab49..e27db09 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -14,6 +14,13 @@ network_create 4 +# Disable e1 config options until osmo-mgw >= 1.8.0 release +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/e1_line.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg + sed -i "s/e1_input.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg + sed -i "s/line 0.*//" $VOL_BASE_DIR/mgw/osmo-mgw.cfg +fi + # start container with mgw in background docker run --rm \ --network $NET_NAME --ip 172.18.4.180 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3143ba905a77fabd1074dbd618c7ae48fa92a77a Gerrit-Change-Number: 19810 Gerrit-PatchSet: 1 Gerrit-Owner: daniel 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 Tue Aug 25 12:21:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 12:21:44 +0000 Subject: Change in libosmocore[master]: tests: Split SCTP tests to its own file and run them conditionally References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19815 ) Change subject: tests: Split SCTP tests to its own file and run them conditionally ...................................................................... tests: Split SCTP tests to its own file and run them conditionally Some systmes (like the one avaialable in OBS) don't support creating SCTP sockets, so we need to skip those tests there. Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 --- M configure.ac M debian/rules M tests/Makefile.am A tests/socket/socket_sctp_test.c A tests/socket/socket_sctp_test.err A tests/socket/socket_sctp_test.ok M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok M tests/testsuite.at 10 files changed, 287 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/19815/1 diff --git a/configure.ac b/configure.ac index fbdcb57..b07a3bd 100644 --- a/configure.ac +++ b/configure.ac @@ -197,6 +197,10 @@ LIBS=$old_LIBS ]) +AC_ARG_ENABLE([sctp-tests], [AS_HELP_STRING([--disable-sctp-tests], [Do not run socket tests requiring system SCTP support])], + [ENABLE_SCTP_TESTS=$enableval], [ENABLE_SCTP_TESTS="yes"]) +AM_CONDITIONAL(ENABLE_SCTP_TESTS, test x"$ENABLE_SCTP_TESTS" = x"yes") + AC_ARG_ENABLE(plugin, [AS_HELP_STRING( [--disable-plugin], diff --git a/debian/rules b/debian/rules index a9d961c..afff17f 100755 --- a/debian/rules +++ b/debian/rules @@ -26,7 +26,7 @@ dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) override_dh_auto_configure: - dh_auto_configure -- --enable-static + dh_auto_configure -- --enable-static --disable-sctp-tests override_dh_clean: dh_clean diff --git a/tests/Makefile.am b/tests/Makefile.am index 2a364d5..56d0ac5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -358,6 +358,14 @@ i460_mux/i460_mux_test.ok \ $(NULL) +if ENABLE_LIBSCTP +if ENABLE_SCTP_TESTS +EXTRA_DIST += socket/socket_sctp_test.ok socket/socket_sctp_test.err +check_PROGRAMS += socket/socket_sctp_test +socket_socket_sctp_test_SOURCES = socket/socket_sctp_test.c +endif +endif + DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c BUILT_SOURCES = conv/gsm0503_test_vectors.c noinst_HEADERS = conv/conv.h diff --git a/tests/socket/socket_sctp_test.c b/tests/socket/socket_sctp_test.c new file mode 100644 index 0000000..e70b8be --- /dev/null +++ b/tests/socket/socket_sctp_test.c @@ -0,0 +1,233 @@ +/* + * (C) 2017 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "../config.h" + +void *ctx = NULL; + +#ifdef HAVE_LIBSCTP +static uint16_t sock_get_local_port(int fd, bool is_v6) { + struct sockaddr_storage sa; + struct sockaddr_in *sin = (struct sockaddr_in *)&sa; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; + socklen_t len = sizeof(sa); + int local_port; + + OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); + if(!is_v6) + local_port = osmo_load16be(&sin->sin_port); + else + local_port = osmo_load16be(&sin6->sin6_port); + //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); + return local_port; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, + const char **addrv4_rem, const char **addrv6_rem, + size_t addrv4_size, size_t addrv6_size) +{ + int fd, rc; + int listen_fd_v4, listen_fd_v6; + int listen_port_v4, listen_port_v6; + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); + + listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v4 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v4, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v4 = sock_get_local_port(listen_fd_v4, false); + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); + + listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addrv6_loc, addrv6_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v6 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v6, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v6 = sock_get_local_port(listen_fd_v6, true); + + printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + OSMO_ASSERT(fd >= 0); + /* expect it to be blocking */ + rc = fcntl(fd, F_GETFL); + OSMO_ASSERT(rc & O_NONBLOCK); + close(fd); + + printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, 0); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + close(listen_fd_v4); + close(listen_fd_v6); + printf("Done\n"); + return 0; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr_simple(void) +{ + const char *addrv4_loc[] = { "0.0.0.0" }; + const char *addrv6_loc[] = { "::" }; + const char *addrv4_rem[] = { "127.0.0.1" }; + const char *addrv6_rem[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, + addrv4_rem, addrv6_rem, 1, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address */ +static int test_sockinit2_multiaddr_several(void) +{ + const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; + const char *addrv6_localhost[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, + addrv4_localhost, addrv6_localhost, 2, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ +static int test_sockinit2_multiaddr_mixed(void) +{ + const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; + size_t addr_size = ARRAY_SIZE(addr_localhost); + + int listen_fd, listen_port, fd; + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd >= 0); + + listen_port = sock_get_local_port(listen_fd, true); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + addr_localhost, addr_size, listen_port, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + close(fd); + + close(listen_fd); + return 0; +} +#endif /* ifdef HAVE_LIBSCTP */ + +const struct log_info_cat default_categories[] = { +}; + +static struct log_info info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +int main(int argc, char *argv[]) +{ + ctx = talloc_named_const(NULL, 0, "socket_test_sctp"); + osmo_init_logging2(ctx, &info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); +#ifdef HAVE_LIBSCTP + test_sockinit2_multiaddr_simple(); + test_sockinit2_multiaddr_several(); + test_sockinit2_multiaddr_mixed(); +#endif /* ifdef HAVE_LIBSCTP */ + + return EXIT_SUCCESS; +} diff --git a/tests/socket/socket_sctp_test.err b/tests/socket/socket_sctp_test.err new file mode 100644 index 0000000..996d092 --- /dev/null +++ b/tests/socket/socket_sctp_test.err @@ -0,0 +1,8 @@ +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +getaddrinfo(::1, 0) failed: Address family for hostname not supported +getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported diff --git a/tests/socket/socket_sctp_test.ok b/tests/socket/socket_sctp_test.ok new file mode 100644 index 0000000..7608e88 --- /dev/null +++ b/tests/socket/socket_sctp_test.ok @@ -0,0 +1,24 @@ +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index 1d4253c..a2e103c 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -148,176 +148,6 @@ return 0; } -#ifdef HAVE_LIBSCTP -static uint16_t sock_get_local_port(int fd, bool is_v6) { - struct sockaddr_storage sa; - struct sockaddr_in *sin = (struct sockaddr_in *)&sa; - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; - socklen_t len = sizeof(sa); - int local_port; - - OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); - if(!is_v6) - local_port = osmo_load16be(&sin->sin_port); - else - local_port = osmo_load16be(&sin6->sin6_port); - //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); - return local_port; -} - -/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ -static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, - const char **addrv4_rem, const char **addrv6_rem, - size_t addrv4_size, size_t addrv6_size) -{ - int fd, rc; - int listen_fd_v4, listen_fd_v6; - int listen_port_v4, listen_port_v6; - - printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); - - listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd_v4 >= 0); - /* expect it to be blocking */ - rc = fcntl(listen_fd_v4, F_GETFL); - OSMO_ASSERT(!(rc & O_NONBLOCK)); - - listen_port_v4 = sock_get_local_port(listen_fd_v4, false); - - printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); - - listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, - addrv6_loc, addrv6_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd_v6 >= 0); - /* expect it to be blocking */ - rc = fcntl(listen_fd_v6, F_GETFL); - OSMO_ASSERT(!(rc & O_NONBLOCK)); - - listen_port_v6 = sock_get_local_port(listen_fd_v6, true); - - printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); - OSMO_ASSERT(fd >= 0); - /* expect it to be blocking */ - rc = fcntl(fd, F_GETFL); - OSMO_ASSERT(rc & O_NONBLOCK); - close(fd); - - printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, 0); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv6_rem, addrv6_size, listen_port_v6, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv6_rem, addrv6_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv6_rem, addrv6_size, 0, - addrv6_rem, addrv6_size, listen_port_v6, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - close(listen_fd_v4); - close(listen_fd_v6); - printf("Done\n"); - return 0; -} - -/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ -static int test_sockinit2_multiaddr_simple(void) -{ - const char *addrv4_loc[] = { "0.0.0.0" }; - const char *addrv6_loc[] = { "::" }; - const char *addrv4_rem[] = { "127.0.0.1" }; - const char *addrv6_rem[] = { "::1" }; - - return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, - addrv4_rem, addrv6_rem, 1, 1); -} - -/* Test API osmo_sock_init2_multiaddr with several local/remote address */ -static int test_sockinit2_multiaddr_several(void) -{ - const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; - const char *addrv6_localhost[] = { "::1" }; - - return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, - addrv4_localhost, addrv6_localhost, 2, 1); -} - -/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ -static int test_sockinit2_multiaddr_mixed(void) -{ - const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; - size_t addr_size = ARRAY_SIZE(addr_localhost); - - int listen_fd, listen_port, fd; - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd >= 0); - - listen_port = sock_get_local_port(listen_fd, true); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - addr_localhost, addr_size, listen_port, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - close(fd); - - close(listen_fd); - return 0; -} -#endif /* ifdef HAVE_LIBSCTP */ - const struct log_info_cat default_categories[] = { }; @@ -335,11 +165,6 @@ test_sockinit(); test_sockinit2(); -#ifdef HAVE_LIBSCTP - test_sockinit2_multiaddr_simple(); - test_sockinit2_multiaddr_several(); - test_sockinit2_multiaddr_mixed(); -#endif /* ifdef HAVE_LIBSCTP */ return EXIT_SUCCESS; } diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index e3d3903..0f0f8da 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,11 +2,3 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. -invalid: you have to specify either BIND or CONNECT flags -Invalid v4 vs v6 in local vs remote addresses -Invalid v4 vs v6 in local vs remote addresses -invalid: you have to specify either BIND or CONNECT flags -Invalid v4 vs v6 in local vs remote addresses -Invalid v4 vs v6 in local vs remote addresses -getaddrinfo(::1, 0) failed: Address family for hostname not supported -getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 959fa84..4265be8 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -9,27 +9,3 @@ Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK -Checking osmo_sock_init2_multiaddr() for invalid flags -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 -Done -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK -Checking osmo_sock_init2_multiaddr() for invalid flags -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 -Done -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 diff --git a/tests/testsuite.at b/tests/testsuite.at index a4c28f9..1955800 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -313,6 +313,15 @@ AT_CHECK([$abs_top_builddir/tests/socket/socket_test], [0], [expout], [experr]) AT_CLEANUP +AT_SETUP([socket_sctp]) +AT_KEYWORDS([socket_sctp]) +AT_SKIP_IF([! test -e $abs_top_builddir/tests/socket/socket_sctp_test]) +cat $abs_srcdir/socket/socket_sctp_test.ok > expout +cat $abs_srcdir/socket/socket_sctp_test.err > experr +touch experr +AT_CHECK([$abs_top_builddir/tests/socket/socket_sctp_test], [0], [expout], [experr]) +AT_CLEANUP + AT_SETUP([osmo-auc-gen]) AT_KEYWORDS([osmo-auc-gen]) cat $abs_srcdir/osmo-auc-gen/osmo-auc-gen_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 Gerrit-Change-Number: 19815 Gerrit-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 Aug 25 12:22:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 12:22:18 +0000 Subject: Change in libosmocore[master]: tests: Split SCTP tests to its own file and run them conditionally In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19815 to look at the new patch set (#2). Change subject: tests: Split SCTP tests to its own file and run them conditionally ...................................................................... tests: Split SCTP tests to its own file and run them conditionally Some systmes (like the ones available in OBS) don't support creating SCTP sockets, so we need to skip those tests there. Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 --- M configure.ac M debian/rules M tests/Makefile.am A tests/socket/socket_sctp_test.c A tests/socket/socket_sctp_test.err A tests/socket/socket_sctp_test.ok M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok M tests/testsuite.at 10 files changed, 287 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/19815/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 Gerrit-Change-Number: 19815 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:57:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:57:30 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... Patch Set 2: Code-Review+1 LGTM. but let's delay merging this untill all the current test breakage has been resolved. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:57: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 Aug 25 12:57:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:57:47 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:57:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:58:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:58:24 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:58: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 Aug 25 12:58:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:58:33 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:58:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:58:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:58:40 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:58: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 Aug 25 12:59:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:59:39 +0000 Subject: Change in libosmocore[master]: tests: Split SCTP tests to its own file and run them conditionally In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19815 ) Change subject: tests: Split SCTP tests to its own file and run them conditionally ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 Gerrit-Change-Number: 19815 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 12:59:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 12:59:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 12:59:42 +0000 Subject: Change in libosmocore[master]: tests: Split SCTP tests to its own file and run them conditionally In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19815 ) Change subject: tests: Split SCTP tests to its own file and run them conditionally ...................................................................... tests: Split SCTP tests to its own file and run them conditionally Some systmes (like the ones available in OBS) don't support creating SCTP sockets, so we need to skip those tests there. Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 --- M configure.ac M debian/rules M tests/Makefile.am A tests/socket/socket_sctp_test.c A tests/socket/socket_sctp_test.err A tests/socket/socket_sctp_test.ok M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok M tests/testsuite.at 10 files changed, 287 insertions(+), 208 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index fbdcb57..b07a3bd 100644 --- a/configure.ac +++ b/configure.ac @@ -197,6 +197,10 @@ LIBS=$old_LIBS ]) +AC_ARG_ENABLE([sctp-tests], [AS_HELP_STRING([--disable-sctp-tests], [Do not run socket tests requiring system SCTP support])], + [ENABLE_SCTP_TESTS=$enableval], [ENABLE_SCTP_TESTS="yes"]) +AM_CONDITIONAL(ENABLE_SCTP_TESTS, test x"$ENABLE_SCTP_TESTS" = x"yes") + AC_ARG_ENABLE(plugin, [AS_HELP_STRING( [--disable-plugin], diff --git a/debian/rules b/debian/rules index a9d961c..afff17f 100755 --- a/debian/rules +++ b/debian/rules @@ -26,7 +26,7 @@ dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) override_dh_auto_configure: - dh_auto_configure -- --enable-static + dh_auto_configure -- --enable-static --disable-sctp-tests override_dh_clean: dh_clean diff --git a/tests/Makefile.am b/tests/Makefile.am index 2a364d5..56d0ac5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -358,6 +358,14 @@ i460_mux/i460_mux_test.ok \ $(NULL) +if ENABLE_LIBSCTP +if ENABLE_SCTP_TESTS +EXTRA_DIST += socket/socket_sctp_test.ok socket/socket_sctp_test.err +check_PROGRAMS += socket/socket_sctp_test +socket_socket_sctp_test_SOURCES = socket/socket_sctp_test.c +endif +endif + DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c BUILT_SOURCES = conv/gsm0503_test_vectors.c noinst_HEADERS = conv/conv.h diff --git a/tests/socket/socket_sctp_test.c b/tests/socket/socket_sctp_test.c new file mode 100644 index 0000000..e70b8be --- /dev/null +++ b/tests/socket/socket_sctp_test.c @@ -0,0 +1,233 @@ +/* + * (C) 2017 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "../config.h" + +void *ctx = NULL; + +#ifdef HAVE_LIBSCTP +static uint16_t sock_get_local_port(int fd, bool is_v6) { + struct sockaddr_storage sa; + struct sockaddr_in *sin = (struct sockaddr_in *)&sa; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; + socklen_t len = sizeof(sa); + int local_port; + + OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); + if(!is_v6) + local_port = osmo_load16be(&sin->sin_port); + else + local_port = osmo_load16be(&sin6->sin6_port); + //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); + return local_port; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, + const char **addrv4_rem, const char **addrv6_rem, + size_t addrv4_size, size_t addrv6_size) +{ + int fd, rc; + int listen_fd_v4, listen_fd_v6; + int listen_port_v4, listen_port_v6; + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); + + listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v4 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v4, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v4 = sock_get_local_port(listen_fd_v4, false); + + printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); + + listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addrv6_loc, addrv6_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd_v6 >= 0); + /* expect it to be blocking */ + rc = fcntl(listen_fd_v6, F_GETFL); + OSMO_ASSERT(!(rc & O_NONBLOCK)); + + listen_port_v6 = sock_get_local_port(listen_fd_v6, true); + + printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + OSMO_ASSERT(fd >= 0); + /* expect it to be blocking */ + rc = fcntl(fd, F_GETFL); + OSMO_ASSERT(rc & O_NONBLOCK); + close(fd); + + printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_loc, addrv4_size, 0, + NULL, 0, 0, 0); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); + fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv4_rem, addrv4_size, 0, + addrv4_rem, addrv4_size, listen_port_v4, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addrv6_rem, addrv6_size, 0, + addrv6_rem, addrv6_size, listen_port_v6, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + + close(listen_fd_v4); + close(listen_fd_v6); + printf("Done\n"); + return 0; +} + +/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ +static int test_sockinit2_multiaddr_simple(void) +{ + const char *addrv4_loc[] = { "0.0.0.0" }; + const char *addrv6_loc[] = { "::" }; + const char *addrv4_rem[] = { "127.0.0.1" }; + const char *addrv6_rem[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, + addrv4_rem, addrv6_rem, 1, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address */ +static int test_sockinit2_multiaddr_several(void) +{ + const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; + const char *addrv6_localhost[] = { "::1" }; + + return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, + addrv4_localhost, addrv6_localhost, 2, 1); +} + +/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ +static int test_sockinit2_multiaddr_mixed(void) +{ + const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; + size_t addr_size = ARRAY_SIZE(addr_localhost); + + int listen_fd, listen_port, fd; + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd < 0); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); + listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + NULL, 0, 0, OSMO_SOCK_F_BIND); + OSMO_ASSERT(listen_fd >= 0); + + listen_port = sock_get_local_port(listen_fd, true); + + printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); + fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, + addr_localhost, addr_size, 0, + addr_localhost, addr_size, listen_port, + OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); + OSMO_ASSERT(fd >= 0); + close(fd); + + close(listen_fd); + return 0; +} +#endif /* ifdef HAVE_LIBSCTP */ + +const struct log_info_cat default_categories[] = { +}; + +static struct log_info info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +int main(int argc, char *argv[]) +{ + ctx = talloc_named_const(NULL, 0, "socket_test_sctp"); + osmo_init_logging2(ctx, &info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); +#ifdef HAVE_LIBSCTP + test_sockinit2_multiaddr_simple(); + test_sockinit2_multiaddr_several(); + test_sockinit2_multiaddr_mixed(); +#endif /* ifdef HAVE_LIBSCTP */ + + return EXIT_SUCCESS; +} diff --git a/tests/socket/socket_sctp_test.err b/tests/socket/socket_sctp_test.err new file mode 100644 index 0000000..996d092 --- /dev/null +++ b/tests/socket/socket_sctp_test.err @@ -0,0 +1,8 @@ +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +invalid: you have to specify either BIND or CONNECT flags +Invalid v4 vs v6 in local vs remote addresses +Invalid v4 vs v6 in local vs remote addresses +getaddrinfo(::1, 0) failed: Address family for hostname not supported +getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported diff --git a/tests/socket/socket_sctp_test.ok b/tests/socket/socket_sctp_test.ok new file mode 100644 index 0000000..7608e88 --- /dev/null +++ b/tests/socket/socket_sctp_test.ok @@ -0,0 +1,24 @@ +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port +Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port +Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK +Checking osmo_sock_init2_multiaddr() for invalid flags +Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 +Done +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds +Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index 1d4253c..a2e103c 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -148,176 +148,6 @@ return 0; } -#ifdef HAVE_LIBSCTP -static uint16_t sock_get_local_port(int fd, bool is_v6) { - struct sockaddr_storage sa; - struct sockaddr_in *sin = (struct sockaddr_in *)&sa; - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa; - socklen_t len = sizeof(sa); - int local_port; - - OSMO_ASSERT(getsockname(fd, (struct sockaddr*)&sa, &len) == 0); - if(!is_v6) - local_port = osmo_load16be(&sin->sin_port); - else - local_port = osmo_load16be(&sin6->sin6_port); - //printf("Checking osmo_sock_init2_multiaddr() port: %" PRIu16 "\n", listen_port_v4); - return local_port; -} - -/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ -static int test_sockinit2_multiaddr(const char **addrv4_loc, const char **addrv6_loc, - const char **addrv4_rem, const char **addrv6_rem, - size_t addrv4_size, size_t addrv6_size) -{ - int fd, rc; - int listen_fd_v4, listen_fd_v6; - int listen_port_v4, listen_port_v6; - - printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port\n"); - - listen_fd_v4 = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd_v4 >= 0); - /* expect it to be blocking */ - rc = fcntl(listen_fd_v4, F_GETFL); - OSMO_ASSERT(!(rc & O_NONBLOCK)); - - listen_port_v4 = sock_get_local_port(listen_fd_v4, false); - - printf("Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port\n"); - - listen_fd_v6 = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, - addrv6_loc, addrv6_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd_v6 >= 0); - /* expect it to be blocking */ - rc = fcntl(listen_fd_v6, F_GETFL); - OSMO_ASSERT(!(rc & O_NONBLOCK)); - - listen_port_v6 = sock_get_local_port(listen_fd_v6, true); - - printf("Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); - OSMO_ASSERT(fd >= 0); - /* expect it to be blocking */ - rc = fcntl(fd, F_GETFL); - OSMO_ASSERT(rc & O_NONBLOCK); - close(fd); - - printf("Checking osmo_sock_init2_multiaddr() for invalid flags\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_loc, addrv4_size, 0, - NULL, 0, 0, 0); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT\n"); - fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv6_rem, addrv6_size, listen_port_v6, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv6_rem, addrv6_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv4_rem, addrv4_size, 0, - addrv4_rem, addrv4_size, listen_port_v4, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addrv6_rem, addrv6_size, 0, - addrv6_rem, addrv6_size, listen_port_v6, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - - close(listen_fd_v4); - close(listen_fd_v6); - printf("Done\n"); - return 0; -} - -/* Test API osmo_sock_init2_multiaddr with 1 local/remote address */ -static int test_sockinit2_multiaddr_simple(void) -{ - const char *addrv4_loc[] = { "0.0.0.0" }; - const char *addrv6_loc[] = { "::" }; - const char *addrv4_rem[] = { "127.0.0.1" }; - const char *addrv6_rem[] = { "::1" }; - - return test_sockinit2_multiaddr(addrv4_loc, addrv6_loc, - addrv4_rem, addrv6_rem, 1, 1); -} - -/* Test API osmo_sock_init2_multiaddr with several local/remote address */ -static int test_sockinit2_multiaddr_several(void) -{ - const char *addrv4_localhost[] = { "127.0.0.1", "127.0.0.2" }; - const char *addrv6_localhost[] = { "::1" }; - - return test_sockinit2_multiaddr(addrv4_localhost, addrv6_localhost, - addrv4_localhost, addrv6_localhost, 2, 1); -} - -/* Test API osmo_sock_init2_multiaddr with several local/remote address, using both ipv4+v6 */ -static int test_sockinit2_multiaddr_mixed(void) -{ - const char *addr_localhost[] = { "127.0.0.1", "127.0.0.2", "::1" }; - size_t addr_size = ARRAY_SIZE(addr_localhost); - - int listen_fd, listen_port, fd; - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_INET6, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd < 0); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds\n"); - listen_fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - NULL, 0, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(listen_fd >= 0); - - listen_port = sock_get_local_port(listen_fd, true); - - printf("Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4\n"); - fd = osmo_sock_init2_multiaddr(AF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, - addr_localhost, addr_size, 0, - addr_localhost, addr_size, listen_port, - OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); - OSMO_ASSERT(fd >= 0); - close(fd); - - close(listen_fd); - return 0; -} -#endif /* ifdef HAVE_LIBSCTP */ - const struct log_info_cat default_categories[] = { }; @@ -335,11 +165,6 @@ test_sockinit(); test_sockinit2(); -#ifdef HAVE_LIBSCTP - test_sockinit2_multiaddr_simple(); - test_sockinit2_multiaddr_several(); - test_sockinit2_multiaddr_mixed(); -#endif /* ifdef HAVE_LIBSCTP */ return EXIT_SUCCESS; } diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index e3d3903..0f0f8da 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,11 +2,3 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. -invalid: you have to specify either BIND or CONNECT flags -Invalid v4 vs v6 in local vs remote addresses -Invalid v4 vs v6 in local vs remote addresses -invalid: you have to specify either BIND or CONNECT flags -Invalid v4 vs v6 in local vs remote addresses -Invalid v4 vs v6 in local vs remote addresses -getaddrinfo(::1, 0) failed: Address family for hostname not supported -getaddrinfo(127.0.0.1, 0) failed: Address family for hostname not supported diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 959fa84..4265be8 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -9,27 +9,3 @@ Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK -Checking osmo_sock_init2_multiaddr() for invalid flags -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 -Done -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv4 port -Checking osmo_sock_init2_multiaddr() with bind to a random local SCTP IPv6 port -Checking osmo_sock_init2_multiaddr() for OSMO_SOCK_F_NONBLOCK -Checking osmo_sock_init2_multiaddr() for invalid flags -Checking osmo_sock_init2_multiaddr() for combined BIND + CONNECT -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv4 & IPv6 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) must fail on mixed IPv6 & IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv6 -Done -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET IPv4+v6 fails -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_INET6 IPv4+v6 fails -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND on AF_UNSPEC IPv4+v6 succeeds -Checking osmo_sock_init2_multiaddr(AF_UNSPEC) BIND + CONNECT on IPv4 diff --git a/tests/testsuite.at b/tests/testsuite.at index a4c28f9..1955800 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -313,6 +313,15 @@ AT_CHECK([$abs_top_builddir/tests/socket/socket_test], [0], [expout], [experr]) AT_CLEANUP +AT_SETUP([socket_sctp]) +AT_KEYWORDS([socket_sctp]) +AT_SKIP_IF([! test -e $abs_top_builddir/tests/socket/socket_sctp_test]) +cat $abs_srcdir/socket/socket_sctp_test.ok > expout +cat $abs_srcdir/socket/socket_sctp_test.err > experr +touch experr +AT_CHECK([$abs_top_builddir/tests/socket/socket_sctp_test], [0], [expout], [experr]) +AT_CLEANUP + AT_SETUP([osmo-auc-gen]) AT_KEYWORDS([osmo-auc-gen]) cat $abs_srcdir/osmo-auc-gen/osmo-auc-gen_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d16280674625877ec22cc60cbc5deb67868a656 Gerrit-Change-Number: 19815 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 Tue Aug 25 13:27:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 13:27:21 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub_test: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 19660 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 13:27: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 Aug 25 13:27:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 13:27:25 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 13:27:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 13:41:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 13:41:59 +0000 Subject: Change in osmo-trx[master]: debian: Update debian8 osmo-trx specific patch References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19816 ) Change subject: debian: Update debian8 osmo-trx specific patch ...................................................................... debian: Update debian8 osmo-trx specific patch Recent commit adding osmo-trx-ipc didn't update the patch, which fails to apply now due to files having changed its contents. Change-Id: I6fa50e82320330f83c9753352418755e8b414edf --- M debian/patches/build-for-debian8.patch 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/16/19816/1 diff --git a/debian/patches/build-for-debian8.patch b/debian/patches/build-for-debian8.patch index 4bf0207..ee3bd19 100644 --- a/debian/patches/build-for-debian8.patch +++ b/debian/patches/build-for-debian8.patch @@ -1,5 +1,5 @@ diff --git a/debian/control b/debian/control -index 8ff59f0..126c16a 100644 +index 12d9af5..27b9d60 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,6 @@ Build-Depends: debhelper (>= 9), @@ -14,8 +14,8 @@ Architecture: any Section: debug Priority: extra --Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), ${misc:Depends} -+Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), ${misc:Depends} +-Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} ++Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for the osmo-trx-* Make debugging possible @@ -42,19 +42,19 @@ - between different telecommunication associations for developing new - generations of mobile phone networks. (post-2G/GSM) - - Package: osmo-trx-doc - Architecture: all - Section: doc + Package: osmo-trx-ipc + Architecture: any + Depends: ${shlibs:Depends}, ${misc:Depends} diff --git a/debian/rules b/debian/rules -index 627c0c8..d9285e2 100755 +index 5795643..5937c17 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ override_dh_shlibdeps: dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info override_dh_auto_configure: -- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals -+ dh_auto_configure -- --with-uhd --with-usrp1 --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals ++ dh_auto_configure -- --with-uhd --with-usrp1 --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals override_dh_strip: dh_strip --dbg-package=osmo-trx-dbg -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6fa50e82320330f83c9753352418755e8b414edf Gerrit-Change-Number: 19816 Gerrit-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 Aug 25 13:42:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 13:42:00 +0000 Subject: Change in osmo-trx[master]: jenkins.sh: Verify distro-specific patches apply References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19817 ) Change subject: jenkins.sh: Verify distro-specific patches apply ...................................................................... jenkins.sh: Verify distro-specific patches apply Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 --- M contrib/jenkins.sh 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/17/19817/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 95ea128..9561d67 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -115,4 +115,10 @@ fi $MAKE maintainer-clean + +# Verify distro-specific package patches apply: +for patch in debian/patches/*.patch; do + patch --dry-run -p1 < "$patch" +done + osmo-clean-workspace.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 Gerrit-Change-Number: 19817 Gerrit-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 Aug 25 13:50:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 13:50:02 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19738 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Patch Set 3: Code-Review+2 Re-applying +2, I simply rebased it due to merge conflict. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 13:50: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 Aug 25 13:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 13:50:06 +0000 Subject: Change in osmo-bsc[master]: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19738 ) Change subject: Change default SCTP conn NULL->127.0.0.1 to localhost->localhost ...................................................................... Change default SCTP conn NULL->127.0.0.1 to localhost->localhost "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, since the default remote address is a local one and it's the client side, there's no real logical change since the kernel would anyway should have taken a local address anyway. Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 657413a..9d9e40a 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -41,7 +41,8 @@ * (a copy of the pointer location submitted with osmo_bsc_sigtran_init() */ static struct llist_head *msc_list; -#define DEFAULT_ASP_REMOTE_IP "127.0.0.1" +#define DEFAULT_ASP_LOCAL_IP "localhost" +#define DEFAULT_ASP_REMOTE_IP "localhost" /* The SCCP stack will not assign connection IDs to us automatically, we * will do this ourselves using a counter variable, that counts one up @@ -566,7 +567,9 @@ /* SS7 Protocol stack */ default_pc = osmo_ss7_pointcode_parse(NULL, BSC_DEFAULT_PC); - sccp = osmo_sccp_simple_client_on_ss7_id(tall_bsc_ctx, inst->cfg.id, inst_name, default_pc, used_proto, 0, NULL, + sccp = osmo_sccp_simple_client_on_ss7_id(tall_bsc_ctx, inst->cfg.id, inst_name, + default_pc, used_proto, + 0, DEFAULT_ASP_LOCAL_IP, 0, DEFAULT_ASP_REMOTE_IP); if (!sccp) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic93be6c47403e65b7c338604728570f23bc3de12 Gerrit-Change-Number: 19738 Gerrit-PatchSet: 4 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 Tue Aug 25 14:46:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 14:46:32 +0000 Subject: Change in osmo-trx[master]: debian: Update debian8 osmo-trx specific patch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19816 ) Change subject: debian: Update debian8 osmo-trx specific patch ...................................................................... Patch Set 1: Code-Review+2 fast-track +2 to avoid nightly build breakage. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6fa50e82320330f83c9753352418755e8b414edf Gerrit-Change-Number: 19816 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 14:46: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 Aug 25 14:46:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 14:46:35 +0000 Subject: Change in osmo-trx[master]: debian: Update debian8 osmo-trx specific patch In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19816 ) Change subject: debian: Update debian8 osmo-trx specific patch ...................................................................... debian: Update debian8 osmo-trx specific patch Recent commit adding osmo-trx-ipc didn't update the patch, which fails to apply now due to files having changed its contents. Change-Id: I6fa50e82320330f83c9753352418755e8b414edf --- M debian/patches/build-for-debian8.patch 1 file changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/debian/patches/build-for-debian8.patch b/debian/patches/build-for-debian8.patch index 4bf0207..ee3bd19 100644 --- a/debian/patches/build-for-debian8.patch +++ b/debian/patches/build-for-debian8.patch @@ -1,5 +1,5 @@ diff --git a/debian/control b/debian/control -index 8ff59f0..126c16a 100644 +index 12d9af5..27b9d60 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,6 @@ Build-Depends: debhelper (>= 9), @@ -14,8 +14,8 @@ Architecture: any Section: debug Priority: extra --Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), ${misc:Depends} -+Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), ${misc:Depends} +-Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-lms (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} ++Depends: osmo-trx-uhd (= ${binary:Version}), osmo-trx-usrp1 (= ${binary:Version}), osmo-trx-ipc (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for the osmo-trx-* Make debugging possible @@ -42,19 +42,19 @@ - between different telecommunication associations for developing new - generations of mobile phone networks. (post-2G/GSM) - - Package: osmo-trx-doc - Architecture: all - Section: doc + Package: osmo-trx-ipc + Architecture: any + Depends: ${shlibs:Depends}, ${misc:Depends} diff --git a/debian/rules b/debian/rules -index 627c0c8..d9285e2 100755 +index 5795643..5937c17 100755 --- a/debian/rules +++ b/debian/rules @@ -9,7 +9,7 @@ override_dh_shlibdeps: dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info override_dh_auto_configure: -- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals -+ dh_auto_configure -- --with-uhd --with-usrp1 --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals +- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals ++ dh_auto_configure -- --with-uhd --with-usrp1 --with-ipc --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals override_dh_strip: dh_strip --dbg-package=osmo-trx-dbg -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6fa50e82320330f83c9753352418755e8b414edf Gerrit-Change-Number: 19816 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen 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 Tue Aug 25 15:21:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 Aug 2020 15:21:51 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 15:21:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 15:23:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 Aug 2020 15:23:21 +0000 Subject: Change in osmo-trx[master]: jenkins.sh: Verify distro-specific patches apply In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19817 ) Change subject: jenkins.sh: Verify distro-specific patches apply ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/19817/1/contrib/jenkins.sh File contrib/jenkins.sh: https://gerrit.osmocom.org/c/osmo-trx/+/19817/1/contrib/jenkins.sh at 119 PS1, Line 119: distro In this case it's rather Debian-specific patches. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 Gerrit-Change-Number: 19817 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 15:23:21 +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 Aug 25 15:54:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 15:54:18 +0000 Subject: Change in osmo-trx[master]: jenkins.sh: Verify distro-specific patches apply In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19817 ) Change subject: jenkins.sh: Verify distro-specific patches apply ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 Gerrit-Change-Number: 19817 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 15:54: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 Aug 25 15:54:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 15:54:23 +0000 Subject: Change in osmo-trx[master]: jenkins.sh: Verify distro-specific patches apply In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19817 ) Change subject: jenkins.sh: Verify distro-specific patches apply ...................................................................... jenkins.sh: Verify distro-specific patches apply Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 --- M contrib/jenkins.sh 1 file changed, 6 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/contrib/jenkins.sh b/contrib/jenkins.sh index 95ea128..9561d67 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -115,4 +115,10 @@ fi $MAKE maintainer-clean + +# Verify distro-specific package patches apply: +for patch in debian/patches/*.patch; do + patch --dry-run -p1 < "$patch" +done + osmo-clean-workspace.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I75792c5defff63b7deaeb533b6818deaac3e0fd3 Gerrit-Change-Number: 19817 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder 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 Aug 25 15:55:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 15:55:39 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/19762/1/src/stream.c at 849 PS1, Line 849: is_ > Both ways are fine, they ar ebacked by the documentation: [?] yes, but the size could be coincidence. MAybe 10 years from now there is some other sockaddr with the same size than sockaddr_in6? That's why I think checking the catual sa_family is superior. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 15:55:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 25 15:55:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 15:55:49 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Aug 2020 15:55: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 Aug 25 15:55:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Aug 2020 15:55:51 +0000 Subject: Change in libosmo-netif[master]: stream: Fix log of IPv6 during accept() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/19762 ) Change subject: stream: Fix log of IPv6 during accept() ...................................................................... stream: Fix log of IPv6 during accept() Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 --- M src/stream.c 1 file changed, 9 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/stream.c b/src/stream.c index e265ee1..5f171ea 100644 --- a/src/stream.c +++ b/src/stream.c @@ -834,7 +834,9 @@ { int ret; int sock_fd; - struct sockaddr_in sa; + char addrstr[128]; + bool is_ipv6; + struct sockaddr_storage sa; socklen_t sa_len = sizeof(sa); struct osmo_stream_srv_link *link = ofd->data; @@ -844,8 +846,13 @@ "peer, reason=`%s'\n", strerror(errno)); return ret; } + is_ipv6 = ((struct sockaddr *)&sa)->sa_family == AF_INET6; LOGP(DLINP, LOGL_DEBUG, "accept()ed new link from %s to port %u\n", - inet_ntoa(sa.sin_addr), link->port); + inet_ntop(is_ipv6 ? AF_INET6 : AF_INET, + is_ipv6 ? (void*)&(((struct sockaddr_in6 *)&sa)->sin6_addr) : + (void*)&(((struct sockaddr_in *)&sa)->sin_addr), + addrstr, sizeof(addrstr)), + link->port); sock_fd = ret; if (link->proto == IPPROTO_SCTP) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/19762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ib13db8d135138059a70d18a8bba14e53c6514fa7 Gerrit-Change-Number: 19762 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 25 17:08:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 17:08:26 +0000 Subject: Change in osmo-bsc[master]: ctrl: Fix CTRL TRAP for {msc.X, msc_)connection_status not sent References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19818 ) Change subject: ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent ...................................................................... ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent The tx TRAP callback is triggered through a signal which is never sent in osmo-bsc code, and never was as far as I can tell going quite far in the logs. In the meanwhile, the msc_connection_status was left in favour of multi-msc msc.X.connection_status CTRL variable, so let's prepre the cb function to work for that onei too, dropping global variables which may lead to wrong output in multi-msc environments, and simply use msc->nr==0 for the old variable "msc_connection_status". The signal is now triggered in a_reset when the A conn becomes connected or disconnected. As a result, a user waiting for the disconnect event may notice that the status may be changed with a noticeable delay, since the A conn may be reset only due to high layer timeouts after several repeated failures (T4, BAD_CONNECTION_THRESOLD). Related: OS#2623 Related: OS#4701 Related: SYS#5046 Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 --- M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_ctrl.c 2 files changed, 20 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/19818/1 diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 713be86..9446d13 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -22,12 +22,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #define RESET_RESEND_INTERVAL 2 /* sec */ #define RESET_RESEND_TIMER_NO 4 /* See also 3GPP TS 48.008 Chapter 3.1.4.1.3.1 */ @@ -83,8 +85,10 @@ struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is down, reconnecting...\n"); - if (prev_state != ST_DISC) + if (prev_state != ST_DISC) { osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); + } } /* Connected state event handler */ @@ -116,8 +120,10 @@ struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is up.\n"); - if (prev_state != ST_CONN) + if (prev_state != ST_CONN) { osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); + } } /* Timer callback to retransmit the reset signal */ diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 5ebe597..05bc86c 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -195,7 +195,6 @@ /* Backwards compat. */ CTRL_CMD_DEFINE_RO(msc0_connection_status, "msc_connection_status"); -static int msc_connection_status = 0; /* XXX unused */ static int get_msc0_connection_status(struct ctrl_cmd *cmd, void *data) { @@ -214,13 +213,12 @@ { struct ctrl_cmd *cmd; struct gsm_network *gsmnet = (struct gsm_network *)handler_data; + struct bsc_msc_data *msc = (struct bsc_msc_data *)signal_data; - if (signal == S_MSC_LOST && msc_connection_status == 1) { + if (signal == S_MSC_LOST) { LOGP(DCTRL, LOGL_DEBUG, "MSC connection lost, sending TRAP.\n"); - msc_connection_status = 0; - } else if (signal == S_MSC_CONNECTED && msc_connection_status == 0) { + } else if (signal == S_MSC_CONNECTED) { LOGP(DCTRL, LOGL_DEBUG, "MSC connection (re)established, sending TRAP.\n"); - msc_connection_status = 1; } else { return 0; } @@ -232,12 +230,19 @@ } cmd->id = "0"; - cmd->variable = "msc_connection_status"; + cmd->variable = talloc_asprintf(cmd, "msc.%d.connection_status", msc->nr); + cmd->node = msc; - get_msc0_connection_status(cmd, NULL); + get_msc_connection_status(cmd, NULL); ctrl_cmd_send_to_all(gsmnet->ctrl, cmd); + if (msc->nr == 0) { + /* Backwards compat. */ + cmd->variable = "msc_connection_status"; + ctrl_cmd_send_to_all(gsmnet->ctrl, cmd); + } + talloc_free(cmd); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 Gerrit-Change-Number: 19818 Gerrit-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 Aug 25 18:09:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 25 Aug 2020 18:09:52 +0000 Subject: Change in osmo-bsc[master]: ctrl: Fix CTRL TRAP for {msc.X, msc_)connection_status not sent In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19818 ) Change subject: ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 Gerrit-Change-Number: 19818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 25 Aug 2020 18:09:52 +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 Aug 25 19:08:24 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 19:08:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5f4561c341ec1_78412b26e8f205f049006a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/i586 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 298s] ipc-driver-test.c:472:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 298s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 298s] ^ [ 298s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 298s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 298s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 298s] Makefile:421: recipe for target 'all-recursive' failed [ 298s] make[4]: *** [all-recursive] Error 1 [ 298s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 298s] Makefile:828: recipe for target 'all-recursive' failed [ 298s] make[3]: *** [all-recursive] Error 1 [ 298s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 298s] Makefile:507: recipe for target 'all-recursive' failed [ 298s] make[2]: *** [all-recursive] Error 1 [ 298s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 298s] Makefile:437: recipe for target 'all' failed [ 298s] make[1]: *** [all] Error 2 [ 298s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 298s] dh_auto_build: make -j1 returned exit code 2 [ 298s] debian/rules:6: recipe for target 'build' failed [ 298s] make: *** [build] Error 2 [ 298s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 298s] ### VM INTERACTION START ### [ 299s] Powering off. [ 299s] [ 290.346790] reboot: Power down [ 299s] ### VM INTERACTION END ### [ 299s] [ 299s] lamb59 failed "build osmo-trx_1.2.0.76.9d42.dsc" at Tue Aug 25 19:08:11 UTC 2020. [ 299s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 19:53:34 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 19:53:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5f456c5db229b_78412b26e8f205f049989e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 297s] ipc-driver-test.c:472:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 297s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 297s] ^ [ 297s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 297s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 297s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 297s] Makefile:421: recipe for target 'all-recursive' failed [ 297s] make[4]: *** [all-recursive] Error 1 [ 297s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 297s] Makefile:828: recipe for target 'all-recursive' failed [ 297s] make[3]: *** [all-recursive] Error 1 [ 297s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 297s] Makefile:507: recipe for target 'all-recursive' failed [ 297s] make[2]: *** [all-recursive] Error 1 [ 297s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 297s] Makefile:437: recipe for target 'all' failed [ 297s] make[1]: *** [all] Error 2 [ 297s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 297s] dh_auto_build: make -j1 returned exit code 2 [ 297s] debian/rules:6: recipe for target 'build' failed [ 297s] make: *** [build] Error 2 [ 297s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 298s] ### VM INTERACTION START ### [ 299s] Powering off. [ 299s] [ 288.649702] reboot: Power down [ 299s] ### VM INTERACTION END ### [ 299s] [ 299s] lamb61 failed "build osmo-trx_1.2.0.76.9d42.dsc" at Tue Aug 25 19:53:28 UTC 2020. [ 299s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Aug 25 20:03:41 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Aug 2020 20:03:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f456eb4bf4cc_78412b26e8f205f050359e@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] [ 156s] [COMPILING libboard/qmod/source/board_qmod.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: 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] [ 151.340177] sysrq: Power Off [ 159s] [ 151.347714] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb19 failed "build simtrace2_0.7.0.63.39070.dsc" at Tue Aug 25 20:03:37 UTC 2020. [ 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 Tue Aug 25 20:19:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Aug 2020 20:19:39 +0000 Subject: Change in osmo-trx[master]: ipc: fix var declaration in for loop References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19819 ) Change subject: ipc: fix var declaration in for loop ...................................................................... ipc: fix var declaration in for loop """ error: 'for' loop initial declarations are only allowed in C99 or C11 mode """ Change-Id: I97cb9a0a3ecf64e3e5fcfca75431f8fe2a07bd10 --- M Transceiver52M/device/ipc/ipc-driver-test.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/19/19819/1 diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c index 79d49d6..2b006f0 100644 --- a/Transceiver52M/device/ipc/ipc-driver-test.c +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -215,6 +215,7 @@ { /* calculate size needed */ unsigned int len; + unsigned int i; global_dev = uhdwrap_open(open_req); @@ -232,7 +233,7 @@ * additionally go for the producer init for both, so only we are responsible for the init, instead * of splitting it with the client and causing potential races if one side uses it too early */ decoded_region = ipc_shm_decode_region(0, (struct ipc_shm_raw_region *)shm); - for (unsigned int i = 0; i < open_req->num_chans; i++) { + for (i = 0; i < open_req->num_chans; i++) { // ios_tx_to_device[i] = ipc_shm_init_consumer(decoded_region->channels[i]->dl_stream); ios_tx_to_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->dl_stream); ios_rx_from_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->ul_stream); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I97cb9a0a3ecf64e3e5fcfca75431f8fe2a07bd10 Gerrit-Change-Number: 19819 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Aug 26 02:24:44 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Aug 2020 02:24:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5f45c80141b8a_78412b26e8f205f0608844@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/i586 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 263s] ipc-driver-test.c:472:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 263s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 263s] ^ [ 263s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 263s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 263s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 263s] Makefile:421: recipe for target 'all-recursive' failed [ 263s] make[4]: *** [all-recursive] Error 1 [ 263s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 263s] Makefile:828: recipe for target 'all-recursive' failed [ 263s] make[3]: *** [all-recursive] Error 1 [ 263s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 263s] Makefile:507: recipe for target 'all-recursive' failed [ 263s] make[2]: *** [all-recursive] Error 1 [ 263s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 263s] Makefile:437: recipe for target 'all' failed [ 263s] make[1]: *** [all] Error 2 [ 263s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 263s] dh_auto_build: make -j1 returned exit code 2 [ 263s] debian/rules:6: recipe for target 'build' failed [ 263s] make: *** [build] Error 2 [ 263s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 263s] ### VM INTERACTION START ### [ 264s] Powering off. [ 265s] [ 256.108678] reboot: Power down [ 265s] ### VM INTERACTION END ### [ 265s] [ 265s] build77 failed "build osmo-trx_1.2.0.77.7c1ea.dsc" at Wed Aug 26 02:24:35 UTC 2020. [ 265s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 26 02:43:01 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Aug 2020 02:43:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5f45cc3aaec9e_78412b26e8f205f06129a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 339s] ipc-driver-test.c:472:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 339s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 339s] ^ [ 339s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 339s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 339s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 339s] Makefile:421: recipe for target 'all-recursive' failed [ 339s] make[4]: *** [all-recursive] Error 1 [ 339s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 339s] Makefile:828: recipe for target 'all-recursive' failed [ 339s] make[3]: *** [all-recursive] Error 1 [ 339s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 339s] Makefile:507: recipe for target 'all-recursive' failed [ 339s] make[2]: *** [all-recursive] Error 1 [ 339s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 339s] Makefile:437: recipe for target 'all' failed [ 339s] make[1]: *** [all] Error 2 [ 339s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 339s] dh_auto_build: make -j1 returned exit code 2 [ 339s] debian/rules:6: recipe for target 'build' failed [ 339s] make: *** [build] Error 2 [ 339s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 339s] ### VM INTERACTION START ### [ 340s] Powering off. [ 340s] [ 330.679174] reboot: Power down [ 340s] ### VM INTERACTION END ### [ 340s] [ 340s] lamb16 failed "build osmo-trx_1.2.0.77.7c1ea.dsc" at Wed Aug 26 02:42:44 UTC 2020. [ 340s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Aug 26 02:51:36 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Aug 2020 02:51:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f45ce53d6849_78412b26e8f205f06148c@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: [ 156s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 156s] [COMPILING libboard/qmod/source/card_pres.c] [ 156s] [COMPILING libboard/qmod/source/wwan_led.c] [ 157s] [COMPILING libboard/qmod/source/i2c.c] [ 157s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16588 B 16 KB 101.25% [ 158s] 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' [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 158s] collect2: error: ld returned 1 exit status [ 158s] % [ 158s] make[2]: *** [Makefile:234: 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] [ 149.716177] sysrq: Power Off [ 161s] [ 149.734466] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] cloud128 failed "build simtrace2_0.7.0.63.39070.dsc" at Wed Aug 26 02:51:30 UTC 2020. [ 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 Wed Aug 26 09:30:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 09:30:38 +0000 Subject: Change in osmo-trx[master]: ipc: fix var declaration in for loop In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19819 ) Change subject: ipc: fix var declaration in for loop ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I97cb9a0a3ecf64e3e5fcfca75431f8fe2a07bd10 Gerrit-Change-Number: 19819 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 09:30: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 Aug 26 09:30:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 09:30:41 +0000 Subject: Change in osmo-trx[master]: ipc: fix var declaration in for loop In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19819 ) Change subject: ipc: fix var declaration in for loop ...................................................................... ipc: fix var declaration in for loop """ error: 'for' loop initial declarations are only allowed in C99 or C11 mode """ Change-Id: I97cb9a0a3ecf64e3e5fcfca75431f8fe2a07bd10 --- M Transceiver52M/device/ipc/ipc-driver-test.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c index 79d49d6..2b006f0 100644 --- a/Transceiver52M/device/ipc/ipc-driver-test.c +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -215,6 +215,7 @@ { /* calculate size needed */ unsigned int len; + unsigned int i; global_dev = uhdwrap_open(open_req); @@ -232,7 +233,7 @@ * additionally go for the producer init for both, so only we are responsible for the init, instead * of splitting it with the client and causing potential races if one side uses it too early */ decoded_region = ipc_shm_decode_region(0, (struct ipc_shm_raw_region *)shm); - for (unsigned int i = 0; i < open_req->num_chans; i++) { + for (i = 0; i < open_req->num_chans; i++) { // ios_tx_to_device[i] = ipc_shm_init_consumer(decoded_region->channels[i]->dl_stream); ios_tx_to_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->dl_stream); ios_rx_from_device[i] = ipc_shm_init_producer(decoded_region->channels[i]->ul_stream); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I97cb9a0a3ecf64e3e5fcfca75431f8fe2a07bd10 Gerrit-Change-Number: 19819 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 Aug 26 11:14:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:14:49 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... gsm0808: add gsm0808_create_sapi_reject_cause() This is basically a successor of gsm0808_create_sapi_reject(), but instead of hard-coding GSM0808_CAUSE_BSS_NOT_EQUIPPED, it allows the caller to specify a cause value to be used. The old function is now deprecated and should not be used. Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Related: OS#4728 --- M TODO-RELEASE M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c 5 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/19820/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 8ccfa49..3c2a15b 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 +libosmogsm new API gsm0808_create_sapi_reject_cause() with cause argument diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 2a26fb5..20137da 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -60,7 +60,9 @@ struct msgb *gsm0808_create_classmark_request(); struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len, const uint8_t *cm3, uint8_t cm3_len); -struct msgb *gsm0808_create_sapi_reject(uint8_t link_id); +struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause); +struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) + OSMO_DEPRECATED("Use gsm0808_create_sapi_reject_cause() instead"); struct msgb *gsm0808_create_ass(const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index a1d567d..a8c702b 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -444,8 +444,9 @@ /*! Create BSSMAP SAPI N Reject message * \param[in] link_id Link Identifier + * \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5) * \returns callee-allocated msgb with BSSMAP SAPI N Reject message */ -struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) +struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause) { struct msgb *msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, "bssmap: sapi 'n' reject"); @@ -461,6 +462,16 @@ return msg; } +/*! Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped"). + * DEPRECATED: use gsm0808_create_sapi_reject_cause() instead. + * \param[in] link_id Link Identifier + * \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5) + * \returns callee-allocated msgb with BSSMAP SAPI N Reject message */ +struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) +{ + return gsm0808_create_sapi_reject_cause(link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED); +} + /*! Create BSSMAP Assignment Request message, 3GPP TS 48.008 ?3.2.1.1. * This is identical to gsm0808_create_ass(), but adds KC and LCLS IEs. * \param[in] ct Channel Type diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 713ffe3..4ece107 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -190,6 +190,7 @@ gsm0808_create_lcls_notification; gsm0808_create_reset; gsm0808_create_reset_ack; +gsm0808_create_sapi_reject_cause; gsm0808_create_sapi_reject; gsm0808_create_handover_required; gsm0808_create_handover_required_reject; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index 5c1a931..dd2ffbe 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -374,7 +374,7 @@ struct msgb *msg; printf("Testing creating SAPI Reject\n"); - msg = gsm0808_create_sapi_reject(3); + msg = gsm0808_create_sapi_reject_cause(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED); VERIFY(msg, res, ARRAY_SIZE(res)); msgb_free(msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 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 Aug 26 11:27:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 11:27:28 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19820/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/19820/1/src/gsm/gsm0808.c at 458 PS1, Line 458: gsm0808_enc_cause(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); you need to pass cause here! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 11:27:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 11:29:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:29:38 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19820/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/19820/1/src/gsm/gsm0808.c at 458 PS1, Line 458: gsm0808_enc_cause(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); > you need to pass cause here! Thank you! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 11:29:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 11:29:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 11:29:52 +0000 Subject: Change in libosmocore[master]: ipa: Fix wrong output log formatting References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19821 ) Change subject: ipa: Fix wrong output log formatting ...................................................................... ipa: Fix wrong output log formatting Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc --- M src/gsm/ipa.c 1 file changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/19821/1 diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index 1563d0a..7a26ba4 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -121,22 +121,25 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_GET: "); while (len >= 2) { len -= 2; t_len = *cur++; t_tag = *cur++; if (t_len < len_offset) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "minimal offset not included: %d < %d\n", t_len, len_offset); return -EINVAL; } if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } - DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); + LOGPC(DLMI, LOGL_DEBUG, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); dec->lv[t_tag].len = t_len - len_offset; dec->lv[t_tag].val = cur; @@ -144,6 +147,7 @@ cur += t_len - len_offset; len -= t_len - len_offset; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } @@ -164,17 +168,19 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_GET: "); while (len >= 2) { len -= 2; t_len = *cur++; t_tag = *cur++; if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } - DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); + LOGPC(DLMI, LOGL_DEBUG, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); dec->lv[t_tag].len = t_len-1; dec->lv[t_tag].val = cur; @@ -182,6 +188,7 @@ cur += t_len-1; len -= t_len-1; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } @@ -202,6 +209,7 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_RESP: "); while (len >= 3) { len -= 3; t_len = osmo_load16be(cur); @@ -209,6 +217,7 @@ t_tag = *cur++; if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } @@ -221,6 +230,7 @@ cur += t_len-1; len -= t_len-1; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc Gerrit-Change-Number: 19821 Gerrit-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 Aug 26 11:30:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:30:24 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19820 to look at the new patch set (#2). Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... gsm0808: add gsm0808_create_sapi_reject_cause() This is basically a successor of gsm0808_create_sapi_reject(), but instead of hard-coding GSM0808_CAUSE_BSS_NOT_EQUIPPED, it allows the caller to specify a cause value to be used. The old function is now deprecated and should not be used. Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Related: OS#4728 --- M TODO-RELEASE M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c 5 files changed, 19 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/19820/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 2 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 Aug 26 11:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 11:31:14 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 11:31: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 Aug 26 11:44:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 11:44:30 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Fix recent typo preventing MS from registering Fixes: 0052051c07af63da98137c9f8e3b3119642eb587 Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/19822/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 14d1a9d..d008d02 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -123,7 +123,7 @@ { rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), true); - if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_TMSI) { + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_IMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-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 Aug 26 11:45:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:45:30 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 11:45:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 11:49:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 11:49:45 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Fix typo in log message References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19823 ) Change subject: pcu_sock: Fix typo in log message ...................................................................... pcu_sock: Fix typo in log message Change-Id: I63f0ba277318e254cfd9ad571899f3a45529ff16 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/19823/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 53822a2..aee42ea 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -672,7 +672,7 @@ struct gsm_bts_trx *trx; struct gsm_lchan *lchan; - LOGP(DPCU, LOGL_INFO, "%s request received: TRX=%d TX=%d\n", + LOGP(DPCU, LOGL_INFO, "%s request received: TRX=%d TS=%d\n", (act_req->activate) ? "Activate" : "Deactivate", act_req->trx_nr, act_req->ts_nr); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63f0ba277318e254cfd9ad571899f3a45529ff16 Gerrit-Change-Number: 19823 Gerrit-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 Aug 26 11:51:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:51:50 +0000 Subject: Change in osmo-bsc[master]: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19824 ) Change subject: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t ...................................................................... fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t Change-Id: I5f04f16caecb58a28e119512267999fdc18ff172 --- M include/osmocom/bsc/gsm_08_08.h M src/osmo-bsc/gsm_08_08.c M tests/bsc/bsc_test.c M tests/handover/handover_test.c 4 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/19824/1 diff --git a/include/osmocom/bsc/gsm_08_08.h b/include/osmocom/bsc/gsm_08_08.h index b46a8d3..e55bf2c 100644 --- a/include/osmocom/bsc/gsm_08_08.h +++ b/include/osmocom/bsc/gsm_08_08.h @@ -6,7 +6,7 @@ struct gsm_subscriber_connection; -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci); +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci); void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr); int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel); void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg); diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e7ef728..e5457c4 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -60,7 +60,7 @@ } /*! BTS->MSC: tell MSC a SAPI was not established. */ -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) { int rc; struct msgb *resp; diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index dd2b1bb..86d8972 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -223,7 +223,7 @@ OSMO_ASSERT(0); } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6fb145e..31d4b6f 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1794,7 +1794,7 @@ void trau_send_frame() {} int osmo_bsc_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } int osmo_bsc_sigtran_open_conn(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5f04f16caecb58a28e119512267999fdc18ff172 Gerrit-Change-Number: 19824 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 Aug 26 11:51:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:51:50 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19825 ) Change subject: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() ...................................................................... bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() Change-Id: I9ce35c1e446b0dfdb5b01651466ccaafc23c9318 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/19825/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 22aa70a..4f559fe 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1026,8 +1026,10 @@ * fire after a lchan_release call and before the S_CHALLOC_FREED * is called. Check if a conn is set before proceeding. */ - if (!lchan->conn) + if (!lchan->conn) { + msgb_free(msg); return; + } switch (rllr_ind) { case BSC_RLLR_IND_EST_CONF: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ce35c1e446b0dfdb5b01651466ccaafc23c9318 Gerrit-Change-Number: 19825 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 Aug 26 11:51:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 11:51:51 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19826 ) Change subject: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT ...................................................................... bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT As 3GPP TS 48.058 clearly states, an RLL RELease INDication is only sent if the datalink is released by the MS. Thre's no cause value giving further diagnostics, but if the MS releases the link, it is clearly not the BSS's fault, and hence "BSS not equipped" is wrong. Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Related: OS#4728 --- M include/osmocom/bsc/gsm_08_08.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M tests/bsc/bsc_test.c M tests/handover/handover_test.c 5 files changed, 15 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/19826/1 diff --git a/include/osmocom/bsc/gsm_08_08.h b/include/osmocom/bsc/gsm_08_08.h index e55bf2c..80da297 100644 --- a/include/osmocom/bsc/gsm_08_08.h +++ b/include/osmocom/bsc/gsm_08_08.h @@ -6,7 +6,7 @@ struct gsm_subscriber_connection; -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci); +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause); void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr); int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel); void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg); diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 4f559fe..6871c4c 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1036,9 +1036,14 @@ rsl_data_request(msg, OBSC_LINKID_CB(msg)); break; case BSC_RLLR_IND_REL_IND: + bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg), + GSM0808_CAUSE_MS_NOT_EQUIPPED); + msgb_free(msg); + break; case BSC_RLLR_IND_ERR_IND: case BSC_RLLR_IND_TIMEOUT: - bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg)); + bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg), + GSM0808_CAUSE_BSS_NOT_EQUIPPED); msgb_free(msg); break; } @@ -1078,7 +1083,7 @@ rc = rll_establish(msg->lchan, sapi, rll_ind_cb, msg); if (rc) { msgb_free(msg); - bsc_sapi_n_reject(conn, link_id); + bsc_sapi_n_reject(conn, link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED); goto failed_to_send; } return; diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e5457c4..59032d6 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -60,7 +60,8 @@ } /*! BTS->MSC: tell MSC a SAPI was not established. */ -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, + uint8_t dlci, enum gsm0808_cause cause) { int rc; struct msgb *resp; @@ -68,8 +69,9 @@ if (!msc_connected(conn)) return; - LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); - resp = gsm0808_create_sapi_reject(dlci); + LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT (dlci=0x%02x, cause='%s')\n", + dlci, gsm0808_cause_name(cause)); + resp = gsm0808_create_sapi_reject_cause(dlci, cause); rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 86d8972..d999608 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -223,7 +223,7 @@ OSMO_ASSERT(0); } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 31d4b6f..78e8daf 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1794,7 +1794,7 @@ void trau_send_frame() {} int osmo_bsc_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } int osmo_bsc_sigtran_open_conn(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Gerrit-Change-Number: 19826 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 Aug 26 11:57:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 11:57:32 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Patch Set 1: Code-Review+2 I hope this showed up in our osmo-pcu test suite? If not, then it would be a good idea to add a test case. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 11:57: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 Aug 26 11:57:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 11:57:57 +0000 Subject: Change in osmo-bsc[master]: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19824 ) Change subject: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5f04f16caecb58a28e119512267999fdc18ff172 Gerrit-Change-Number: 19824 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 11:57: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 Aug 26 11:58:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 11:58:17 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19825 ) Change subject: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ce35c1e446b0dfdb5b01651466ccaafc23c9318 Gerrit-Change-Number: 19825 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 11:58: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 Aug 26 11:59:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 11:59:22 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19826 ) Change subject: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Gerrit-Change-Number: 19826 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 11:59:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 11:59:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 11:59:58 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Fix typo in log message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19823 ) Change subject: pcu_sock: Fix typo in log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63f0ba277318e254cfd9ad571899f3a45529ff16 Gerrit-Change-Number: 19823 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 11:59:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 12:00:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:00:04 +0000 Subject: Change in osmo-bts[master]: pcu_sock: Fix typo in log message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19823 ) Change subject: pcu_sock: Fix typo in log message ...................................................................... pcu_sock: Fix typo in log message Change-Id: I63f0ba277318e254cfd9ad571899f3a45529ff16 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 53822a2..aee42ea 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -672,7 +672,7 @@ struct gsm_bts_trx *trx; struct gsm_lchan *lchan; - LOGP(DPCU, LOGL_INFO, "%s request received: TRX=%d TX=%d\n", + LOGP(DPCU, LOGL_INFO, "%s request received: TRX=%d TS=%d\n", (act_req->activate) ? "Activate" : "Deactivate", act_req->trx_nr, act_req->ts_nr); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I63f0ba277318e254cfd9ad571899f3a45529ff16 Gerrit-Change-Number: 19823 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 12:00:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:00:32 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 12: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 Aug 26 12:00:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:00:38 +0000 Subject: Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 ) Change subject: gsm0808: add gsm0808_create_sapi_reject_cause() ...................................................................... gsm0808: add gsm0808_create_sapi_reject_cause() This is basically a successor of gsm0808_create_sapi_reject(), but instead of hard-coding GSM0808_CAUSE_BSS_NOT_EQUIPPED, it allows the caller to specify a cause value to be used. The old function is now deprecated and should not be used. Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Related: OS#4728 --- M TODO-RELEASE M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c 5 files changed, 19 insertions(+), 4 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..3c2a15b 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 +libosmogsm new API gsm0808_create_sapi_reject_cause() with cause argument diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 2a26fb5..20137da 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -60,7 +60,9 @@ struct msgb *gsm0808_create_classmark_request(); struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len, const uint8_t *cm3, uint8_t cm3_len); -struct msgb *gsm0808_create_sapi_reject(uint8_t link_id); +struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause); +struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) + OSMO_DEPRECATED("Use gsm0808_create_sapi_reject_cause() instead"); struct msgb *gsm0808_create_ass(const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index a1d567d..85f5cfc 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -444,8 +444,9 @@ /*! Create BSSMAP SAPI N Reject message * \param[in] link_id Link Identifier + * \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5) * \returns callee-allocated msgb with BSSMAP SAPI N Reject message */ -struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) +struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause) { struct msgb *msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM, "bssmap: sapi 'n' reject"); @@ -454,13 +455,23 @@ msgb_v_put(msg, BSS_MAP_MSG_SAPI_N_REJECT); msgb_tv_put(msg, GSM0808_IE_DLCI, link_id); - gsm0808_enc_cause(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + gsm0808_enc_cause(msg, cause); msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); return msg; } +/*! Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped"). + * DEPRECATED: use gsm0808_create_sapi_reject_cause() instead. + * \param[in] link_id Link Identifier + * \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5) + * \returns callee-allocated msgb with BSSMAP SAPI N Reject message */ +struct msgb *gsm0808_create_sapi_reject(uint8_t link_id) +{ + return gsm0808_create_sapi_reject_cause(link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED); +} + /*! Create BSSMAP Assignment Request message, 3GPP TS 48.008 ?3.2.1.1. * This is identical to gsm0808_create_ass(), but adds KC and LCLS IEs. * \param[in] ct Channel Type diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 713ffe3..4ece107 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -190,6 +190,7 @@ gsm0808_create_lcls_notification; gsm0808_create_reset; gsm0808_create_reset_ack; +gsm0808_create_sapi_reject_cause; gsm0808_create_sapi_reject; gsm0808_create_handover_required; gsm0808_create_handover_required_reject; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index 5c1a931..dd2ffbe 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -374,7 +374,7 @@ struct msgb *msg; printf("Testing creating SAPI Reject\n"); - msg = gsm0808_create_sapi_reject(3); + msg = gsm0808_create_sapi_reject_cause(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED); VERIFY(msg, res, ARRAY_SIZE(res)); msgb_free(msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Gerrit-Change-Number: 19820 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 12:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:00:51 +0000 Subject: Change in libosmocore[master]: ipa: Fix wrong output log formatting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19821 ) Change subject: ipa: Fix wrong output log formatting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc Gerrit-Change-Number: 19821 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 12:00: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 Aug 26 12:01:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:01:44 +0000 Subject: Change in osmo-bsc[master]: ctrl: Fix CTRL TRAP for {msc.X, msc_)connection_status not sent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19818 ) Change subject: ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 Gerrit-Change-Number: 19818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 12: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 Wed Aug 26 12:02:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 12:02:35 +0000 Subject: Change in libosmo-sccp[master]: Fix finding ASP on IPv6 connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 ) Change subject: Fix finding ASP on IPv6 connections ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 Gerrit-Change-Number: 19769 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 12: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 Wed Aug 26 12:09:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 12:09:16 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Patch Set 1: I created a ticket to add a test for it: https://osmocom.org/issues/4729 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 12:09: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 Wed Aug 26 12:09:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 12:09:19 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Fix recent typo preventing MS from registering Fixes: 0052051c07af63da98137c9f8e3b3119642eb587 Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 14d1a9d..d008d02 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -123,7 +123,7 @@ { rc = osmo_mobile_identity_decode(&mi_imsi, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI), true); - if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_TMSI) { + if (rc < 0 || mi_imsi.type != GSM_MI_TYPE_IMSI) { LOGP(DBSSGP, LOGL_NOTICE, "Failed to parse IMSI IE (rc=%d)\n", rc); return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 12:09:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 12:09:41 +0000 Subject: Change in osmo-bsc[master]: ctrl: Fix CTRL TRAP for {msc.X, msc_)connection_status not sent In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19818 ) Change subject: ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 Gerrit-Change-Number: 19818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 12:09: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 Aug 26 12:09:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 12:09:43 +0000 Subject: Change in osmo-bsc[master]: ctrl: Fix CTRL TRAP for {msc.X, msc_)connection_status not sent In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19818 ) Change subject: ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent ...................................................................... ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent The tx TRAP callback is triggered through a signal which is never sent in osmo-bsc code, and never was as far as I can tell going quite far in the logs. In the meanwhile, the msc_connection_status was left in favour of multi-msc msc.X.connection_status CTRL variable, so let's prepre the cb function to work for that onei too, dropping global variables which may lead to wrong output in multi-msc environments, and simply use msc->nr==0 for the old variable "msc_connection_status". The signal is now triggered in a_reset when the A conn becomes connected or disconnected. As a result, a user waiting for the disconnect event may notice that the status may be changed with a noticeable delay, since the A conn may be reset only due to high layer timeouts after several repeated failures (T4, BAD_CONNECTION_THRESOLD). Related: OS#2623 Related: OS#4701 Related: SYS#5046 Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 --- M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_ctrl.c 2 files changed, 20 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 713be86..9446d13 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -22,12 +22,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #define RESET_RESEND_INTERVAL 2 /* sec */ #define RESET_RESEND_TIMER_NO 4 /* See also 3GPP TS 48.008 Chapter 3.1.4.1.3.1 */ @@ -83,8 +85,10 @@ struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is down, reconnecting...\n"); - if (prev_state != ST_DISC) + if (prev_state != ST_DISC) { osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); + } } /* Connected state event handler */ @@ -116,8 +120,10 @@ struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is up.\n"); - if (prev_state != ST_CONN) + if (prev_state != ST_CONN) { osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); + osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); + } } /* Timer callback to retransmit the reset signal */ diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 5ebe597..05bc86c 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -195,7 +195,6 @@ /* Backwards compat. */ CTRL_CMD_DEFINE_RO(msc0_connection_status, "msc_connection_status"); -static int msc_connection_status = 0; /* XXX unused */ static int get_msc0_connection_status(struct ctrl_cmd *cmd, void *data) { @@ -214,13 +213,12 @@ { struct ctrl_cmd *cmd; struct gsm_network *gsmnet = (struct gsm_network *)handler_data; + struct bsc_msc_data *msc = (struct bsc_msc_data *)signal_data; - if (signal == S_MSC_LOST && msc_connection_status == 1) { + if (signal == S_MSC_LOST) { LOGP(DCTRL, LOGL_DEBUG, "MSC connection lost, sending TRAP.\n"); - msc_connection_status = 0; - } else if (signal == S_MSC_CONNECTED && msc_connection_status == 0) { + } else if (signal == S_MSC_CONNECTED) { LOGP(DCTRL, LOGL_DEBUG, "MSC connection (re)established, sending TRAP.\n"); - msc_connection_status = 1; } else { return 0; } @@ -232,12 +230,19 @@ } cmd->id = "0"; - cmd->variable = "msc_connection_status"; + cmd->variable = talloc_asprintf(cmd, "msc.%d.connection_status", msc->nr); + cmd->node = msc; - get_msc0_connection_status(cmd, NULL); + get_msc_connection_status(cmd, NULL); ctrl_cmd_send_to_all(gsmnet->ctrl, cmd); + if (msc->nr == 0) { + /* Backwards compat. */ + cmd->variable = "msc_connection_status"; + ctrl_cmd_send_to_all(gsmnet->ctrl, cmd); + } + talloc_free(cmd); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I645d198e8e1acd0aba09d05cb3ae90443946acf8 Gerrit-Change-Number: 19818 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 12:16:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 12:16:06 +0000 Subject: Change in osmo-pcu[master]: Fix recent typo preventing MS from registering In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19822 ) Change subject: Fix recent typo preventing MS from registering ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+2 > > I hope this showed up in our osmo-pcu test suite? If not, then it would be a good idea to add a test case. Build #564 (2 failures / ?0), lol. I would expect all test cases expecting SGSN-originated DL blocks to fail. But maybe we simply do not include IMSI? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbbf7340d78ef709ea00d527036533a14e9c21f9 Gerrit-Change-Number: 19822 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 12:16: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 Wed Aug 26 14:04:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 14:04:56 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if.adoc: Document RFMUTE TRXC command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 ) Change subject: trx_if.adoc: Document RFMUTE TRXC command ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 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: Id7031b52639f55d36d1589a786e0d29ebb5def53 Gerrit-Change-Number: 19829 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 14:04:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 14:08:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 14:08:10 +0000 Subject: Change in osmo-trx[master]: Add support for TRXC MUTE command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19828 ) Change subject: Add support for TRXC MUTE command ...................................................................... Patch Set 2: I'm happy to hear feedback on better ways to "mute" both RX and TX. This one seems to be working fine (I see the signal with an osmocom-bb motorola CXX phone dropping from -50 to -100dB whenever rf_locked 1 is applied to the TRX). -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I39983d026ad54c479aa224968e9491d01f30dc35 Gerrit-Change-Number: 19828 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 26 Aug 2020 14:08: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 Aug 26 15:06:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 15:06:04 +0000 Subject: Change in osmo-bts[master]: bts-trx: Ensure RFMUTE state is set properly at startup References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/19830 ) Change subject: bts-trx: Ensure RFMUTE state is set properly at startup ...................................................................... bts-trx: Ensure RFMUTE state is set properly at startup In general, it is always set to 1 (Locked) in st_open_poweroff_on_enter() right after initial POWEROFF, and once the BSC unlocks it (based on VTY cfg "rf_locked (0|1)") by sending an OML message, the bts_model_chg_adm_state() call will update it sending RFMUTE. This basically fixes the case where osmo-bsc.cfg is configured with "rf_locked 1" to start with a TRX locked until manually unlocked. Related: SYS#4920 Change-Id: I96b64cdc901d6f216df628d7be57a67af4a21e25 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/trx_provision_fsm.c 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/30/19830/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index f3661f1..58fc236 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -649,9 +649,13 @@ l1h = pinst->u.osmotrx.hdl; /* Begin to ramp the power if TRX is already running. Otherwise - * skip, power ramping will be started after TRX is running */ - if (!pinst->phy_link->u.osmotrx.powered) + * skip, power ramping will be started after TRX is running. + * We still want to make sure to update RFMUTE status on the + * other side. */ + if (!pinst->phy_link->u.osmotrx.powered) { + trx_if_cmd_rfmute(l1h, adm_state != NM_STATE_UNLOCKED); break; + } if (mo->procedure_pending) { LOGPTRX(trx, DL1C, LOGL_INFO, diff --git a/src/osmo-bts-trx/trx_provision_fsm.c b/src/osmo-bts-trx/trx_provision_fsm.c index f075e98..c5c19ac 100644 --- a/src/osmo-bts-trx/trx_provision_fsm.c +++ b/src/osmo-bts-trx/trx_provision_fsm.c @@ -275,6 +275,9 @@ struct phy_instance *pinst = l1h->phy_inst; l1h->config.trxd_hdr_ver_req = pinst->phy_link->u.osmotrx.trxd_hdr_ver_max; + + /* Apply initial RFMUTE state */ + trx_if_cmd_rfmute(l1h, pinst->trx->mo.nm_state.administrative != NM_STATE_UNLOCKED); } static void st_open_poweroff(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I96b64cdc901d6f216df628d7be57a67af4a21e25 Gerrit-Change-Number: 19830 Gerrit-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 Aug 26 15:06:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 15:06:11 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 15:06:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:54:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:54:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: configure cbc per f_vty_transceive, not osmo-bsc.cfg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 ) Change subject: BSC CBSP: configure cbc per f_vty_transceive, not osmo-bsc.cfg ...................................................................... BSC CBSP: configure cbc per f_vty_transceive, not osmo-bsc.cfg since Icf901848e666f079d14450962f0a1d74b0996c56, osmo-bsc no longer allows configuring CBSP as both server and client at the same time. Remove the 'cbc' section from osmo-bsc.cfg, and instead configure the CBSP link as client or as server via f_vty_transceive(). This requires the 'cbc' / 'restart' command, added in osmo-bsc I5724369527cf38bd7b82f3db5e2b44254d22f8d5 Related: Icf901848e666f079d14450962f0a1d74b0996c56 (osmo-bsc) Related: I5724369527cf38bd7b82f3db5e2b44254d22f8d5 (osmo-bsc) Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 --- M bsc/BSC_Tests_CBSP.ttcn M bsc/osmo-bsc.cfg 2 files changed, 30 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/19831/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 498f484..11599e3 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -37,6 +37,9 @@ import from CBSP_Adapter all; import from CBSP_CodecPort all; +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + modulepar { charstring mp_cbc_ip := "0.0.0.0"; integer mp_cbc_port := 48049; @@ -102,6 +105,28 @@ } } +private function f_vty_configure_osmo_bsc_as_cbsp_client(TELNETasp_PT pt) { + f_vty_enter_config(pt); + f_vty_transceive(pt, "cbc"); + f_vty_transceive(pt, "no listen-port"); + f_vty_transceive(pt, "remote-ip " & mp_test_ip); + f_vty_transceive(pt, "remote-port " & int2str(mp_cbc_port)); + f_vty_transceive(pt, "restart", strict := false); /* (at time of writing, 'restart' is not yet in latest) */ + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); +} + +private function f_vty_configure_osmo_bsc_as_cbsp_server(TELNETasp_PT pt) { + f_vty_enter_config(pt); + f_vty_transceive(pt, "cbc"); + f_vty_transceive(pt, "no remote-ip"); + f_vty_transceive(pt, "listen-ip " & mp_bsc_ip); + f_vty_transceive(pt, "listen-port " & int2str(mp_bsc_cbsp_port)); + f_vty_transceive(pt, "restart", strict := false); /* (at time of writing, 'restart' is not yet in latest) */ + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); +} + private function f_init(float guard_timeout := 30.0) runs on cbsp_test_CT { BSC_Tests.f_init(guard_timeout := guard_timeout); activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, @@ -111,9 +136,9 @@ } private function f_cbsp_init_client() runs on cbsp_test_CT { f_init(); + f_vty_configure_osmo_bsc_as_cbsp_server(BSCVTY); CBSP_Adapter.f_connect(mp_bsc_ip, mp_bsc_cbsp_port, "", -1); - /* FIXME: osmo-bsc should probably still send a CBSP RESTART, but to get the current tests running, let's first - * ignore this aspect */ + CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_CBS, ?))); setverdict(pass); } @@ -122,6 +147,9 @@ timer T := 10.0; f_init(guard_timeout := guard_timeout); + + f_vty_configure_osmo_bsc_as_cbsp_client(BSCVTY); + CBSP_Adapter.f_bind(mp_cbc_ip, mp_cbc_port); T.start; diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index f8be2cd..6a7c31a 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -423,7 +423,3 @@ no missing-msc-text ctrl bind 127.0.0.1 -cbc - remote-ip 127.0.0.1 - remote-port 48049 - listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:24 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:24 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: tweak VTY doc strings References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19832 ) Change subject: CBC VTY: tweak VTY doc strings ...................................................................... CBC VTY: tweak VTY doc strings Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb --- M src/osmo-bsc/cbsp_link.c 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/19832/1 diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index d93bd1a..6a0884e 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -301,10 +301,11 @@ return CMD_SUCCESS; } +#define CBSP_REMOTE "Configure OsmoBSC as CBSP client towards a Cell Broadcast Centre (outbound TCP connection)\n" + DEFUN(cfg_cbc_remote_ip, cfg_cbc_remote_ip_cmd, "remote-ip A.B.C.D", - "IP Address of the Cell Broadcast Centre\n" - "IP Address of the Cell Broadcast Centre\n") + CBSP_REMOTE "IP Address of the Cell Broadcast Centre\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); @@ -312,7 +313,7 @@ } DEFUN(cfg_cbc_no_remote_ip, cfg_cbc_no_remote_ip_cmd, "no remote-ip", - NO_STR "Remove IP address of CBC; disables outbound CBSP connections\n") + NO_STR "Disable the CBSP client mode, disable outbound CBSP connections\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); talloc_free(cbc->config.cbc_hostname); @@ -322,17 +323,19 @@ DEFUN(cfg_cbc_remote_port, cfg_cbc_remote_port_cmd, "remote-port <1-65535>", - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n" - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n") + CBSP_REMOTE + "TCP Port number of the remote Cell Broadcast Centre (Default: 48049)\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); cbc->config.cbc_port = atoi(argv[0]); return CMD_SUCCESS; } +#define CBSP_LISTEN "Configure OsmoBSC as CBSP server towards a Cell Broadcast Centre (inbound TCP connection)\n" + DEFUN(cfg_cbc_listen_port, cfg_cbc_listen_port_cmd, "listen-port <1-65535>", - "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n" + CBSP_LISTEN "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); @@ -350,8 +353,8 @@ DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, "listen-ip A.B.C.D", - "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n" - "Local IP Address where BSC listens for incoming CBC connections\n") + CBSP_LISTEN + "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb Gerrit-Change-Number: 19832 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:25 +0000 Subject: Change in osmo-bsc[master]: cbsp_link.c: disable server with listen_port = 0, not -1 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19833 ) Change subject: cbsp_link.c: disable server with listen_port = 0, not -1 ...................................................................... cbsp_link.c: disable server with listen_port = 0, not -1 smscb.h defines listen_port as "0 for disabling local server", so rather conform to that. That also allows using uint16_t for port numbers. Change-Id: Ibe743fb17f0bde22004932076d45a6ba929ac565 --- M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/19833/1 diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 22eba50..4dfe868 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -131,8 +131,8 @@ net->cbc->net = net; /* no cbc_hostname: client not started by default */ net->cbc->config.cbc_port = CBSP_TCP_PORT; - /* listen_port == -1: server not started by default */ - net->cbc->config.listen_port = -1; + /* listen_port == 0: server not started by default */ + net->cbc->config.listen_port = 0; net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); return net; diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index 6a0884e..bf9d853 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -203,7 +203,7 @@ } /* shut down server, if no longer configured */ - if (cbc->config.listen_port == -1) { + if (!cbc->config.listen_port) { if (cbc->server.srv || cbc->server.link) LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP server\n"); if (cbc->server.srv) { @@ -236,7 +236,7 @@ } /* start server, if configured */ - if (cbc->config.listen_port != -1) { + if (cbc->config.listen_port > 0) { LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (bound to %s:%u)\n", cbc->config.listen_hostname, cbc->config.listen_port); if (!cbc->server.link) { @@ -347,7 +347,7 @@ NO_STR "Remove CBSP Listen Port; disables inbound CBSP connections\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.listen_port = -1; + cbc->config.listen_port = 0; return CMD_SUCCESS; } @@ -402,7 +402,7 @@ vty_out(vty, "CBSP Client Connection: %s%s", cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); } - if (cbc->config.listen_port < 0) + if (!cbc->config.listen_port) vty_out(vty, "CBSP Server Config: Disabled%s\n", VTY_NEWLINE); else { vty_out(vty, "CBSP Server Config: Listen IP=%s, Port=%u%s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe743fb17f0bde22004932076d45a6ba929ac565 Gerrit-Change-Number: 19833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:25 +0000 Subject: Change in osmo-bsc[master]: smscb.h: use uint16_t for port numbers References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19834 ) Change subject: smscb.h: use uint16_t for port numbers ...................................................................... smscb.h: use uint16_t for port numbers Change-Id: I05b77fa818d83c97df6fbb7504b80c36d607481b --- M include/osmocom/bsc/smscb.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/19834/1 diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index 22a258d..7e1d677 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -34,9 +34,9 @@ /* hostname/IP of CBC */ char *cbc_hostname; /* TCP port (Default: 48049) of CBC */ - int cbc_port; + uint16_t cbc_port; /* local listening port (0 for disabling local server) */ - int listen_port; + uint16_t listen_port; /* local listening hostname/IP */ char *listen_hostname; } config; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I05b77fa818d83c97df6fbb7504b80c36d607481b Gerrit-Change-Number: 19834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:26 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19835 ) Change subject: CBC VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 ...................................................................... CBC VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 See bsc_network_init() in bsc_init.c. Change-Id: If439729a97104019d7088f26cf741e156b14cba7 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/19835/1 diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index bf9d853..33f2e11 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -354,7 +354,7 @@ DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, "listen-ip A.B.C.D", CBSP_LISTEN - "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n") + "Local IP Address where BSC listens for incoming CBC connections (Default: 127.0.0.1)\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If439729a97104019d7088f26cf741e156b14cba7 Gerrit-Change-Number: 19835 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:27 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: make CBSP server and client mutually exclusive References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19836 ) Change subject: CBC VTY: make CBSP server and client mutually exclusive ...................................................................... CBC VTY: make CBSP server and client mutually exclusive Do not allow osmo-bsc to be configured as CBC client *and* CBC server at the same time. This patch will break all BSC_Tests_CBSP, until the 'cbc' section in osmo-bsc.cfg is removed, and until the patch to apply the CBC config via f_vty_transceive is applied. See I7eea0dd39de50ed80af79e0f10c836b8685d8644 in osmo-ttcn3-hacks. Rationale: cbsp_link.c expects at most one CBSP link to be established, and, upon sending CBSP messages, probes whether to send the message to a CBSP server or client link. When both listen-port and remote-ip are configured (regardless of an actual CBSP connection), osmo-bsc gets confused about where to send CBSP messages. One solution would be more accurate probing for an actual established TCP connection. But the simpler and less confusing solution is to force the user to configure only server or only client mode, never both. Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: OS#4702 Change-Id: Icf901848e666f079d14450962f0a1d74b0996c56 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/19836/1 diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index 33f2e11..d6e688e 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -308,6 +308,14 @@ CBSP_REMOTE "IP Address of the Cell Broadcast Centre\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + if (cbc->config.listen_port > 0) { + vty_out(vty, "%% Error: CBC server and CBC client cannot be enabled at the same time.%s" + "%% To set a 'cbc' / 'remote-ip', first set 'cbc' / 'no listen-port'.%s", + VTY_NEWLINE, VTY_NEWLINE); + return CMD_WARNING; + } + osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); return CMD_SUCCESS; } @@ -339,6 +347,14 @@ "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + if (cbc->config.cbc_hostname) { + vty_out(vty, "%% Error: CBC server and CBC client cannot be enabled at the same time.%s" + "%% To set a 'cbc' / 'listen-port', first set 'cbc' / 'no remote-ip'.%s", + VTY_NEWLINE, VTY_NEWLINE); + return CMD_WARNING; + } + cbc->config.listen_port = atoi(argv[0]); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icf901848e666f079d14450962f0a1d74b0996c56 Gerrit-Change-Number: 19836 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:27 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: add 'cbc' / 'restart' command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19837 ) Change subject: CBSP VTY: add 'cbc' / 'restart' command ...................................................................... CBSP VTY: add 'cbc' / 'restart' command To change between CBC server and client modes, the ttcn3-bsc-tests suite must be able to restart the CBSP link in a running osmo-bsc. I first considered doing that by the 'remote-ip' (client) and 'listen-port' (server) commands, but since those also have a remote-port and listen-ip setting to go with those, it is better to explicitly restart. Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Change-Id: I5724369527cf38bd7b82f3db5e2b44254d22f8d5 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/19837/1 diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index d6e688e..034f7b4 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -377,6 +377,17 @@ return CMD_SUCCESS; } +DEFUN(cfg_cbc_restart, cfg_cbc_restart_cmd, + "restart", + "Restart the CBSP link, so that configuration on the 'cbc' node takes effect.\n") +{ + if (bsc_cbc_link_restart()) { + vty_out(vty, "%% Error restarting CBSP link%s", VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + static struct cmd_node cbc_node = { CBC_NODE, "%s(config-cbc)# ", @@ -440,4 +451,5 @@ install_element(CBC_NODE, &cfg_cbc_listen_port_cmd); install_element(CBC_NODE, &cfg_cbc_no_listen_port_cmd); install_element(CBC_NODE, &cfg_cbc_listen_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_restart_cmd); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5724369527cf38bd7b82f3db5e2b44254d22f8d5 Gerrit-Change-Number: 19837 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 15:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 26 Aug 2020 15:56:27 +0000 Subject: Change in osmo-bsc[master]: smscb.h: clarify some api doc of struct bsc_cbc_link References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19838 ) Change subject: smscb.h: clarify some api doc of struct bsc_cbc_link ...................................................................... smscb.h: clarify some api doc of struct bsc_cbc_link Change-Id: I28b76d36a9aeec9723115a86fbebe45acf3e13a9 --- M include/osmocom/bsc/smscb.h 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/19838/1 diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index 7e1d677..1828399 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -31,13 +31,13 @@ struct bsc_cbc_link { struct gsm_network *net; struct { - /* hostname/IP of CBC */ + /* OsmoBSC as CBSP client: outbound hostname/IP of CBC */ char *cbc_hostname; - /* TCP port (Default: 48049) of CBC */ + /* OsmoBSC as CBSP client: outbound TCP port (Default: 48049) of CBC */ uint16_t cbc_port; - /* local listening port (0 for disabling local server) */ + /* OsmoBSC as CBSP server: inbound local listening port (0 for disabling local server) */ uint16_t listen_port; - /* local listening hostname/IP */ + /* OsmoBSC as CBSP server: inbound local listening hostname/IP */ char *listen_hostname; } config; /* for handling inbound TCP connections */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I28b76d36a9aeec9723115a86fbebe45acf3e13a9 Gerrit-Change-Number: 19838 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 16:15:51 +0000 Subject: Change in osmocom-bb[master]: fake_trx: Implement RFMUTE TRXC cmd References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19839 ) Change subject: fake_trx: Implement RFMUTE TRXC cmd ...................................................................... fake_trx: Implement RFMUTE TRXC cmd Change-Id: I67d16858cd70cb0527c1da77bd3787d5e53100b4 --- M src/target/trx_toolkit/burst_fwd.py M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/fake_trx.py 4 files changed, 20 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/39/19839/1 diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py index dbaded6..0b69fe2 100644 --- a/src/target/trx_toolkit/burst_fwd.py +++ b/src/target/trx_toolkit/burst_fwd.py @@ -50,6 +50,10 @@ # so let's precalculate its Tx frequency in advance tx_freq = src_trx.get_tx_freq(rx_msg.fn) + if src_trx.rf_muted: + del rx_msg.burst # burst bits are omited + rx_msg.burst = None + # Iterate over all known transceivers for trx in self.trx_list: if trx == src_trx: diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index 0e5106a..ea08e7e 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -251,6 +251,13 @@ log.debug("(%s) Recv NOMTXPOWER cmd" % self.trx) return (0, [str(self.trx.tx_power_base)]) + # Lock/Unlock RF emission+reception + if self.verify_cmd(request, "RFMUTE", 1): + log.debug("(%s) Recv RFMUTE cmd" % self.trx) + # Parse the requested RFMUTE state (1=locked, 0=unlocked) + self.trx.rf_muted = int(request[1]) > 0 + return 0 + # Wrong / unknown command else: # We don't care about other commands, diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 88376ed..86670fc 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -413,6 +413,8 @@ # Convert burst bits if self.burst is not None: msg.burst = self.ubit2sbit(self.burst) + else: + msg.nope_ind = True return msg diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index ded8dc4..6f46473 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -125,6 +125,8 @@ # When disabled, RSSI is calculated based on Tx power and Rx path loss self.fake_rssi_enabled = False + self.rf_muted = False + # Actual ToA, RSSI, C/I, TA values self.tx_power_base = self.NOMINAL_TX_POWER_DEFAULT self.tx_att_base = self.TX_ATT_DEFAULT @@ -215,8 +217,11 @@ # simulates RF path parameters (such as RSSI), # and sends towards the L1 def handle_data_msg(self, src_trx, src_msg, msg): - # Path loss simulation - msg.nope_ind = self.sim_burst_drop(msg) + if self.rf_muted: + msg.nope_ind = True + elif not msg.nope_ind: + # Path loss simulation + msg.nope_ind = self.sim_burst_drop(msg) if msg.nope_ind: # Before TRXDv1, we simply drop the message if msg.ver < 0x01: -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I67d16858cd70cb0527c1da77bd3787d5e53100b4 Gerrit-Change-Number: 19839 Gerrit-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 Aug 26 16:29:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 16:29:54 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: tweak VTY doc strings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19832 ) Change subject: CBC VTY: tweak VTY doc strings ...................................................................... Patch Set 1: Code-Review+1 TBH, I find the VTY cmds for this section a bit weird (I know it's not directly related to this commit). IMHO there should be a "local-ip" and "remote-ip" which can always be set. First is used to bind (+listen on server mode), second to connect (or to limit who connects to it in server mode). Same goes for "port", which should be "local-port". There should then be a separate cmd to configure the service to be either a server or a client. With the way it is done right now, it seems that if one uses it as a client, it is impossible to bind to a specific address. That being said, OK with this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb Gerrit-Change-Number: 19832 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 16:29:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 16:35:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 16:35:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... Patch Set 2: These patches can be merged today, since ttcn3 tests went well last night. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 16: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 Aug 26 16:36:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 16:36:36 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Patch Set 2: These patches can be already merged, since all OBS/ttcn3 issues from libosmocore and libosmo-netif have been solved. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Aug 2020 16:36: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 Aug 26 18:11:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 18:11:33 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_get_macaddr(): return -1 if no device is found References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19840 ) Change subject: macaddr: fix osmo_get_macaddr(): return -1 if no device is found ...................................................................... macaddr: fix osmo_get_macaddr(): return -1 if no device is found Change-Id: I74d33159485ec1f7f09b444621a2d1941c3dd4db --- M src/macaddr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/19840/1 diff --git a/src/macaddr.c b/src/macaddr.c index de9d07a..a9138f8 100644 --- a/src/macaddr.c +++ b/src/macaddr.c @@ -102,7 +102,7 @@ } freeifaddrs(ifaddr); - return 0; + return rc; } #else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I74d33159485ec1f7f09b444621a2d1941c3dd4db Gerrit-Change-Number: 19840 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 Aug 26 18:11:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Aug 2020 18:11:33 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_macaddr_parse(): return meaningful error codes References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19841 ) Change subject: macaddr: fix osmo_macaddr_parse(): return meaningful error codes ...................................................................... macaddr: fix osmo_macaddr_parse(): return meaningful error codes Change-Id: I316deb83979198acc26721d29708d9942174b192 --- M src/macaddr.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/19841/1 diff --git a/src/macaddr.c b/src/macaddr.c index a9138f8..56fdf86 100644 --- a/src/macaddr.c +++ b/src/macaddr.c @@ -34,6 +34,7 @@ #include #include #include +#include /*! Parse a MAC address from human-readable notation * This function parses an ethernet MAC address in the commonly-used @@ -77,11 +78,11 @@ */ int osmo_get_macaddr(uint8_t *mac_out, const char *dev_name) { - int rc = -1; struct ifaddrs *ifa, *ifaddr; + int rc = -ENODEV; if (getifaddrs(&ifaddr) != 0) - return -1; + return -errno; for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { struct sockaddr_dl *sdl; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I316deb83979198acc26721d29708d9942174b192 Gerrit-Change-Number: 19841 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 Aug 26 18:12:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 18:12:46 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_get_macaddr(): return -1 if no device is found In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19840 ) Change subject: macaddr: fix osmo_get_macaddr(): return -1 if no device is found ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I74d33159485ec1f7f09b444621a2d1941c3dd4db Gerrit-Change-Number: 19840 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 18:12:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 18:13:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Aug 2020 18:13:11 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_macaddr_parse(): return meaningful error codes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19841 ) Change subject: macaddr: fix osmo_macaddr_parse(): return meaningful error codes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I316deb83979198acc26721d29708d9942174b192 Gerrit-Change-Number: 19841 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 26 Aug 2020 18:13: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 Aug 26 19:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 19:05:57 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19826 ) Change subject: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Gerrit-Change-Number: 19826 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 26 Aug 2020 19:05:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 26 19:05:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 19:05:59 +0000 Subject: Change in osmo-bsc[master]: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19824 ) Change subject: fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t ...................................................................... fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t Change-Id: I5f04f16caecb58a28e119512267999fdc18ff172 --- M include/osmocom/bsc/gsm_08_08.h M src/osmo-bsc/gsm_08_08.c M tests/bsc/bsc_test.c M tests/handover/handover_test.c 4 files changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_08_08.h b/include/osmocom/bsc/gsm_08_08.h index b46a8d3..e55bf2c 100644 --- a/include/osmocom/bsc/gsm_08_08.h +++ b/include/osmocom/bsc/gsm_08_08.h @@ -6,7 +6,7 @@ struct gsm_subscriber_connection; -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci); +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci); void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr); int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel); void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg); diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e7ef728..e5457c4 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -60,7 +60,7 @@ } /*! BTS->MSC: tell MSC a SAPI was not established. */ -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) { int rc; struct msgb *resp; diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index dd2b1bb..86d8972 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -223,7 +223,7 @@ OSMO_ASSERT(0); } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6fb145e..31d4b6f 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1794,7 +1794,7 @@ void trau_send_frame() {} int osmo_bsc_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } int osmo_bsc_sigtran_open_conn(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5f04f16caecb58a28e119512267999fdc18ff172 Gerrit-Change-Number: 19824 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 Wed Aug 26 19:06:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 19:06:00 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19825 ) Change subject: bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() ...................................................................... bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() Change-Id: I9ce35c1e446b0dfdb5b01651466ccaafc23c9318 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 22aa70a..4f559fe 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1026,8 +1026,10 @@ * fire after a lchan_release call and before the S_CHALLOC_FREED * is called. Check if a conn is set before proceeding. */ - if (!lchan->conn) + if (!lchan->conn) { + msgb_free(msg); return; + } switch (rllr_ind) { case BSC_RLLR_IND_EST_CONF: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ce35c1e446b0dfdb5b01651466ccaafc23c9318 Gerrit-Change-Number: 19825 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 Wed Aug 26 19:06:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 26 Aug 2020 19:06:00 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19826 ) Change subject: bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT ...................................................................... bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT As 3GPP TS 48.058 clearly states, an RLL RELease INDication is only sent if the datalink is released by the MS. Thre's no cause value giving further diagnostics, but if the MS releases the link, it is clearly not the BSS's fault, and hence "BSS not equipped" is wrong. Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Related: OS#4728 --- M include/osmocom/bsc/gsm_08_08.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M tests/bsc/bsc_test.c M tests/handover/handover_test.c 5 files changed, 15 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_08_08.h b/include/osmocom/bsc/gsm_08_08.h index e55bf2c..80da297 100644 --- a/include/osmocom/bsc/gsm_08_08.h +++ b/include/osmocom/bsc/gsm_08_08.h @@ -6,7 +6,7 @@ struct gsm_subscriber_connection; -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci); +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause); void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr); int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel); void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg); diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 4f559fe..6871c4c 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1036,9 +1036,14 @@ rsl_data_request(msg, OBSC_LINKID_CB(msg)); break; case BSC_RLLR_IND_REL_IND: + bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg), + GSM0808_CAUSE_MS_NOT_EQUIPPED); + msgb_free(msg); + break; case BSC_RLLR_IND_ERR_IND: case BSC_RLLR_IND_TIMEOUT: - bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg)); + bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg), + GSM0808_CAUSE_BSS_NOT_EQUIPPED); msgb_free(msg); break; } @@ -1078,7 +1083,7 @@ rc = rll_establish(msg->lchan, sapi, rll_ind_cb, msg); if (rc) { msgb_free(msg); - bsc_sapi_n_reject(conn, link_id); + bsc_sapi_n_reject(conn, link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED); goto failed_to_send; } return; diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e5457c4..59032d6 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -60,7 +60,8 @@ } /*! BTS->MSC: tell MSC a SAPI was not established. */ -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, + uint8_t dlci, enum gsm0808_cause cause) { int rc; struct msgb *resp; @@ -68,8 +69,9 @@ if (!msc_connected(conn)) return; - LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); - resp = gsm0808_create_sapi_reject(dlci); + LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT (dlci=0x%02x, cause='%s')\n", + dlci, gsm0808_cause_name(cause)); + resp = gsm0808_create_sapi_reject_cause(dlci, cause); rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 86d8972..d999608 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -223,7 +223,7 @@ OSMO_ASSERT(0); } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 31d4b6f..78e8daf 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1794,7 +1794,7 @@ void trau_send_frame() {} int osmo_bsc_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } int osmo_bsc_sigtran_open_conn(struct gsm_subscriber_connection *conn, struct msgb *msg) { return 0; } -void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci) {} +void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, uint8_t dlci, enum gsm0808_cause cause) {} void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr) {} int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Gerrit-Change-Number: 19826 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 admin at opensuse.org Thu Aug 27 01:36:33 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Aug 2020 01:36:33 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f470e36a0767_6a032aad0a3625f4104739@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: [ 127s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 127s] [COMPILING libboard/qmod/source/card_pres.c] [ 127s] [COMPILING libboard/qmod/source/wwan_led.c] [ 127s] [COMPILING libboard/qmod/source/i2c.c] [ 127s] [COMPILING libboard/qmod/source/board_qmod.c] [ 128s] [COMPILING apps/dfu/main.c] [ 128s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 128s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 128s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 128s] Memory region Used Size Region Size %age Used [ 128s] rom: 16588 B 16 KB 101.25% [ 128s] 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' [ 128s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 128s] collect2: error: ld returned 1 exit status [ 128s] % [ 128s] make[2]: *** [Makefile:234: flash] Error 1 [ 128s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 128s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 128s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 128s] dh_auto_build: error: make -j1 returned exit code 2 [ 128s] make: *** [debian/rules:16: build] Error 25 [ 128s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 128s] ### VM INTERACTION START ### [ 131s] [ 123.683185] sysrq: Power Off [ 131s] [ 123.685389] reboot: Power down [ 131s] ### VM INTERACTION END ### [ 131s] [ 131s] old-atreju1 failed "build simtrace2_0.7.0.63.39070.dsc" at Thu Aug 27 01:36:30 UTC 2020. [ 131s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 27 01:39:25 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Aug 2020 01:39:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5f470ee6e179c_6a032aad0a3625f41049f0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/i586 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 265s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 265s] ^ [ 265s] ipc-driver-test.c:473:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 265s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 265s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 265s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 265s] Makefile:421: recipe for target 'all-recursive' failed [ 265s] make[4]: *** [all-recursive] Error 1 [ 265s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 265s] Makefile:828: recipe for target 'all-recursive' failed [ 265s] make[3]: *** [all-recursive] Error 1 [ 265s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 265s] Makefile:507: recipe for target 'all-recursive' failed [ 265s] make[2]: *** [all-recursive] Error 1 [ 265s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 265s] Makefile:437: recipe for target 'all' failed [ 265s] make[1]: *** [all] Error 2 [ 265s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 265s] dh_auto_build: make -j1 returned exit code 2 [ 265s] debian/rules:6: recipe for target 'build' failed [ 265s] make: *** [build] Error 2 [ 265s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 265s] ### VM INTERACTION START ### [ 266s] Powering off. [ 266s] [ 257.776924] reboot: Power down [ 266s] ### VM INTERACTION END ### [ 266s] [ 266s] lamb60 failed "build osmo-trx_1.2.0.78.20b7.dsc" at Thu Aug 27 01:39:08 UTC 2020. [ 266s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Aug 27 01:40:51 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Aug 2020 01:40:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8 in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5f470f267d3e5_6a032aad0a3625f410511b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-trx-debian8 failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8 Last lines of build log: [ 196s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 196s] ^ [ 196s] ipc-driver-test.c:473:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 196s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 196s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 [ 196s] make[5]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device/ipc' [ 196s] Makefile:421: recipe for target 'all-recursive' failed [ 196s] make[4]: *** [all-recursive] Error 1 [ 196s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M/device' [ 196s] Makefile:828: recipe for target 'all-recursive' failed [ 196s] make[3]: *** [all-recursive] Error 1 [ 196s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 196s] Makefile:507: recipe for target 'all-recursive' failed [ 196s] make[2]: *** [all-recursive] Error 1 [ 196s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 196s] Makefile:437: recipe for target 'all' failed [ 196s] make[1]: *** [all] Error 2 [ 196s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 196s] dh_auto_build: make -j1 returned exit code 2 [ 196s] debian/rules:6: recipe for target 'build' failed [ 196s] make: *** [build] Error 2 [ 196s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 196s] ### VM INTERACTION START ### [ 197s] Powering off. [ 197s] [ 191.679005] reboot: Power down [ 198s] ### VM INTERACTION END ### [ 198s] [ 198s] sheep88 failed "build osmo-trx_1.2.0.78.20b7.dsc" at Thu Aug 27 01:40:48 UTC 2020. [ 198s] -- 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 Aug 27 08:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:09:31 +0000 Subject: Change in osmo-trx[master]: Fix build on Debian8 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/19842 ) Change subject: Fix build on Debian8 ...................................................................... Fix build on Debian8 We cannot use C99 or higher features in C code! Last lines of build log: [ 265s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 265s] ^ [ 265s] ipc-driver-test.c:473:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 265s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 265s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 Change-Id: I80c9cbd77f1cdf323ad2b492de7e9a177840c383 --- M Transceiver52M/device/ipc/ipc-driver-test.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/42/19842/1 diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c index 2b006f0..44c8b0e 100644 --- a/Transceiver52M/device/ipc/ipc-driver-test.c +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -469,9 +469,11 @@ while (!ipc_exit_requested) osmo_select_main(0); - if (global_dev) - for (unsigned int i = 0; i < decoded_region->num_chans; i++) + if (global_dev) { + unsigned int i; + for (i = 0; i < decoded_region->num_chans; i++) uhdwrap_stop(global_dev, i); + } ipc_sock_close(global_ipc_sock_state); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I80c9cbd77f1cdf323ad2b492de7e9a177840c383 Gerrit-Change-Number: 19842 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 Aug 27 08:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:10:34 +0000 Subject: Change in osmo-trx[master]: Fix build on Debian8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19842 ) Change subject: Fix build on Debian8 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I80c9cbd77f1cdf323ad2b492de7e9a177840c383 Gerrit-Change-Number: 19842 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 27 Aug 2020 08:10: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 Aug 27 08:10:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:10:48 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_macaddr_parse(): return meaningful error codes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19841 ) Change subject: macaddr: fix osmo_macaddr_parse(): return meaningful error codes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I316deb83979198acc26721d29708d9942174b192 Gerrit-Change-Number: 19841 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 08:10:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 08:11:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:11:00 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_get_macaddr(): return -1 if no device is found In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19840 ) Change subject: macaddr: fix osmo_get_macaddr(): return -1 if no device is found ...................................................................... macaddr: fix osmo_get_macaddr(): return -1 if no device is found Change-Id: I74d33159485ec1f7f09b444621a2d1941c3dd4db --- M src/macaddr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/macaddr.c b/src/macaddr.c index de9d07a..a9138f8 100644 --- a/src/macaddr.c +++ b/src/macaddr.c @@ -102,7 +102,7 @@ } freeifaddrs(ifaddr); - return 0; + return rc; } #else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I74d33159485ec1f7f09b444621a2d1941c3dd4db Gerrit-Change-Number: 19840 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 Thu Aug 27 08:11:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:11:00 +0000 Subject: Change in libosmocore[master]: macaddr: fix osmo_macaddr_parse(): return meaningful error codes In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19841 ) Change subject: macaddr: fix osmo_macaddr_parse(): return meaningful error codes ...................................................................... macaddr: fix osmo_macaddr_parse(): return meaningful error codes Change-Id: I316deb83979198acc26721d29708d9942174b192 --- M src/macaddr.c 1 file changed, 3 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/src/macaddr.c b/src/macaddr.c index a9138f8..56fdf86 100644 --- a/src/macaddr.c +++ b/src/macaddr.c @@ -34,6 +34,7 @@ #include #include #include +#include /*! Parse a MAC address from human-readable notation * This function parses an ethernet MAC address in the commonly-used @@ -77,11 +78,11 @@ */ int osmo_get_macaddr(uint8_t *mac_out, const char *dev_name) { - int rc = -1; struct ifaddrs *ifa, *ifaddr; + int rc = -ENODEV; if (getifaddrs(&ifaddr) != 0) - return -1; + return -errno; for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { struct sockaddr_dl *sdl; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I316deb83979198acc26721d29708d9942174b192 Gerrit-Change-Number: 19841 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 Thu Aug 27 08:11:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:11:34 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 08: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 Thu Aug 27 08:11:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:11:38 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... Introduce SS7 IPv6 support In osmo_ss7_vty_go_parent, "127.0.0.1" is changed to "localhost" to let local NSS decide whether to use IPv4 or IPv6. In newish systems, IPv6 ::1 will be selected since IPv6 takes precedence over IPv4. Similarly, the default source addr needs to be changed from NULL to "localhost" since for some yet unknwon reason, getaddrinfo(AF_UNSPEC, NULL) returns first IPv4 "0.0.0.0" and later "::", which is inconsistent with getaddrinfo("localhost") result, resulting in src=IPv4(0.0.0.0) and dst=IPv6(::1), which is incompatible and will fail. In any case, this change doesn't affect users of osmo_sccp_simple_client because the APIs set both src and dst addresses. Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Depends: libosmo-netif.git Change-Id Ie6bb17a9af6ca21d5e350f9c9d2d74c97c5a00af --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 38 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 5b0c84f..64874da 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,3 +20,4 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 + local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index e904469..ff8103a 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,16 +1741,18 @@ - + - + + - + - + + @@ -1787,10 +1789,11 @@ config-cs7-listen - + - + + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 9c31c00..fad93f5 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,9 +470,10 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Configure the Local IP Address for xUA\n" - "IP Address to use for XUA\n") + "IPv4 Address to use for XUA\n" + "IPv6 Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -623,9 +624,10 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Specify Local IP Address from which to contact ASP\n" - "Local IP Address from which to contact of ASP\n") + "Local IPv4 Address from which to contact of ASP\n" + "Local IPv6 Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); @@ -633,9 +635,10 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip A.B.C.D", + "remote-ip " VTY_IPV46_CMD, "Specify Remote IP Address of ASP\n" - "Remote IP Address of ASP\n") + "Remote IPv4 Address of ASP\n" + "Remote IPv6 Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); @@ -1806,10 +1809,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 7411b1f..ee1b3e5 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip A.B.C.D - local-ip A.B.C.D + remote-ip (A.B.C.D|X:X::X:X) + local-ip (A.B.C.D|X:X::X:X) qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index 605bc93..dff26c3 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,7 +111,9 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', + '0000:0000:0000:0000:0000:0000:0000:0001'], + 2905): found = True break else: @@ -122,6 +124,7 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 + # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -129,7 +132,17 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP") + print("Connected to STP through SCTP (IPv4)") + s.close() + # IPv6: + s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) + s.bind(('::1', 0)) + try: + s.connect(('::1',2905)) + except socket.error as msg: + s.close() + self.assertTrue(False) + print("Connected to STP through SCTP (IPv6)") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 27 08:11:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:11:40 +0000 Subject: Change in libosmo-sccp[master]: Fix finding ASP on IPv6 connections In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 ) Change subject: Fix finding ASP on IPv6 connections ...................................................................... Fix finding ASP on IPv6 connections Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 --- M src/osmo_ss7.c 1 file changed, 36 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index cdac27a..bae9904 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1198,6 +1198,26 @@ } } +/* Converts string representation of v4-mappend-on-v6 IP addr to a pure IPv4 address. + * Example: ::ffff:172.18.19.200 => 172.18.19.200 + */ +static void chop_v4_mapped_on_v6_prefix(char* buf) +{ + char *last_colon; + size_t len; + char *first_dot = strchr(buf, '.'); + + if (!first_dot) + return; /* Not an IPv4-mappend-on-v6 string representation, nothing to do */ + last_colon = strrchr(buf, ':'); + if (!last_colon) + return; /* pure IPv4 address, nothing to do */ + + len = strlen(last_colon + 1); + memmove(buf, last_colon + 1, len); + buf[len] = '\0'; +} + /*! \brief Find an ASP definition matching the local+remote IP/PORT of given fd * \param[in] fd socket descriptor of given socket * \returns SS7 ASP in case a matching one is found; NULL otherwise */ @@ -1205,7 +1225,7 @@ osmo_ss7_asp_find_by_socket_addr(int fd) { struct osmo_ss7_instance *inst; - struct sockaddr sa_l, sa_r; + struct sockaddr_storage sa_l, sa_r; socklen_t sa_len_l = sizeof(sa_l); socklen_t sa_len_r = sizeof(sa_r); char hostbuf_l[64], hostbuf_r[64]; @@ -1215,23 +1235,32 @@ OSMO_ASSERT(ss7_initialized); /* convert local and remote IP to string */ - rc = getsockname(fd, &sa_l, &sa_len_l); + rc = getsockname(fd, (struct sockaddr*)&sa_l, &sa_len_l); if (rc < 0) return NULL; - rc = getnameinfo(&sa_l, sa_len_l, hostbuf_l, sizeof(hostbuf_l), + rc = getnameinfo((struct sockaddr*)&sa_l, sa_len_l, + hostbuf_l, sizeof(hostbuf_l), NULL, 0, NI_NUMERICHOST); if (rc < 0) return NULL; - local_port = ntohs(get_in_port(&sa_l)); + local_port = ntohs(get_in_port((struct sockaddr*)&sa_l)); - rc = getpeername(fd, &sa_r, &sa_len_r); + rc = getpeername(fd, (struct sockaddr*)&sa_r, &sa_len_r); if (rc < 0) return NULL; - rc = getnameinfo(&sa_r, sa_len_r, hostbuf_r, sizeof(hostbuf_r), + rc = getnameinfo((struct sockaddr*)&sa_r, sa_len_r, + hostbuf_r, sizeof(hostbuf_r), NULL, 0, NI_NUMERICHOST); if (rc < 0) return NULL; - remote_port = ntohs(get_in_port(&sa_r)); + remote_port = ntohs(get_in_port((struct sockaddr*)&sa_r)); + + /* If multi-home is used with both IPv4 and IPv6, then the socket is + * AF_INET6, and then returned IPv4 addresses are actually v6mapped ones. + * We need to convert them to IPv4 before matching. + */ + chop_v4_mapped_on_v6_prefix(hostbuf_l); + chop_v4_mapped_on_v6_prefix(hostbuf_r); /* check all instances for any ASP definition matching the * address combination of local/remote ip/port */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I09226a5cecc37dd4676acd61c2051befe5234cb3 Gerrit-Change-Number: 19769 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 27 08:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:13:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 08:13: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 Aug 27 08:13:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:13:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: Support testing multi-home SCTP features with IPv4+IPv6 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 ) Change subject: stp: Support testing multi-home SCTP features with IPv4+IPv6 ...................................................................... stp: Support testing multi-home SCTP features with IPv4+IPv6 The IP addr module parameter is split now, IPA module has its own set of configurable addresses, and M3UA its own. Moreover, in M3UA the single address is transformed to be an array of addresses, to support multi-homing with both IPv4 and IPv6 addresses. Related: SYS#4915 Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 --- M stp/STP_Tests_Common.ttcn M stp/STP_Tests_IPA.ttcn M stp/STP_Tests_M3UA.ttcn 3 files changed, 67 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/stp/STP_Tests_Common.ttcn b/stp/STP_Tests_Common.ttcn index aee5a88..a540b10 100644 --- a/stp/STP_Tests_Common.ttcn +++ b/stp/STP_Tests_Common.ttcn @@ -19,19 +19,6 @@ import from IPL4asp_Types all; -modulepar { - charstring mp_stp_ip := "127.0.0.1"; - charstring mp_local_ip := "127.0.0.1"; -} - -friend template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 3, - template (omit) integer stream := 0) := { - sinfo_stream := stream, - sinfo_ppid := ppid, - remSocks := omit, - assocId := omit -} - type component Test_CT { port TELNETasp_PT VTY; timer g_Tguard := 30.0; diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index c67bc4a..26abc80 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -38,6 +38,8 @@ type record of charstring AspNameArray; modulepar { + charstring mp_stp_ipa_ip := "127.0.0.1"; + charstring mp_local_ipa_ip := "127.0.0.1"; integer mp_stp_ipa_port := 5000; integer mp_local_ipa_port := 20000; AspNameArray mp_ipa_as_names := {"ipa-as-loadshare-sender", @@ -113,7 +115,7 @@ ASP only up to NR_IPA are configured. */ port_offset := 100; } - vc_IPA[idx].start(IPA_Emulation.main_client(mp_stp_ip, mp_stp_ipa_port, mp_local_ip, + vc_IPA[idx].start(IPA_Emulation.main_client(mp_stp_ipa_ip, mp_stp_ipa_port, mp_local_ipa_ip, mp_local_ipa_port + idx + port_offset, g_ccm_pars[idx])); } diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 68cea2a..22272f3 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -35,6 +35,8 @@ import from STP_Tests_Common all; modulepar { + HostList mp_stp_m3ua_ip := { "127.0.0.1", "::1" }; + HostList mp_local_m3ua_ip := { "127.0.0.1", "::1" }; integer mp_stp_m3ua_port := 2905; integer mp_stp_m3ua_clnt_port := 2906; integer mp_local_m3ua_port := 9999; @@ -92,14 +94,54 @@ } } +private template (value) Socket ts_Socket(HostName hostName, PortNumber portNumber) := { + hostName := hostName, + portNumber := portNumber +}; + +private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 3, + template (omit) integer stream := 0, + template (omit) SocketList remSocks := omit) := { + sinfo_stream := stream, + sinfo_ppid := ppid, + remSocks := remSocks, + assocId := omit +}; + friend function f_M3UA_connect(integer i) runs on RAW_M3UA_CT { var Result res; - res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_ip, mp_stp_m3ua_port, - mp_local_ip, mp_local_m3ua_port+i, 0, - {sctp:=valueof(ts_SCTP)}); + var Option opt_add_local_addrs; + var OptionList opt_list := {}; + var template SocketList opt_add_remote_addrs; + + if (lengthof(mp_local_m3ua_ip) == 0 or lengthof(mp_stp_m3ua_ip) == 0) { + setverdict(fail, "Empty local or remote address trying to connect SCTP socket: ", + mp_local_m3ua_ip, " / ", mp_stp_m3ua_ip); + mtc.stop; + } + + if (lengthof(mp_local_m3ua_ip) > 1) { + opt_add_local_addrs.sctpAdditionalLocalAddresses := substr(mp_local_m3ua_ip, 1, + lengthof(mp_local_m3ua_ip) - 1); //{mp_local_m3ua_ip}; + opt_list := {opt_add_local_addrs}; + } + + if (lengthof(mp_stp_m3ua_ip) > 1) { + for (var integer j := 1; j < lengthof(mp_stp_m3ua_ip); j := j + 1) { + var Socket sk := valueof(ts_Socket(mp_stp_m3ua_ip[j], mp_stp_m3ua_port)); + opt_add_remote_addrs[j - 1] := sk; + } + } else { + opt_add_remote_addrs := omit; + } + + res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_m3ua_ip[0], mp_stp_m3ua_port, + mp_local_m3ua_ip[0], mp_local_m3ua_port+i, 0, + {sctp:=valueof(ts_SCTP(3, 0, opt_add_remote_addrs))}, + opt_list); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect M3UA socket, check your configuration"); - mtc.stop; + mtc.stop; } g_m3ua_conn_id[i] := res.connId; } @@ -112,11 +154,26 @@ friend function f_M3UA_listen(integer i) runs on RAW_M3UA_CT { var Result res; - res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_ip, mp_local_m3ua_port+i, - {sctp:=valueof(ts_SCTP)}); + var Option opt_add_local_addrs; + var OptionList opt_list := {}; + + if (lengthof(mp_local_m3ua_ip) == 0 ) { + setverdict(fail, "Empty local address trying to bind SCTP socket: ", + mp_local_m3ua_ip); + mtc.stop; + } + + if (lengthof(mp_local_m3ua_ip) > 1) { + opt_add_local_addrs.sctpAdditionalLocalAddresses := substr(mp_local_m3ua_ip, 1, + lengthof(mp_local_m3ua_ip) - 1); //{mp_local_m3ua_ip}; + opt_list := {opt_add_local_addrs}; + } + + res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_m3ua_ip[0], mp_local_m3ua_port+i, + {sctp:=valueof(ts_SCTP)}, opt_list); if (not ispresent(res.connId)) { setverdict(fail, "Could not bind M3UA socket, check your configuration"); - mtc.stop; + mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19770 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Gerrit-Change-Number: 19770 Gerrit-PatchSet: 3 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 Aug 27 08:14:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:14:13 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: tweak VTY doc strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19832 ) Change subject: CBC VTY: tweak VTY doc strings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb Gerrit-Change-Number: 19832 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 08: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 Thu Aug 27 08:15:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 08:15:18 +0000 Subject: Change in osmo-bsc[master]: cbsp_link.c: disable server with listen_port = 0, not -1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19833 ) Change subject: cbsp_link.c: disable server with listen_port = 0, not -1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe743fb17f0bde22004932076d45a6ba929ac565 Gerrit-Change-Number: 19833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 08:15:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 09:36:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 09:36:40 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: tweak VTY doc strings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19832 ) Change subject: CBC VTY: tweak VTY doc strings ...................................................................... Patch Set 1: > TBH, I find the VTY cmds for this section a bit weird (I know it's not directly related to this commit). I agree. What is also "weird" is that the client mode is indicated by listen-PORT while the server mode is indicated by remote-IP. (that's because there is a default listen-ip that often doesn't need changing -- setting a port is most important, but you always need an explicit remote-ip) In this patch I did not aim for fixing that. But let's in fact take another look at this in https://gerrit.osmocom.org/c/osmo-bsc/+/19837 because instead of adding a 'restart' command, we could change the VTY and add 'server' / 'client' commands instead. If we want to add binding to a specific address we'll have to add new commands though. Since the CBSP feature was not functional in the last release, I think we still have all freedom to adjust the vty config without having to worry about users' setups. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb Gerrit-Change-Number: 19832 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 09:36:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 09:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 09:53:49 +0000 Subject: Change in osmo-trx[master]: Fix build on Debian8 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19842 ) Change subject: Fix build on Debian8 ...................................................................... Fix build on Debian8 We cannot use C99 or higher features in C code! Last lines of build log: [ 265s] for (unsigned int i = 0; i < decoded_region->num_chans; i++) [ 265s] ^ [ 265s] ipc-driver-test.c:473:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 265s] Makefile:580: recipe for target 'ipc_driver_test-ipc-driver-test.o' failed [ 265s] make[5]: *** [ipc_driver_test-ipc-driver-test.o] Error 1 Change-Id: I80c9cbd77f1cdf323ad2b492de7e9a177840c383 --- M Transceiver52M/device/ipc/ipc-driver-test.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/device/ipc/ipc-driver-test.c b/Transceiver52M/device/ipc/ipc-driver-test.c index 2b006f0..44c8b0e 100644 --- a/Transceiver52M/device/ipc/ipc-driver-test.c +++ b/Transceiver52M/device/ipc/ipc-driver-test.c @@ -469,9 +469,11 @@ while (!ipc_exit_requested) osmo_select_main(0); - if (global_dev) - for (unsigned int i = 0; i < decoded_region->num_chans; i++) + if (global_dev) { + unsigned int i; + for (i = 0; i < decoded_region->num_chans; i++) uhdwrap_stop(global_dev, i); + } ipc_sock_close(global_ipc_sock_state); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I80c9cbd77f1cdf323ad2b492de7e9a177840c383 Gerrit-Change-Number: 19842 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 Thu Aug 27 09:55:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 09:55:33 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 3: This patch needs merging today since the related osmo-ttcn3-hacks patch was merged, which changes the module parameters names. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 09:55: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 Aug 27 10:45:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:45:27 +0000 Subject: Change in libosmocore[master]: ipa: Fix wrong output log formatting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19821 ) Change subject: ipa: Fix wrong output log formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc Gerrit-Change-Number: 19821 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: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:45:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 10:45:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:45:30 +0000 Subject: Change in libosmocore[master]: ipa: Fix wrong output log formatting In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19821 ) Change subject: ipa: Fix wrong output log formatting ...................................................................... ipa: Fix wrong output log formatting Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc --- M src/gsm/ipa.c 1 file changed, 12 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index 1563d0a..7a26ba4 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -121,22 +121,25 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_GET: "); while (len >= 2) { len -= 2; t_len = *cur++; t_tag = *cur++; if (t_len < len_offset) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "minimal offset not included: %d < %d\n", t_len, len_offset); return -EINVAL; } if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } - DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); + LOGPC(DLMI, LOGL_DEBUG, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); dec->lv[t_tag].len = t_len - len_offset; dec->lv[t_tag].val = cur; @@ -144,6 +147,7 @@ cur += t_len - len_offset; len -= t_len - len_offset; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } @@ -164,17 +168,19 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_GET: "); while (len >= 2) { len -= 2; t_len = *cur++; t_tag = *cur++; if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } - DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); + LOGPC(DLMI, LOGL_DEBUG, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); dec->lv[t_tag].len = t_len-1; dec->lv[t_tag].val = cur; @@ -182,6 +188,7 @@ cur += t_len-1; len -= t_len-1; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } @@ -202,6 +209,7 @@ memset(dec, 0, sizeof(*dec)); + LOGP(DLMI, LOGL_DEBUG, "Rx IPA CCM ID_RESP: "); while (len >= 3) { len -= 3; t_len = osmo_load16be(cur); @@ -209,6 +217,7 @@ t_tag = *cur++; if (t_len > len + 1) { + LOGPC(DLMI, LOGL_DEBUG, "\n"); LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d > %d\n", t_len, len + 1); return -EINVAL; } @@ -221,6 +230,7 @@ cur += t_len-1; len -= t_len-1; } + LOGPC(DLMI, LOGL_DEBUG, "\n"); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1862465e9f9a1d9f06a189641360ae7b9e03b1fc Gerrit-Change-Number: 19821 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: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 10:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:47:19 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:47: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 Aug 27 10:47:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:47:23 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:47: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 Aug 27 10:47:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:47:28 +0000 Subject: Change in docker-playground[master]: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19771 ) Change subject: ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 ...................................................................... ttcn3-stp: Configure M3UA setup to use IPv6 together with IPv4 Depends: libosmo-sccp.git Change-Id I09226a5cecc37dd4676acd61c2051befe5234cb3 Depends: osmo-ttcn3-hacks.git Change-Id Ib1925ed1df5cea3fa66f28b5625532d454a2c338 Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh M ttcn3-stp-test/osmo-stp.cfg 3 files changed, 23 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index ec95058..5a95e9a 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -9,8 +9,10 @@ *.VTY.CTRL_HOSTNAME := "172.18.19.200" [MODULE_PARAMETERS] -STP_Tests_Common.mp_stp_ip := "172.18.19.200"; -STP_Tests_Common.mp_local_ip := "172.18.19.203"; +STP_Tests_IPA.mp_stp_ipa_ip := "172.18.19.200"; +STP_Tests_M3UA.mp_stp_m3ua_ip := { "172.18.19.200", "fd02:db8:19::200" }; +STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; +STP_Tests_M3UA.mp_local_m3ua_ip := { "172.18.19.203", "fd02:db8:19::203" }; diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 6b6a2de..a53c58b 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -12,11 +12,18 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i "$VOL_BASE_DIR/stp/osmo-stp.cfg" + sed 's/, "fd02:db8:19::203"//g' -i "$VOL_BASE_DIR/stp-tester/STP_Tests.cfg" + sed 's/, "fd02:db8:19::200"//g' -i "$VOL_BASE_DIR/stp-tester/STP_Tests.cfg" +fi + network_create 19 echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.19.200 \ + --network $NET_NAME --ip 172.18.19.200 --ip6 fd02:db8:19::200 \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -25,7 +32,7 @@ echo Starting container with STP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.19.203 \ + --network $NET_NAME --ip 172.18.19.203 --ip6 fd02:db8:19::203 \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ diff --git a/ttcn3-stp-test/osmo-stp.cfg b/ttcn3-stp-test/osmo-stp.cfg index 20fb298..9e4447c 100644 --- a/ttcn3-stp-test/osmo-stp.cfg +++ b/ttcn3-stp-test/osmo-stp.cfg @@ -26,16 +26,24 @@ ! asp asp-sender 9999 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-receiver0 10000 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-receiver1 10001 2905 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 asp asp-client0 10002 2906 m3ua local-ip 172.18.19.200 + local-ip fd02:db8:19::200 remote-ip 172.18.19.203 + remote-ip fd02:db8:19::203 sctp-role client role asp as as-sender m3ua @@ -109,6 +117,8 @@ !SERVERS: ! listen m3ua 2905 + local-ip 172.18.19.200 + local-ip fd02:db8:19::200 accept-asp-connections dynamic-permitted listen ipa 5000 accept-asp-connections dynamic-permitted -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19771 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id6e197cc3ba71e36f29ceec44742b7452a47b36b Gerrit-Change-Number: 19771 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Aug 27 10:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:48:46 +0000 Subject: Change in osmocom-bb[master]: fake_trx: Implement RFMUTE TRXC cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19839 ) Change subject: fake_trx: Implement RFMUTE TRXC cmd ...................................................................... Patch Set 1: Code-Review+1 do we have a documentation update for the TRXC protocol pending? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I67d16858cd70cb0527c1da77bd3787d5e53100b4 Gerrit-Change-Number: 19839 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 10:48:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 10:50:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 10:50:15 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if.adoc: Document RFMUTE TRXC command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 ) Change subject: trx_if.adoc: Document RFMUTE TRXC command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 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: Id7031b52639f55d36d1589a786e0d29ebb5def53 Gerrit-Change-Number: 19829 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:50:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 10:50:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 10:50:26 +0000 Subject: Change in osmocom-bb[master]: fake_trx: Implement RFMUTE TRXC cmd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19839 ) Change subject: fake_trx: Implement RFMUTE TRXC cmd ...................................................................... Patch Set 1: You mean https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 ? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I67d16858cd70cb0527c1da77bd3787d5e53100b4 Gerrit-Change-Number: 19839 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:50: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 Aug 27 10:52:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 10:52:51 +0000 Subject: Change in libosmocore[master]: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19142 ) Change subject: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the port ...................................................................... Patch Set 11: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19142/11/src/sockaddr_str.c File src/sockaddr_str.c: https://gerrit.osmocom.org/c/libosmocore/+/19142/11/src/sockaddr_str.c at 208 PS11, Line 208: memset(sockaddr_str->ip, 0x0, sizeof(sockaddr_str->ip)); (lol 0x0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifd4e282586b8bd40b912a9f1c25f9e8208420106 Gerrit-Change-Number: 19142 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:52: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 Thu Aug 27 10:55:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 10:55:41 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 12: Code-Review+1 (I don't understand where the description mismatch would be?) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 10:55: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 Aug 27 11:04:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 11:04:13 +0000 Subject: Change in libosmocore[master]: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19143 ) Change subject: socket: introduce osmo_sock_init3 & osmo_sock_init3_ofd ...................................................................... Patch Set 14: (7 comments) https://gerrit.osmocom.org/c/libosmocore/+/19143/13/include/osmocom/core/socket.h File include/osmocom/core/socket.h: https://gerrit.osmocom.org/c/libosmocore/+/19143/13/include/osmocom/core/socket.h at 61 PS13, Line 61: int osmo_sock_init3(uint16_t type, uint8_t proto, > I don't really like calling this one osmo_sock_init3, since it's not really an upgrade from previous [?] I agree on that https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 454 PS13, Line 454: osmo_strlcpy(dest.ip, "Invalid IP", 11) I know the macro is used only here in a limited code base, but doing this kind of macro safely would require: #define FOO do { \ if ... \ } while(0) https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 496 PS13, Line 496: if (flags & OSMO_SOCK_F_BIND && !local) { maybe it's just my own uncertainty about operator precedence, but more braces would be nice https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 500 PS13, Line 500: (ws: two blank lines) https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 502 PS13, Line 502: if (flags & OSMO_SOCK_F_CONNECT && !remote) { more braces would be nice https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 508 PS13, Line 508: flags & OSMO_SOCK_F_CONNECT && more braces would be nice https://gerrit.osmocom.org/c/libosmocore/+/19143/13/src/socket.c at 525 PS13, Line 525: if (proto != IPPROTO_UDP || flags & OSMO_SOCK_F_UDP_REUSEADDR) { more braces would be nice -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1eece543e3241ef0e095eb63bb831f7c15a16794 Gerrit-Change-Number: 19143 Gerrit-PatchSet: 14 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 27 Aug 2020 11:04:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 11:14:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 11:14:20 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 12: Code-Review-1 (10 comments) https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1562 PS11, Line 1562: /*! Compare two osmo_sockaddr. Return 0 if they are same "the same". End with a ".". Actually the \return is already below. https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1563 PS11, Line 1563: * \brief osmo_sockaddr_cmp we use AUTO_BRIEF, so drop this \brief line https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1566 PS11, Line 1566: * \return 0 if a and b are equal. the naming of "cmp" implies being able to use the return code for sorting. So please return 1 if a > b and -1 if a < b. If you don't want to do that, s/_cmp/_same https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1568 PS11, Line 1568: int osmo_sockaddr_cmp(struct osmo_sockaddr *a, struct osmo_sockaddr *b) > As usual, I see no point in checking and returning stuff for NULL pointers. [?] I strongly favor generic cmp functions being useful with NULL args as well, it's not much effort and gives a warm and comfortable peace of mind https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1570 PS11, Line 1570: if (!a && !b) this could be just if (a == b) return 0; https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1573 PS11, Line 1573: return 1; -1 https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1577 PS11, Line 1577: return 1; return OSMO_CMP(a->.., b->..) https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1583 PS11, Line 1583: a->u.sin.sin_port == b->u.sin.sin_port); cleaner, type wise, would be to return ? 0 : 1 not sure how to do proper cmp rc of -1/1 here... at least the port could use OSMO_CMP() https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1585 PS11, Line 1585: /* AF_INET6 usally not contain any padding */ "does not" https://gerrit.osmocom.org/c/libosmocore/+/19415/11/src/socket.c at 1588 PS11, Line 1588: /* fallback to memcmp for remaing AF */ "remaining" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 11:14:20 +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 Aug 27 11:14:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 11:14:51 +0000 Subject: Change in libosmocore[master]: socket: add osmo_sockaddr_cmp() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19415 ) Change subject: socket: add osmo_sockaddr_cmp() ...................................................................... Patch Set 12: (what, why do i keep posting on an older patch set? sorry about that) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d12ebae2710ffd17cf071e6ada0804e73f87dd6 Gerrit-Change-Number: 19415 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 11:14:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 12:26:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 12:26:13 +0000 Subject: Change in libosmocore[master]: socket: fix osmo_sock_get_ip_and_port for IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19147 ) Change subject: socket: fix osmo_sock_get_ip_and_port for IPv6 ...................................................................... Patch Set 12: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19147/12//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19147/12//COMMIT_MSG at 9 PS12, Line 9: The struct sockaddr is too small for IPv6. IPv6 has a 16 byte address, while Here: current code (as you rebased) uses sockaddr_storage and not sockaddr, so this paragraph doesn't apply. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4e69d814367168c05f0da161ec9b705db36ad096 Gerrit-Change-Number: 19147 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 12:26:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 12:30:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 12:30:39 +0000 Subject: Change in libosmocore[master]: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19142 ) Change subject: sockaddr_str: add osmo_sockaddr_str_from_str2() which doesn't set the port ...................................................................... Patch Set 11: actually, also possible, which I think I did in those use cases: osmo_sockaddr_str_from_str(&dst, "string", dst.port); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifd4e282586b8bd40b912a9f1c25f9e8208420106 Gerrit-Change-Number: 19142 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 12:30: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 Thu Aug 27 12:42:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 12:42:35 +0000 Subject: Change in libosmocore[master]: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19843 ) Change subject: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING ...................................................................... lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING Change-Id: Ic2ff931ea4272903c440c7c5ea996dd84c2e470b --- M src/gsm/lapdm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/19843/1 diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index e5fbaf0..21227e3 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -336,8 +336,8 @@ return; } - data = msgb_put(msg, pad_len); - memset(data, 0x2B, pad_len); + data = msgb_put(msg, pad_len); /* TODO: random padding */ + memset(data, GSM_MACBLOCK_PADDING, pad_len); } /* input function that L2 calls when sending messages up to L3 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic2ff931ea4272903c440c7c5ea996dd84c2e470b Gerrit-Change-Number: 19843 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 Aug 27 12:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 12:42:36 +0000 Subject: Change in libosmocore[master]: lapd_test: fix wrong comment in lapdm_establish() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19844 ) Change subject: lapd_test: fix wrong comment in lapdm_establish() ...................................................................... lapd_test: fix wrong comment in lapdm_establish() Change-Id: I2d8f191147249d5ec34a2d1aba3f4dbc26a7824f --- M tests/lapd/lapd_test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/19844/1 diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 8a4e931..8a15b6d 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -568,7 +568,7 @@ lapdm_channel_set_l1(&bts_to_ms_channel, NULL, &test_state); lapdm_channel_set_l3(&bts_to_ms_channel, bts_to_ms_tx_cb, &test_state); - /* Send the release request */ + /* Send the establish request */ msg = create_est_req(est_req, est_req_size); rc = lapdm_rslms_recvmsg(msg, &bts_to_ms_channel); fprintf(stderr, "recvmsg: got rc %d: %s\n", rc, rc <= 0 ? strerror(-rc) : "???"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d8f191147249d5ec34a2d1aba3f4dbc26a7824f Gerrit-Change-Number: 19844 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 Aug 27 12:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 12:42:36 +0000 Subject: Change in libosmocore[master]: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19845 ) Change subject: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ ...................................................................... lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ This is basically an ACKnowledgement for (RR) CM Service Request, thus it contains a copy of the original Uplink message (cm). Let's rename it to reflect this explicitly. Change-Id: Id497ff4b688528916495387d64915b14396a68f1 --- M tests/lapd/lapd_test.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/19845/1 diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 8a15b6d..f1659ef 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -67,7 +67,7 @@ 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, }; -static const uint8_t ua[] = { +static const uint8_t ua_cm[] = { 0x01, 0x73, 0x41, 0x05, 0x24, 0x31, 0x03, 0x50, 0x18, 0x93, 0x08, 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2b, 0x2b, 0x2b, 0x2b @@ -491,7 +491,7 @@ send_sabm(&bts_to_ms_channel, 0, cm, sizeof(cm)); rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); /* Send SABM MS 2, we must get nothing, due to collision */ @@ -507,7 +507,7 @@ send_sabm(&bts_to_ms_channel, 0, cm, sizeof(cm)); rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); /* clean up */ @@ -698,7 +698,7 @@ rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); printf("\nSending Classmark Change\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id497ff4b688528916495387d64915b14396a68f1 Gerrit-Change-Number: 19845 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 Aug 27 12:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 12:42:37 +0000 Subject: Change in libosmocore[master]: lapd_test: fix: print all messages to stdout, not stderr References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19846 ) Change subject: lapd_test: fix: print all messages to stdout, not stderr ...................................................................... lapd_test: fix: print all messages to stdout, not stderr We intentionally do not match stderr output because it contains non-deterministic messages (e.g. pointer addresses), so let's make sure that all test specific messages go to stdout. Change-Id: Ia52f8e811cee9d3e1cd5fcda49a9134ccaa31f7f --- M tests/lapd/lapd_test.c M tests/lapd/lapd_test.ok 2 files changed, 38 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/19846/1 diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index f1659ef..3ea2706 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -306,8 +306,8 @@ /* Take message from queue */ rc = lapdm_phsap_dequeue_prim(le, pp); - fprintf(stderr, "dequeue: got rc %d: %s\n", rc, - rc <= 0 ? strerror(-rc) : "-"); + printf("lapdm_phsap_dequeue_prim(): got rc %d: %s\n", + rc, rc <= 0 ? strerror(-rc) : "-"); if (rc < 0) return rc; @@ -317,15 +317,14 @@ l3_len = msgb_l3len(pp->oph.msg); l2_header_len -= l3_len; } else - fprintf(stderr, "MSGB: L3 is undefined\n"); + printf("MSGB: L3 is undefined\n"); if (l2_header_len < 0 || l2_header_len > pp->oph.msg->data_len) { - fprintf(stderr, - "MSGB inconsistent: data = %p, l2 = %p, l3 = %p, tail = %p\n", - pp->oph.msg->data, - pp->oph.msg->l2h, - pp->oph.msg->l3h, - pp->oph.msg->tail); + printf("MSGB inconsistent: data = %p, l2 = %p, l3 = %p, tail = %p\n", + pp->oph.msg->data, + pp->oph.msg->l2h, + pp->oph.msg->l3h, + pp->oph.msg->tail); l2_header_len = -1; } @@ -571,7 +570,8 @@ /* Send the establish request */ msg = create_est_req(est_req, est_req_size); rc = lapdm_rslms_recvmsg(msg, &bts_to_ms_channel); - fprintf(stderr, "recvmsg: got rc %d: %s\n", rc, rc <= 0 ? strerror(-rc) : "???"); + printf("lapdm_rslms_recvmsg(): got rc %d: %s\n", + rc, rc <= 0 ? strerror(-rc) : "???"); OSMO_ASSERT(rc == 0); /* Take message from queue */ diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 835ca2b..16f6fc3 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -5,39 +5,58 @@ BTS: Verifying CM request. Confirming +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b ms_to_bts_tx_cb: BTS->MS(us) message 6 MS: Verifying incoming primitive. Sending back to MS +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 03 00 0d [L3]> 05 04 0d 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ms_to_bts_tx_cb: BTS->MS(us) message 12 MS: Verifying incoming MM message: 3 ms_to_bts_l1_cb: MS(us) -> BTS prim message +lapdm_phsap_dequeue_prim(): got rc -19: No such device Sending back to BTS ms_to_bts_l1_cb: MS(us) -> BTS prim message bts_to_ms_tx_cb: MS->BTS(us) message 14 BTS: Verifying dummy message. +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device I test RF channel release of an unestablished channel. I test contention resultion by having two mobiles collide and first mobile repeating SABM. bts_to_ms_tx_cb: MS->BTS(us) message 25 BTS: Verifying CM request. +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b I test RF channel establishment. Testing SAPI3/SDCCH +lapdm_rslms_recvmsg(): got rc 0: Success +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device Testing SAPI3/SACCH +lapdm_rslms_recvmsg(): got rc 0: Success +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from ACCH queue: L2 header size 5, L3 size 18, SAP 0x1000000, 0/0, Link 0x43 Message: [L2]> 00 00 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device I test if desync problems exist in LAPDm Establishing SAPI=0 @@ -46,6 +65,7 @@ Dumping queue: 00 00 17 [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b @@ -55,6 +75,8 @@ Dumping queue: 00 00 17 [L2]> 01 21 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -70,6 +92,7 @@ Dumping queue: 00 00 17 [L2]> 03 40 0d [L3]> 06 35 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 03 40 0d [L3]> 06 35 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -79,6 +102,8 @@ Dumping queue: 00 00 17 [L2]> 01 61 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 61 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -87,6 +112,7 @@ Dumping queue: +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 73 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -94,6 +120,8 @@ Dumping queue: +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b Success. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia52f8e811cee9d3e1cd5fcda49a9134ccaa31f7f Gerrit-Change-Number: 19846 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 Aug 27 12:42:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 12:42:38 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19847 ) Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... lapd_test: add a test checking SAPI0/SAPI3 prioritization Recently we've encountered a situation where during MT SMS delivery, the func=SABM for SAPI=3 was sent on Downlink *before* the BTS replied with the func=UA for SAPI=0 (contetion resolution procedure, where we echo the (RR) Paging Response back to the MS). This change adds a unit test reprodicing the problem. Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Related: SYS#5047, OS#4731 --- M tests/lapd/lapd_test.c M tests/lapd/lapd_test.ok 2 files changed, 84 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/19847/1 diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 3ea2706..ccc84e6 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -73,6 +73,19 @@ 0x00, 0x00, 0x80, 0x2b, 0x2b, 0x2b, 0x2b }; +static const uint8_t pr[] = { + 0x06, 0x27, 0x07, 0x03, 0x50, 0x58, 0x92, 0x05, + 0xf4, 0x44, 0x59, 0xba, 0x63, +}; + +#if 0 +static const uint8_t ua_pr[] = { + 0x01, 0x73, 0x35, 0x06, 0x27, 0x07, 0x03, 0x50, + 0x58, 0x92, 0x05, 0xf4, 0x44, 0x59, 0xba, 0x63, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, +}; +#endif + static const uint8_t mm[] = { 0x00, 0x0c, 0x00, 0x03, 0x01, 0x01, 0x20, 0x02, 0x00, 0x0b, 0x00, 0x03, 0x05, 0x04, 0x0d @@ -757,6 +770,61 @@ lapdm_channel_exit(&bts_to_ms_channel); } +static void test_lapdm_sapi_prio(void) +{ + struct osmo_phsap_prim pp1, pp2; + struct lapdm_channel lc = { }; + struct msgb *msg; + int rc; + + printf("\n=== I test SAPI0/SAPI3 prioritization ===\n\n"); + + /* BTS to MS in polling mode */ + lapdm_channel_init(&lc, LAPDM_MODE_BTS); + lapdm_channel_set_flags(&lc, LAPDM_ENT_F_POLLING_ONLY); + lapdm_channel_set_l1(&lc, NULL, NULL); + lapdm_channel_set_l3(&lc, bts_to_ms_dummy_tx_cb, NULL); + + /* MS establishes a SAPI=0 link by sending func=SABM on SDCCH */ + printf("MS is establishing a SAPI=0 link\n"); + send_sabm(&lc, 0, pr, sizeof(pr)); + + /* BTS establishes a SAPI=3 link by sending func=SABM on SDCCH */ + msg = create_est_req(est_req_sdcch_sapi3, sizeof(est_req_sdcch_sapi3)); + printf("BTS is establishing a SAPI=3 link\n"); + rc = lapdm_rslms_recvmsg(msg, &lc); + OSMO_ASSERT(rc == 0); + + /* Make sure that we get func=UA on SDCCH from the BTS first */ + rc = dequeue_prim(&lc.lapdm_dcch, &pp1, "DCCH"); + CHECK_RC(rc); + + /* Contention resolution is completed, we should get func=SAMB now */ + rc = dequeue_prim(&lc.lapdm_dcch, &pp2, "DCCH"); + CHECK_RC(rc); + +#if 0 + /* OS#4731: currently these checks would fail, uncomment when the bug is fixed */ + OSMO_ASSERT(memcmp(pp1.oph.msg->l2h, ua_pr, sizeof(ua_pr)) == 0); + OSMO_ASSERT(memcmp(pp2.oph.msg->l2h, est_req_sdcch_sapi3, + sizeof(est_req_sdcch_sapi3)) == 0); +#endif + + msgb_free(pp1.oph.msg); + msgb_free(pp2.oph.msg); + + /* Make sure that the queue is empty now */ + printf("\nChecking whether the DL/DCCH queue is empty\n"); + rc = dequeue_prim(&lc.lapdm_dcch, &pp1, "DCCH"); + OSMO_ASSERT(rc < 0); + + /* Clean up */ + lapdm_channel_exit(&lc); + + /* Check if exit is idempotent */ + lapdm_channel_exit(&lc); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "lapd_test"); @@ -773,6 +841,7 @@ test_lapdm_contention_resolution(); test_lapdm_establishment(); test_lapdm_desync(); + test_lapdm_sapi_prio(); printf("Success.\n"); diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 16f6fc3..5796582 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -124,4 +124,19 @@ MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b + +=== I test SAPI0/SAPI3 prioritization === + +MS is establishing a SAPI=0 link +bts_to_ms_dummy_tx_cb: MS->BTS(us) message 22 +BTS is establishing a SAPI=3 link +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 +Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 +Message: [L2]> 01 73 35 [L3]> 06 27 07 03 50 58 92 05 f4 44 59 ba 63 2b 2b 2b 2b 2b 2b 2b + +Checking whether the DL/DCCH queue is empty +lapdm_phsap_dequeue_prim(): got rc -19: No such device Success. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 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 Aug 27 13:06:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:06:50 +0000 Subject: Change in libosmocore[master]: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19843 ) Change subject: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic2ff931ea4272903c440c7c5ea996dd84c2e470b Gerrit-Change-Number: 19843 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:06: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 Aug 27 13:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:02 +0000 Subject: Change in libosmocore[master]: lapd_test: fix wrong comment in lapdm_establish() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19844 ) Change subject: lapd_test: fix wrong comment in lapdm_establish() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d8f191147249d5ec34a2d1aba3f4dbc26a7824f Gerrit-Change-Number: 19844 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:07:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 13:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:22 +0000 Subject: Change in libosmocore[master]: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19845 ) Change subject: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id497ff4b688528916495387d64915b14396a68f1 Gerrit-Change-Number: 19845 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:07:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 13:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:40 +0000 Subject: Change in libosmocore[master]: lapd_test: fix: print all messages to stdout, not stderr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19846 ) Change subject: lapd_test: fix: print all messages to stdout, not stderr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia52f8e811cee9d3e1cd5fcda49a9134ccaa31f7f Gerrit-Change-Number: 19846 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:07: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 Aug 27 13:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:44 +0000 Subject: Change in libosmocore[master]: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19843 ) Change subject: lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING ...................................................................... lapdm_pad_msgb(): cosmetic: use GSM_MACBLOCK_PADDING Change-Id: Ic2ff931ea4272903c440c7c5ea996dd84c2e470b --- M src/gsm/lapdm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index e5fbaf0..21227e3 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -336,8 +336,8 @@ return; } - data = msgb_put(msg, pad_len); - memset(data, 0x2B, pad_len); + data = msgb_put(msg, pad_len); /* TODO: random padding */ + memset(data, GSM_MACBLOCK_PADDING, pad_len); } /* input function that L2 calls when sending messages up to L3 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic2ff931ea4272903c440c7c5ea996dd84c2e470b Gerrit-Change-Number: 19843 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 Thu Aug 27 13:07:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:45 +0000 Subject: Change in libosmocore[master]: lapd_test: fix wrong comment in lapdm_establish() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19844 ) Change subject: lapd_test: fix wrong comment in lapdm_establish() ...................................................................... lapd_test: fix wrong comment in lapdm_establish() Change-Id: I2d8f191147249d5ec34a2d1aba3f4dbc26a7824f --- M tests/lapd/lapd_test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 8a4e931..8a15b6d 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -568,7 +568,7 @@ lapdm_channel_set_l1(&bts_to_ms_channel, NULL, &test_state); lapdm_channel_set_l3(&bts_to_ms_channel, bts_to_ms_tx_cb, &test_state); - /* Send the release request */ + /* Send the establish request */ msg = create_est_req(est_req, est_req_size); rc = lapdm_rslms_recvmsg(msg, &bts_to_ms_channel); fprintf(stderr, "recvmsg: got rc %d: %s\n", rc, rc <= 0 ? strerror(-rc) : "???"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d8f191147249d5ec34a2d1aba3f4dbc26a7824f Gerrit-Change-Number: 19844 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 Thu Aug 27 13:07:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:45 +0000 Subject: Change in libosmocore[master]: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19845 ) Change subject: lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ ...................................................................... lapd_test: rename func=UA (RR) CM Service Request: s/ua/ua_cm/ This is basically an ACKnowledgement for (RR) CM Service Request, thus it contains a copy of the original Uplink message (cm). Let's rename it to reflect this explicitly. Change-Id: Id497ff4b688528916495387d64915b14396a68f1 --- M tests/lapd/lapd_test.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 8a15b6d..f1659ef 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -67,7 +67,7 @@ 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, }; -static const uint8_t ua[] = { +static const uint8_t ua_cm[] = { 0x01, 0x73, 0x41, 0x05, 0x24, 0x31, 0x03, 0x50, 0x18, 0x93, 0x08, 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2b, 0x2b, 0x2b, 0x2b @@ -491,7 +491,7 @@ send_sabm(&bts_to_ms_channel, 0, cm, sizeof(cm)); rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); /* Send SABM MS 2, we must get nothing, due to collision */ @@ -507,7 +507,7 @@ send_sabm(&bts_to_ms_channel, 0, cm, sizeof(cm)); rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); /* clean up */ @@ -698,7 +698,7 @@ rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua, ARRAY_SIZE(ua)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, ua_cm, ARRAY_SIZE(ua_cm)) == 0); msgb_free(pp.oph.msg); printf("\nSending Classmark Change\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id497ff4b688528916495387d64915b14396a68f1 Gerrit-Change-Number: 19845 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 Thu Aug 27 13:07:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:07:45 +0000 Subject: Change in libosmocore[master]: lapd_test: fix: print all messages to stdout, not stderr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19846 ) Change subject: lapd_test: fix: print all messages to stdout, not stderr ...................................................................... lapd_test: fix: print all messages to stdout, not stderr We intentionally do not match stderr output because it contains non-deterministic messages (e.g. pointer addresses), so let's make sure that all test specific messages go to stdout. Change-Id: Ia52f8e811cee9d3e1cd5fcda49a9134ccaa31f7f --- M tests/lapd/lapd_test.c M tests/lapd/lapd_test.ok 2 files changed, 38 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index f1659ef..3ea2706 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -306,8 +306,8 @@ /* Take message from queue */ rc = lapdm_phsap_dequeue_prim(le, pp); - fprintf(stderr, "dequeue: got rc %d: %s\n", rc, - rc <= 0 ? strerror(-rc) : "-"); + printf("lapdm_phsap_dequeue_prim(): got rc %d: %s\n", + rc, rc <= 0 ? strerror(-rc) : "-"); if (rc < 0) return rc; @@ -317,15 +317,14 @@ l3_len = msgb_l3len(pp->oph.msg); l2_header_len -= l3_len; } else - fprintf(stderr, "MSGB: L3 is undefined\n"); + printf("MSGB: L3 is undefined\n"); if (l2_header_len < 0 || l2_header_len > pp->oph.msg->data_len) { - fprintf(stderr, - "MSGB inconsistent: data = %p, l2 = %p, l3 = %p, tail = %p\n", - pp->oph.msg->data, - pp->oph.msg->l2h, - pp->oph.msg->l3h, - pp->oph.msg->tail); + printf("MSGB inconsistent: data = %p, l2 = %p, l3 = %p, tail = %p\n", + pp->oph.msg->data, + pp->oph.msg->l2h, + pp->oph.msg->l3h, + pp->oph.msg->tail); l2_header_len = -1; } @@ -571,7 +570,8 @@ /* Send the establish request */ msg = create_est_req(est_req, est_req_size); rc = lapdm_rslms_recvmsg(msg, &bts_to_ms_channel); - fprintf(stderr, "recvmsg: got rc %d: %s\n", rc, rc <= 0 ? strerror(-rc) : "???"); + printf("lapdm_rslms_recvmsg(): got rc %d: %s\n", + rc, rc <= 0 ? strerror(-rc) : "???"); OSMO_ASSERT(rc == 0); /* Take message from queue */ diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 835ca2b..16f6fc3 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -5,39 +5,58 @@ BTS: Verifying CM request. Confirming +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b ms_to_bts_tx_cb: BTS->MS(us) message 6 MS: Verifying incoming primitive. Sending back to MS +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 03 00 0d [L3]> 05 04 0d 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ms_to_bts_tx_cb: BTS->MS(us) message 12 MS: Verifying incoming MM message: 3 ms_to_bts_l1_cb: MS(us) -> BTS prim message +lapdm_phsap_dequeue_prim(): got rc -19: No such device Sending back to BTS ms_to_bts_l1_cb: MS(us) -> BTS prim message bts_to_ms_tx_cb: MS->BTS(us) message 14 BTS: Verifying dummy message. +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device I test RF channel release of an unestablished channel. I test contention resultion by having two mobiles collide and first mobile repeating SABM. bts_to_ms_tx_cb: MS->BTS(us) message 25 BTS: Verifying CM request. +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b I test RF channel establishment. Testing SAPI3/SDCCH +lapdm_rslms_recvmsg(): got rc 0: Success +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device Testing SAPI3/SACCH +lapdm_rslms_recvmsg(): got rc 0: Success +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from ACCH queue: L2 header size 5, L3 size 18, SAP 0x1000000, 0/0, Link 0x43 Message: [L2]> 00 00 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device I test if desync problems exist in LAPDm Establishing SAPI=0 @@ -46,6 +65,7 @@ Dumping queue: 00 00 17 [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 41 [L3]> 05 24 31 03 50 18 93 08 29 47 80 00 00 00 00 80 2b 2b 2b 2b @@ -55,6 +75,8 @@ Dumping queue: 00 00 17 [L2]> 01 21 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -70,6 +92,7 @@ Dumping queue: 00 00 17 [L2]> 03 40 0d [L3]> 06 35 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 03 40 0d [L3]> 06 35 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -79,6 +102,8 @@ Dumping queue: 00 00 17 [L2]> 01 61 01 +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 61 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -87,6 +112,7 @@ Dumping queue: +lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 73 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -94,6 +120,8 @@ Dumping queue: +lapdm_phsap_dequeue_prim(): got rc 0: Success +MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b Success. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia52f8e811cee9d3e1cd5fcda49a9134ccaa31f7f Gerrit-Change-Number: 19846 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 Thu Aug 27 13:09:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 13:09:53 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19847 ) Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c File tests/lapd/lapd_test.c: https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c at 802 PS1, Line 802: SAMB SABM https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c at 806 PS1, Line 806: if 0 : /* OS#4731: currently these checks would fail, uncomment when the bug is fixed */ : OSMO_ASSERT(memcmp(pp1.oph.msg->l2h, ua_pr, sizeof(ua_pr)) == 0); : OSMO_ASSERT(memcmp(pp2.oph.msg->l2h, est_req_sdcch_sapi3, : sizeof(est_req_sdcch_sapi3)) == 0); : #endif I think we usually submit a test first, but one that doesn't ASSERT but simply prints error messages. We then merge the patch fixing the bug together with a change in the .ok / .err file but without touching the unit test. Commenting the important part of the test out here sort-of defeats the purpose of merging the test before the fix, as it doesn't really test what's relevant. We can go ahead with this, but I'm just explaining how I believe we normally handle those situations. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:09:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 13:41:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 13:41:26 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19847 to look at the new patch set (#2). Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... lapd_test: add a test checking SAPI0/SAPI3 prioritization Recently we've encountered a situation where during MT SMS delivery, the func=SABM for SAPI=3 was sent on Downlink *before* the BTS replied with the func=UA for SAPI=0 (contetion resolution procedure, where we echo the (RR) Paging Response back to the MS). This change adds a unit test reprodicing the problem. Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Related: SYS#5047, OS#4731 --- M tests/lapd/lapd_test.c M tests/lapd/lapd_test.ok 2 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/19847/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Thu Aug 27 13:43:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 13:43:13 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19847 ) Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c File tests/lapd/lapd_test.c: https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c at 802 PS1, Line 802: SAMB > SABM Done https://gerrit.osmocom.org/c/libosmocore/+/19847/1/tests/lapd/lapd_test.c at 806 PS1, Line 806: if 0 : /* OS#4731: currently these checks would fail, uncomment when the bug is fixed */ : OSMO_ASSERT(memcmp(pp1.oph.msg->l2h, ua_pr, sizeof(ua_pr)) == 0); : OSMO_ASSERT(memcmp(pp2.oph.msg->l2h, est_req_sdcch_sapi3, : sizeof(est_req_sdcch_sapi3)) == 0); : #endif > I think we usually submit a test first, but one that doesn't ASSERT but simply prints error messages [?] Ack, done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 13:43:13 +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 Aug 27 13:50:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 13:50:53 +0000 Subject: Change in osmo-bsc[master]: acc_test: Print allowed ACC from t2 and t3 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19848 ) Change subject: acc_test: Print allowed ACC from t2 and t3 ...................................................................... acc_test: Print allowed ACC from t2 and t3 Change-Id: If41e8e41310e2b9e27aaa5fe9d04ea39d7272703 --- M tests/acc/acc_test.c M tests/acc/acc_test.ok 2 files changed, 411 insertions(+), 400 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/19848/1 diff --git a/tests/acc/acc_test.c b/tests/acc/acc_test.c index 72d3212..27b9fa8 100644 --- a/tests/acc/acc_test.c +++ b/tests/acc/acc_test.c @@ -515,8 +515,19 @@ struct gsm48_rach_control rach_control = {0}; acc_mgr_apply_acc(&bts->acc_mgr, &rach_control); - fprintf(stderr, "%s(): t2=0x%02" PRIx8 " t3=0x%02" PRIx8 "\n", - __func__, rach_control.t2, rach_control.t3); + fprintf(stderr, "%s(): t2=0x%02" PRIx8 " t3=0x%02" PRIx8 ", allowed:%s%s%s%s%s%s%s%s%s%s\n", + __func__, rach_control.t2, rach_control.t3, + rach_control.t3 & (1 << 0) ? "" : " 0", + rach_control.t3 & (1 << 1) ? "" : " 1", + rach_control.t3 & (1 << 2) ? "" : " 2", + rach_control.t3 & (1 << 3) ? "" : " 3", + rach_control.t3 & (1 << 4) ? "" : " 4", + rach_control.t3 & (1 << 5) ? "" : " 5", + rach_control.t3 & (1 << 6) ? "" : " 6", + rach_control.t3 & (1 << 7) ? "" : " 7", + rach_control.t2 & (1 << 0) ? "" : " 8", + rach_control.t2 & (1 << 1) ? "" : " 9" + ); } diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index bb6fe10..431498a 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -3,86 +3,86 @@ BTS allocation OK in test_acc_mgr_no_ramp() do_allowed_len_adm_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_adm_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 do_allowed_len_adm_loop(1) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=9, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=7, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x158 (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xa7 +pcu_info_update(): t2=0x02 t3=0xa7, allowed: 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x158 -> 0x150 (active_len=3, ramp_len=10, adm_len=3, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xaf +pcu_info_update(): t2=0x02 t3=0xaf, allowed: 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x150 -> 0x140 (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xbf +pcu_info_update(): t2=0x02 t3=0xbf, allowed: 6 8 (bts=0) ACC: update ACC allowed active subset 0x140 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 (bts=0) ACC: update ACC allowed active subset 0x002 -> 0x00a (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf5 +pcu_info_update(): t2=0x03 t3=0xf5, allowed: 1 3 (bts=0) ACC: update ACC allowed active subset 0x00a -> 0x01a (active_len=3, ramp_len=10, adm_len=3, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe5 +pcu_info_update(): t2=0x03 t3=0xe5, allowed: 1 3 4 (bts=0) ACC: update ACC allowed active subset 0x01a -> 0x05a (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=10, adm_len=5, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=7, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) @@ -91,81 +91,81 @@ do_allowed_len_adm_loop(4) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x140 (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xbf +pcu_info_update(): t2=0x02 t3=0xbf, allowed: 6 8 (bts=0) ACC: update ACC allowed active subset 0x140 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x05a (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) *** Barring ALL ACCs *** (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: *** Barring zero ACCs *** (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 BTS deallocated OK in test_acc_mgr_no_ramp() ===test_acc_mgr_manual_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_manual_ramp() do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=10, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=9, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=8, adm_len=10, perm_len=4, rotation=off) @@ -173,21 +173,21 @@ (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=5, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x248 (active_len=3, ramp_len=3, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xb7 +pcu_info_update(): t2=0x01 t3=0xb7, allowed: 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x248 -> 0x240 (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 (bts=0) ACC: update ACC allowed active subset 0x00c -> 0x04c (active_len=3, ramp_len=3, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb3 +pcu_info_update(): t2=0x03 t3=0xb3, allowed: 2 3 6 (bts=0) ACC: update ACC allowed active subset 0x04c -> 0x24c (active_len=4, ramp_len=4, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=5, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=7, adm_len=10, perm_len=4, rotation=off) @@ -197,272 +197,272 @@ do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x240 (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=8, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=10, adm_len=10, perm_len=4, rotation=off) *** Barring ALL ACCs *** (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: do_allowed_len_ramp_loop(1) (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=9, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=7, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=5, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=3, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=1, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=1, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=3, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=5, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=7, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=9, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: do_allowed_len_ramp_loop(4) (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: *** Barring zero ACCs *** (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs + adm len 4 *** (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=10, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x248 (active_len=3, ramp_len=3, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xb7 +pcu_info_update(): t2=0x01 t3=0xb7, allowed: 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x248 -> 0x240 (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x200 (active_len=1, ramp_len=1, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x004 (active_len=1, ramp_len=1, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 (bts=0) ACC: update ACC allowed active subset 0x00c -> 0x04c (active_len=3, ramp_len=3, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb3 +pcu_info_update(): t2=0x03 t3=0xb3, allowed: 2 3 6 (bts=0) ACC: update ACC allowed active subset 0x04c -> 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x240 (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x000 (active_len=0, ramp_len=0, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 BTS deallocated OK in test_acc_mgr_manual_ramp() ===test_acc_mgr_rotate=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={2.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={4.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={6.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={8.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={10.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe1 +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={12.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc3 +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 sys={14.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x87 +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 sys={16.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0f +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 sys={18.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={20.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={22.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={24.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={26.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={28.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe1 +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={30.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc3 +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 sys={32.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x87 +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 sys={34.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0f +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 sys={36.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={38.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={40.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp() (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={50.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={100.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 sys={150.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={200.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={300.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={350.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={400.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={450.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 BTS deallocated OK in test_acc_ramp() ===test_acc_ramp2=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp2() (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x000 (active_len=0, ramp_len=0, adm_len=7, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x007 (active_len=3, ramp_len=3, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 sys={5.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x03f (active_len=6, ramp_len=6, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={10.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={15.000000}: select() BTS deallocated OK in test_acc_ramp2() ===test_acc_ramp3=== @@ -470,23 +470,23 @@ BTS allocation OK in test_acc_ramp3() *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={5.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x002 -> 0x00a (active_len=2, ramp_len=2, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf5 +pcu_info_update(): t2=0x03 t3=0xf5, allowed: 1 3 sys={10.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x00a -> 0x01a (active_len=3, ramp_len=3, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe5 +pcu_info_update(): t2=0x03 t3=0xe5, allowed: 1 3 4 sys={15.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01a -> 0x05a (active_len=4, ramp_len=4, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 sys={20.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=5, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 sys={25.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=6, adm_len=10, perm_len=5, rotation=off) sys={30.000000}: select() @@ -503,83 +503,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -592,83 +592,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -681,83 +681,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -770,97 +770,97 @@ BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select(3): chan_load_avg=45 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select(4): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select(5): chan_load_avg=75 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select(6): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select(7): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select(8): chan_load_avg=85 sys={850.000000}: select(9): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7e +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={950.000000}: select(10): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c +pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 sys={1000.000000}: select(11): chan_load_avg=40 (bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={1100.000000}: select(12): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78 +pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 sys={1200.000000}: select(13): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={1250.000000}: select(14): chan_load_avg=0 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1350.000000}: select(15): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc1 +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1450.000000}: select(16): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x83 +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 sys={1500.000000}: select(17): chan_load_avg=45 (bts=0) ACC: update ACC allowed active subset 0x07c -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1600.000000}: select(18): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x07 +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1700.000000}: select(19): chan_load_avg=75 (bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x0e +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 sys={1750.000000}: select(20): chan_load_avg=90 sys={1850.000000}: select(21): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x0f3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0c +pcu_info_update(): t2=0x03 t3=0x0c, allowed: 0 1 4 5 6 7 sys={1950.000000}: select(22): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x0f3 -> 0x077 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x88 +pcu_info_update(): t2=0x03 t3=0x88, allowed: 0 1 2 4 5 6 sys={2000.000000}: select(23): chan_load_avg=70 (bts=0) ACC: update ACC allowed active subset 0x077 -> 0x0f7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x08 +pcu_info_update(): t2=0x03 t3=0x08, allowed: 0 1 2 4 5 6 7 sys={2100.000000}: select(24): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x0f7 -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={2200.000000}: select(25): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x01 +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 sys={2250.000000}: select(26): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x0fe -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2350.000000}: select(27): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x02 +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 sys={2450.000000}: select(28): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2500.000000}: select(29): chan_load_avg=15 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2750.000000}: select(30): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={3000.000000}: select(31): chan_load_avg=45 @@ -889,305 +889,305 @@ BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=40 sys={350.000000}: select(3): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf7 +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={450.000000}: select(4): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={500.000000}: select(5): chan_load_avg=85 sys={600.000000}: select(6): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={700.000000}: select(7): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={750.000000}: select(8): chan_load_avg=70 sys={850.000000}: select(9): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={950.000000}: select(10): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={1000.000000}: select(11): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={1100.000000}: select(12): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={1200.000000}: select(13): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={1250.000000}: select(14): chan_load_avg=40 sys={1350.000000}: select(15): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={1450.000000}: select(16): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={1500.000000}: select(17): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={1600.000000}: select(18): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={1700.000000}: select(19): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={1750.000000}: select(20): chan_load_avg=70 sys={1850.000000}: select(21): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={1950.000000}: select(22): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={2000.000000}: select(23): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={2100.000000}: select(24): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={2200.000000}: select(25): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={2250.000000}: select(26): chan_load_avg=40 sys={2350.000000}: select(27): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={2450.000000}: select(28): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={2500.000000}: select(29): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={2700.000000}: select(31): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={2750.000000}: select(32): chan_load_avg=70 sys={2850.000000}: select(33): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={2950.000000}: select(34): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={3000.000000}: select(35): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={3100.000000}: select(36): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={3200.000000}: select(37): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={3250.000000}: select(38): chan_load_avg=40 sys={3350.000000}: select(39): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={3450.000000}: select(40): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={3500.000000}: select(41): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={3600.000000}: select(42): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={3700.000000}: select(43): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={3750.000000}: select(44): chan_load_avg=70 sys={3850.000000}: select(45): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={3950.000000}: select(46): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={4000.000000}: select(47): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={4100.000000}: select(48): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={4200.000000}: select(49): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(50, 49, 0, 100, 10)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=20 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select(3): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select(4): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select(5): chan_load_avg=50 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={600.000000}: select(6): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={700.000000}: select(7): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={750.000000}: select(8): chan_load_avg=80 sys={850.000000}: select(9): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={950.000000}: select(10): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={1000.000000}: select(11): chan_load_avg=90 sys={1100.000000}: select(12): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={1200.000000}: select(13): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={1250.000000}: select(14): chan_load_avg=60 sys={1350.000000}: select(15): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf7 +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={1450.000000}: select(16): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={1500.000000}: select(17): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x010 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={1600.000000}: select(18): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x9f +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={1700.000000}: select(19): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3f +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 sys={1750.000000}: select(20): chan_load_avg=0 (bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={1850.000000}: select(21): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7e +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={1950.000000}: select(22): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c +pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 sys={2000.000000}: select(23): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={2100.000000}: select(24): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78 +pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 sys={2200.000000}: select(25): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={2250.000000}: select(26): chan_load_avg=60 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1 +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 sys={2350.000000}: select(27): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe3 +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 sys={2450.000000}: select(28): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc7 +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 sys={2500.000000}: select(29): chan_load_avg=90 (bts=0) ACC: update ACC allowed active subset 0x038 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x9f +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={2700.000000}: select(31): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3f +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 sys={2750.000000}: select(32): chan_load_avg=80 (bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={2850.000000}: select(33): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={2950.000000}: select(34): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={3000.000000}: select(35): chan_load_avg=50 sys={3100.000000}: select(36): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={3200.000000}: select(37): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={3250.000000}: select(38): chan_load_avg=20 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={3350.000000}: select(39): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={3450.000000}: select(40): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={3500.000000}: select(41): chan_load_avg=10 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={3600.000000}: select(42): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={3700.000000}: select(43): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={3750.000000}: select(44): chan_load_avg=40 (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={3850.000000}: select(45): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={3950.000000}: select(46): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={4000.000000}: select(47): chan_load_avg=70 (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x046 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb9 +pcu_info_update(): t2=0x03 t3=0xb9, allowed: 1 2 6 sys={4100.000000}: select(48): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x046 -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1 +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 sys={4200.000000}: select(49): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe3 +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: sys={250.000000}: select(0): chan_load_avg=30 sys={500.000000}: select(1): chan_load_avg=35 sys={750.000000}: select(2): chan_load_avg=40 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If41e8e41310e2b9e27aaa5fe9d04ea39d7272703 Gerrit-Change-Number: 19848 Gerrit-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 Aug 27 13:50:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 13:50:53 +0000 Subject: Change in osmo-bsc[master]: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19849 ) Change subject: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound ...................................................................... acc: Fix ACC rotate barring highest ACCs too quickly during wraparound Expected steps (size=4): 6 7 8 9 -> 0 7 8 9 -> 0 1 8 9 -> 0 1 2 9 -> 0 1 2 3 -> 1 2 3 4 -> ... Befre this patch, for size>2 we got: 6 7 8 9 -> 0 6 7 8 -> 0 1 6 7 -> 0 1 2 6 -> 0 1 2 3 -> 1 2 3 4 -> ... Which means highest ACCs were barred during more time than others. Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe --- M src/osmo-bsc/acc.c M tests/acc/acc_test.ok 2 files changed, 197 insertions(+), 187 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/19849/1 diff --git a/src/osmo-bsc/acc.c b/src/osmo-bsc/acc.c index 74ebe99..06f96c6 100644 --- a/src/osmo-bsc/acc.c +++ b/src/osmo-bsc/acc.c @@ -222,18 +222,28 @@ * Assumption: The permanent set is bigger than the current selected subset */ bool is_wrapped = false; uint8_t i = (lowest + 1) % 10; - do { - if (!acc_is_permanently_barred(acc_mgr->bts, i) && - !(acc_mgr->allowed_subset_mask & (1 << i))) { - is_wrapped = true; - break; - } - i = (i + 1 ) % 10; - } while (i != (highest + 1) % 10); + if (lowest != highest) { /* len(allowed_subset_mask) > 1 */ + i = (lowest + 1) % 10; + do { + if (!acc_is_permanently_barred(acc_mgr->bts, i) && + !(acc_mgr->allowed_subset_mask & (1 << i))) { + is_wrapped = true; + break; + } + i = (i + 1) % 10; + } while (i != (highest + 1) % 10); + } if (is_wrapped) { - *first = highest; - *last = lowest; + /* Assumption: "i" is pointing to the lowest dynamically barred ACC. + Example: 11 1000 00>0<1. */ + *last = i - 1; + while (acc_is_permanently_barred(acc_mgr->bts, *last)) + *last -= 1; + *first = i + 1; + while (acc_is_permanently_barred(acc_mgr->bts, *first) || + !(acc_mgr->allowed_subset_mask & (1 << (*first)))) + *first += 1; } else { *first = lowest; *last = highest; diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index 431498a..afe4ef0 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -356,13 +356,13 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={4.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={6.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={8.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={10.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) @@ -383,13 +383,13 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={22.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={24.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={26.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={28.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) @@ -410,8 +410,8 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={40.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) @@ -536,49 +536,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -625,49 +625,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -714,49 +714,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -804,62 +804,62 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={950.000000}: select(10): chan_load_avg=55 -(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 sys={1000.000000}: select(11): chan_load_avg=40 -(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 +(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1100.000000}: select(12): chan_load_avg=25 -(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 -sys={1200.000000}: select(13): chan_load_avg=10 -(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={1200.000000}: select(13): chan_load_avg=10 +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={1250.000000}: select(14): chan_load_avg=0 -(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 -sys={1350.000000}: select(15): chan_load_avg=15 -(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 -sys={1450.000000}: select(16): chan_load_avg=30 +sys={1350.000000}: select(15): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={1450.000000}: select(16): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 sys={1500.000000}: select(17): chan_load_avg=45 -(bts=0) ACC: update ACC allowed active subset 0x07c -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 -sys={1600.000000}: select(18): chan_load_avg=60 -(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x0f8 -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 -sys={1700.000000}: select(19): chan_load_avg=75 +sys={1600.000000}: select(18): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={1700.000000}: select(19): chan_load_avg=75 +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 sys={1750.000000}: select(20): chan_load_avg=90 sys={1850.000000}: select(21): chan_load_avg=100 -(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x0f3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0c, allowed: 0 1 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 sys={1950.000000}: select(22): chan_load_avg=85 -(bts=0) ACC: rotate ACC allowed active subset 0x0f3 -> 0x077 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x88, allowed: 0 1 2 4 5 6 +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 sys={2000.000000}: select(23): chan_load_avg=70 -(bts=0) ACC: update ACC allowed active subset 0x077 -> 0x0f7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x08, allowed: 0 1 2 4 5 6 7 +(bts=0) ACC: update ACC allowed active subset 0x18f -> 0x19f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 sys={2100.000000}: select(24): chan_load_avg=55 -(bts=0) ACC: rotate ACC allowed active subset 0x0f7 -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 sys={2200.000000}: select(25): chan_load_avg=40 -(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={2250.000000}: select(26): chan_load_avg=25 -(bts=0) ACC: update ACC allowed active subset 0x0fe -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2350.000000}: select(27): chan_load_avg=10 +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={2450.000000}: select(28): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 -sys={2450.000000}: select(28): chan_load_avg=0 -(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2500.000000}: select(29): chan_load_avg=15 -(bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1fd -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2750.000000}: select(30): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -1098,87 +1098,87 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={1950.000000}: select(22): chan_load_avg=20 -(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 sys={2000.000000}: select(23): chan_load_avg=30 -(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 +(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={2100.000000}: select(24): chan_load_avg=40 -(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 -sys={2200.000000}: select(25): chan_load_avg=50 -(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={2200.000000}: select(25): chan_load_avg=50 +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={2250.000000}: select(26): chan_load_avg=60 -(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 -sys={2350.000000}: select(27): chan_load_avg=70 -(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 -sys={2450.000000}: select(28): chan_load_avg=80 +sys={2350.000000}: select(27): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={2450.000000}: select(28): chan_load_avg=80 +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={2500.000000}: select(29): chan_load_avg=90 -(bts=0) ACC: update ACC allowed active subset 0x038 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 -sys={2600.000000}: select(30): chan_load_avg=100 -(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x070 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 -sys={2700.000000}: select(31): chan_load_avg=90 +sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={2700.000000}: select(31): chan_load_avg=90 +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 sys={2750.000000}: select(32): chan_load_avg=80 -(bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 -sys={2850.000000}: select(33): chan_load_avg=70 -(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x180 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 -sys={2950.000000}: select(34): chan_load_avg=60 +sys={2850.000000}: select(33): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 -sys={3000.000000}: select(35): chan_load_avg=50 -sys={3100.000000}: select(36): chan_load_avg=40 +sys={2950.000000}: select(34): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 -sys={3200.000000}: select(37): chan_load_avg=30 +sys={3000.000000}: select(35): chan_load_avg=50 +sys={3100.000000}: select(36): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={3200.000000}: select(37): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={3250.000000}: select(38): chan_load_avg=20 -(bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 -sys={3350.000000}: select(39): chan_load_avg=10 -(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x008 -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 -sys={3450.000000}: select(40): chan_load_avg=0 +sys={3350.000000}: select(39): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={3450.000000}: select(40): chan_load_avg=0 +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={3500.000000}: select(41): chan_load_avg=10 -(bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 -sys={3600.000000}: select(42): chan_load_avg=20 -(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x060 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 -sys={3700.000000}: select(43): chan_load_avg=30 +sys={3600.000000}: select(42): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={3700.000000}: select(43): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={3750.000000}: select(44): chan_load_avg=40 -(bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x181 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={3850.000000}: select(45): chan_load_avg=50 -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={3950.000000}: select(46): chan_load_avg=60 -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={4000.000000}: select(47): chan_load_avg=70 -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x046 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb9, allowed: 1 2 6 -sys={4100.000000}: select(48): chan_load_avg=80 -(bts=0) ACC: rotate ACC allowed active subset 0x046 -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 -sys={4200.000000}: select(49): chan_load_avg=90 +sys={4100.000000}: select(48): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={4200.000000}: select(49): chan_load_avg=90 +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe Gerrit-Change-Number: 19849 Gerrit-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 Aug 27 13:50:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 13:50:54 +0000 Subject: Change in osmo-bsc[master]: tests: acc_test: Test more rotating scenarios References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19850 ) Change subject: tests: acc_test: Test more rotating scenarios ...................................................................... tests: acc_test: Test more rotating scenarios Change-Id: I8ac8ef362af8222e6b7e302e3763811ba093db62 --- M tests/acc/acc_test.c M tests/acc/acc_test.ok 2 files changed, 1,097 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/19850/1 diff --git a/tests/acc/acc_test.c b/tests/acc/acc_test.c index 27b9fa8..f463a2e 100644 --- a/tests/acc/acc_test.c +++ b/tests/acc/acc_test.c @@ -197,9 +197,9 @@ bts_del(bts); } -static void test_acc_mgr_rotate(struct gsm_network *net) +static void test_acc_mgr_rotate(struct gsm_network *net, bool barr_some, unsigned int set_len) { - fprintf(stderr, "===%s===\n", __func__); + fprintf(stderr, "===%s(%s, %u)===\n", __func__, barr_some ? "true" : "false", set_len); int i; struct gsm_bts *bts = bts_init(net); struct acc_mgr *acc_mgr = &bts->acc_mgr; @@ -215,13 +215,15 @@ OSMO_ASSERT(acc_mgr->allowed_permanent_count == 10); /* Test that rotation won't go over permanently barred ACC*/ - fprintf(stderr, "*** Barring one ACC ***\n"); - bts->si_common.rach_control.t2 |= 0x02; - acc_mgr_perm_subset_changed(acc_mgr, &bts->si_common.rach_control); + if (barr_some) { + fprintf(stderr, "*** Barring one ACC ***\n"); + bts->si_common.rach_control.t2 |= 0x02; + acc_mgr_perm_subset_changed(acc_mgr, &bts->si_common.rach_control); + } acc_mgr_set_rotation_time(acc_mgr, 2); - acc_mgr_set_len_allowed_adm(acc_mgr, 4); + acc_mgr_set_len_allowed_adm(acc_mgr, set_len); for (i = 0; i < 20; i++) { osmo_gettimeofday_override_time.tv_sec += 2; @@ -232,6 +234,16 @@ bts_del(bts); } +static void test_acc_mgr_rotate_all(struct gsm_network *net) +{ + int i; + for (i = 1; i <= 8; i++) { + test_acc_mgr_rotate(net, true, i); + test_acc_mgr_rotate(net, false, i); + } + test_acc_mgr_rotate(net, false, 9); +} + static void test_acc_ramp(struct gsm_network *net) { fprintf(stderr, "===%s===\n", __func__); @@ -494,7 +506,7 @@ test_acc_mgr_no_ramp(net); test_acc_mgr_manual_ramp(net); - test_acc_mgr_rotate(net); + test_acc_mgr_rotate_all(net); test_acc_ramp(net); test_acc_ramp2(net); test_acc_ramp3(net); diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index afe4ef0..866502e 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -344,7 +344,412 @@ (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 BTS deallocated OK in test_acc_mgr_manual_ramp() -===test_acc_mgr_rotate=== +===test_acc_mgr_rotate(true, 1)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 1)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x200 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x200 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 2)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 2)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x300 -> 0x201 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfe, allowed: 0 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x201 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x300 -> 0x201 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfe, allowed: 0 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x201 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 3)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x103 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x103 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 3)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x380 -> 0x301 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfe, allowed: 0 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x301 -> 0x203 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfc, allowed: 0 1 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x203 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x380 -> 0x301 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfe, allowed: 0 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x301 -> 0x203 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfc, allowed: 0 1 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x203 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 4)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_rotate() *** Barring one ACC *** @@ -413,6 +818,678 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 4)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c0 -> 0x381 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7e, allowed: 0 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x381 -> 0x303 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfc, allowed: 0 1 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x303 -> 0x207 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf8, allowed: 0 1 2 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x207 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c0 -> 0x381 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7e, allowed: 0 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x381 -> 0x303 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfc, allowed: 0 1 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x303 -> 0x207 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf8, allowed: 0 1 2 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x207 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 5)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c3 -> 0x187 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x78, allowed: 0 1 2 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x187 -> 0x10f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c3 -> 0x187 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x78, allowed: 0 1 2 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x187 -> 0x10f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 5)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e0 -> 0x3c1 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3e, allowed: 0 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c1 -> 0x383 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7c, allowed: 0 1 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x383 -> 0x307 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf8, allowed: 0 1 2 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x307 -> 0x20f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf0, allowed: 0 1 2 3 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x20f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e0 -> 0x3c1 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3e, allowed: 0 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c1 -> 0x383 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7c, allowed: 0 1 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x383 -> 0x307 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf8, allowed: 0 1 2 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x307 -> 0x20f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf0, allowed: 0 1 2 3 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x20f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 6)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x18f -> 0x11f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xe0, allowed: 0 1 2 3 4 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x11f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x18f -> 0x11f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xe0, allowed: 0 1 2 3 4 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x11f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 6)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f0 -> 0x3e1 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1e, allowed: 0 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e1 -> 0x3c3 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3c, allowed: 0 1 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c3 -> 0x387 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x78, allowed: 0 1 2 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x387 -> 0x30f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf0, allowed: 0 1 2 3 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x30f -> 0x21f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xe0, allowed: 0 1 2 3 4 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x21f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f0 -> 0x3e1 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1e, allowed: 0 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e1 -> 0x3c3 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3c, allowed: 0 1 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c3 -> 0x387 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x78, allowed: 0 1 2 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x387 -> 0x30f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf0, allowed: 0 1 2 3 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x30f -> 0x21f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xe0, allowed: 0 1 2 3 4 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x21f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 7)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e7 -> 0x1cf (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x30, allowed: 0 1 2 3 6 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1cf -> 0x19f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e7 -> 0x1cf (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x30, allowed: 0 1 2 3 6 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1cf -> 0x19f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 7)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f8 -> 0x3f1 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0e, allowed: 0 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f1 -> 0x3e3 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1c, allowed: 0 1 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e3 -> 0x3c7 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x38, allowed: 0 1 2 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c7 -> 0x38f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x70, allowed: 0 1 2 3 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x38f -> 0x31f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xe0, allowed: 0 1 2 3 4 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x31f -> 0x23f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xc0, allowed: 0 1 2 3 4 5 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x23f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f8 -> 0x3f1 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0e, allowed: 0 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f1 -> 0x3e3 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1c, allowed: 0 1 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e3 -> 0x3c7 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x38, allowed: 0 1 2 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c7 -> 0x38f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x70, allowed: 0 1 2 3 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x38f -> 0x31f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xe0, allowed: 0 1 2 3 4 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x31f -> 0x23f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xc0, allowed: 0 1 2 3 4 5 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x23f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 8)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x1f7 (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x08, allowed: 0 1 2 4 5 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f7 -> 0x1ef (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1bf -> 0x17f (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x80, allowed: 0 1 2 3 4 5 6 8 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x17f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x1f7 (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x08, allowed: 0 1 2 4 5 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f7 -> 0x1ef (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1bf -> 0x17f (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x80, allowed: 0 1 2 3 4 5 6 8 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x17f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 8)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fc -> 0x3f9 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x06, allowed: 0 3 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f9 -> 0x3f3 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0c, allowed: 0 1 4 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f3 -> 0x3e7 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x18, allowed: 0 1 2 5 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e7 -> 0x3cf (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x30, allowed: 0 1 2 3 6 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3cf -> 0x39f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x60, allowed: 0 1 2 3 4 7 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x39f -> 0x33f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xc0, allowed: 0 1 2 3 4 5 8 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x33f -> 0x27f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x80, allowed: 0 1 2 3 4 5 6 9 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x27f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fc -> 0x3f9 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x06, allowed: 0 3 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f9 -> 0x3f3 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0c, allowed: 0 1 4 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f3 -> 0x3e7 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x18, allowed: 0 1 2 5 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e7 -> 0x3cf (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x30, allowed: 0 1 2 3 6 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3cf -> 0x39f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x60, allowed: 0 1 2 3 4 7 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x39f -> 0x33f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xc0, allowed: 0 1 2 3 4 5 8 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x33f -> 0x27f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x80, allowed: 0 1 2 3 4 5 6 9 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x27f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 9)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fe -> 0x3fd (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x02, allowed: 0 2 3 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fd -> 0x3fb (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x04, allowed: 0 1 3 4 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fb -> 0x3f7 (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x08, allowed: 0 1 2 4 5 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f7 -> 0x3ef (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x10, allowed: 0 1 2 3 5 6 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3ef -> 0x3df (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x20, allowed: 0 1 2 3 4 6 7 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3df -> 0x3bf (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x40, allowed: 0 1 2 3 4 5 7 8 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3bf -> 0x37f (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x80, allowed: 0 1 2 3 4 5 6 8 9 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x37f -> 0x2ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x00, allowed: 0 1 2 3 4 5 6 7 9 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x2ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fe -> 0x3fd (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x02, allowed: 0 2 3 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fd -> 0x3fb (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x04, allowed: 0 1 3 4 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fb -> 0x3f7 (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x08, allowed: 0 1 2 4 5 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f7 -> 0x3ef (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x10, allowed: 0 1 2 3 5 6 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3ef -> 0x3df (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x20, allowed: 0 1 2 3 4 6 7 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3df -> 0x3bf (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x40, allowed: 0 1 2 3 4 5 7 8 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3bf -> 0x37f (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x80, allowed: 0 1 2 3 4 5 6 8 9 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x37f -> 0x2ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x00, allowed: 0 1 2 3 4 5 6 7 9 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x2ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp() -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8ac8ef362af8222e6b7e302e3763811ba093db62 Gerrit-Change-Number: 19850 Gerrit-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 Aug 27 14:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:13 +0000 Subject: Change in osmo-bsc[master]: acc_test: Print allowed ACC from t2 and t3 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19848 ) Change subject: acc_test: Print allowed ACC from t2 and t3 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If41e8e41310e2b9e27aaa5fe9d04ea39d7272703 Gerrit-Change-Number: 19848 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 14: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 Thu Aug 27 14:31:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:32 +0000 Subject: Change in osmo-bsc[master]: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19849 ) Change subject: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe Gerrit-Change-Number: 19849 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 14:31: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 Aug 27 14:31:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:48 +0000 Subject: Change in osmo-bsc[master]: tests: acc_test: Test more rotating scenarios In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19850 ) Change subject: tests: acc_test: Test more rotating scenarios ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8ac8ef362af8222e6b7e302e3763811ba093db62 Gerrit-Change-Number: 19850 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 14: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 Thu Aug 27 14:31:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:50 +0000 Subject: Change in osmo-bsc[master]: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19849 ) Change subject: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe Gerrit-Change-Number: 19849 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 14:31: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 Aug 27 14:31:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:53 +0000 Subject: Change in osmo-bsc[master]: acc_test: Print allowed ACC from t2 and t3 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19848 ) Change subject: acc_test: Print allowed ACC from t2 and t3 ...................................................................... acc_test: Print allowed ACC from t2 and t3 Change-Id: If41e8e41310e2b9e27aaa5fe9d04ea39d7272703 --- M tests/acc/acc_test.c M tests/acc/acc_test.ok 2 files changed, 411 insertions(+), 400 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/acc/acc_test.c b/tests/acc/acc_test.c index 72d3212..27b9fa8 100644 --- a/tests/acc/acc_test.c +++ b/tests/acc/acc_test.c @@ -515,8 +515,19 @@ struct gsm48_rach_control rach_control = {0}; acc_mgr_apply_acc(&bts->acc_mgr, &rach_control); - fprintf(stderr, "%s(): t2=0x%02" PRIx8 " t3=0x%02" PRIx8 "\n", - __func__, rach_control.t2, rach_control.t3); + fprintf(stderr, "%s(): t2=0x%02" PRIx8 " t3=0x%02" PRIx8 ", allowed:%s%s%s%s%s%s%s%s%s%s\n", + __func__, rach_control.t2, rach_control.t3, + rach_control.t3 & (1 << 0) ? "" : " 0", + rach_control.t3 & (1 << 1) ? "" : " 1", + rach_control.t3 & (1 << 2) ? "" : " 2", + rach_control.t3 & (1 << 3) ? "" : " 3", + rach_control.t3 & (1 << 4) ? "" : " 4", + rach_control.t3 & (1 << 5) ? "" : " 5", + rach_control.t3 & (1 << 6) ? "" : " 6", + rach_control.t3 & (1 << 7) ? "" : " 7", + rach_control.t2 & (1 << 0) ? "" : " 8", + rach_control.t2 & (1 << 1) ? "" : " 9" + ); } diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index bb6fe10..431498a 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -3,86 +3,86 @@ BTS allocation OK in test_acc_mgr_no_ramp() do_allowed_len_adm_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_adm_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 do_allowed_len_adm_loop(1) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=9, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=7, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x158 (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xa7 +pcu_info_update(): t2=0x02 t3=0xa7, allowed: 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x158 -> 0x150 (active_len=3, ramp_len=10, adm_len=3, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xaf +pcu_info_update(): t2=0x02 t3=0xaf, allowed: 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x150 -> 0x140 (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xbf +pcu_info_update(): t2=0x02 t3=0xbf, allowed: 6 8 (bts=0) ACC: update ACC allowed active subset 0x140 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 (bts=0) ACC: update ACC allowed active subset 0x002 -> 0x00a (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf5 +pcu_info_update(): t2=0x03 t3=0xf5, allowed: 1 3 (bts=0) ACC: update ACC allowed active subset 0x00a -> 0x01a (active_len=3, ramp_len=10, adm_len=3, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe5 +pcu_info_update(): t2=0x03 t3=0xe5, allowed: 1 3 4 (bts=0) ACC: update ACC allowed active subset 0x01a -> 0x05a (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=10, adm_len=5, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=7, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) @@ -91,81 +91,81 @@ do_allowed_len_adm_loop(4) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=6, perm_len=5, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x140 (active_len=2, ramp_len=10, adm_len=2, perm_len=5, rotation=on) -pcu_info_update(): t2=0x02 t3=0xbf +pcu_info_update(): t2=0x02 t3=0xbf, allowed: 6 8 (bts=0) ACC: update ACC allowed active subset 0x140 -> 0x000 (active_len=0, ramp_len=10, adm_len=0, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x05a (active_len=4, ramp_len=10, adm_len=4, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=10, adm_len=8, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) *** Barring ALL ACCs *** (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: *** Barring zero ACCs *** (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 BTS deallocated OK in test_acc_mgr_no_ramp() ===test_acc_mgr_manual_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_manual_ramp() do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=10, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=9, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=8, adm_len=10, perm_len=4, rotation=off) @@ -173,21 +173,21 @@ (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=5, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x248 (active_len=3, ramp_len=3, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xb7 +pcu_info_update(): t2=0x01 t3=0xb7, allowed: 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x248 -> 0x240 (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 (bts=0) ACC: update ACC allowed active subset 0x00c -> 0x04c (active_len=3, ramp_len=3, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb3 +pcu_info_update(): t2=0x03 t3=0xb3, allowed: 2 3 6 (bts=0) ACC: update ACC allowed active subset 0x04c -> 0x24c (active_len=4, ramp_len=4, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=5, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=7, adm_len=10, perm_len=4, rotation=off) @@ -197,272 +197,272 @@ do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=6, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x240 (active_len=2, ramp_len=2, adm_len=10, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=10, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=8, adm_len=10, perm_len=4, rotation=off) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x24c (active_len=4, ramp_len=10, adm_len=10, perm_len=4, rotation=off) *** Barring ALL ACCs *** (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: do_allowed_len_ramp_loop(1) (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=9, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=7, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=5, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=3, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=1, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=1, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=3, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=5, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=7, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=9, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: do_allowed_len_ramp_loop(4) (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=6, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=2, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=4, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=8, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x000 (active_len=0, ramp_len=10, adm_len=10, perm_len=0, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: *** Barring zero ACCs *** (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x01 +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fe -> 0x3fc (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x03 +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3fc -> 0x3f8 (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x3e0 (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x1f +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3e0 -> 0x3c0 (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3c0 -> 0x380 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x7f +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x380 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x200 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x0f +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f0 -> 0x300 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0xff +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 (bts=0) ACC: update ACC allowed active subset 0x300 -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 *** Barring some ACCs + adm len 4 *** (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x3f +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=10, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(1) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x248 (active_len=3, ramp_len=3, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xb7 +pcu_info_update(): t2=0x01 t3=0xb7, allowed: 3 6 9 (bts=0) ACC: update ACC allowed active subset 0x248 -> 0x240 (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x200 (active_len=1, ramp_len=1, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xff +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 (bts=0) ACC: update ACC allowed active subset 0x200 -> 0x000 (active_len=0, ramp_len=0, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x004 (active_len=1, ramp_len=1, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 (bts=0) ACC: update ACC allowed active subset 0x00c -> 0x04c (active_len=3, ramp_len=3, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb3 +pcu_info_update(): t2=0x03 t3=0xb3, allowed: 2 3 6 (bts=0) ACC: update ACC allowed active subset 0x04c -> 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 do_allowed_len_ramp_loop(4) (bts=0) ACC: update ACC allowed active subset 0x24c -> 0x240 (active_len=2, ramp_len=2, adm_len=4, perm_len=4, rotation=on) -pcu_info_update(): t2=0x01 t3=0xbf +pcu_info_update(): t2=0x01 t3=0xbf, allowed: 6 9 (bts=0) ACC: update ACC allowed active subset 0x240 -> 0x000 (active_len=0, ramp_len=0, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) -pcu_info_update(): t2=0x01 t3=0xb3 +pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 BTS deallocated OK in test_acc_mgr_manual_ramp() ===test_acc_mgr_rotate=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={2.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={4.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={6.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={8.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={10.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe1 +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={12.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc3 +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 sys={14.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x87 +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 sys={16.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0f +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 sys={18.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={20.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={22.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={24.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={26.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={28.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe1 +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={30.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc3 +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 sys={32.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x87 +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 sys={34.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0f +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 sys={36.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x1f +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 sys={38.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={40.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp() (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={50.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x001 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={100.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x003 -> 0x007 (active_len=3, ramp_len=3, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 sys={150.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={200.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={300.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={350.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={400.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=10, rotation=on) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={450.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -pcu_info_update(): t2=0x00 t3=0x00 +pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9 BTS deallocated OK in test_acc_ramp() ===test_acc_ramp2=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp2() (bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x00 t3=0x07 +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 (bts=0) ACC: update ACC allowed active subset 0x3f8 -> 0x000 (active_len=0, ramp_len=0, adm_len=7, perm_len=10, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x007 (active_len=3, ramp_len=3, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf8 +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 sys={5.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x007 -> 0x03f (active_len=6, ramp_len=6, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={10.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x03f -> 0x07f (active_len=7, ramp_len=7, adm_len=7, perm_len=10, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={15.000000}: select() BTS deallocated OK in test_acc_ramp2() ===test_acc_ramp3=== @@ -470,23 +470,23 @@ BTS allocation OK in test_acc_ramp3() *** Barring some ACCs *** (bts=0) ACC: New ACC allowed subset 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={5.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x002 -> 0x00a (active_len=2, ramp_len=2, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf5 +pcu_info_update(): t2=0x03 t3=0xf5, allowed: 1 3 sys={10.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x00a -> 0x01a (active_len=3, ramp_len=3, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe5 +pcu_info_update(): t2=0x03 t3=0xe5, allowed: 1 3 4 sys={15.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01a -> 0x05a (active_len=4, ramp_len=4, adm_len=10, perm_len=5, rotation=on) -pcu_info_update(): t2=0x03 t3=0xa5 +pcu_info_update(): t2=0x03 t3=0xa5, allowed: 1 3 4 6 sys={20.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x05a -> 0x15a (active_len=5, ramp_len=5, adm_len=10, perm_len=5, rotation=off) -pcu_info_update(): t2=0x02 t3=0xa5 +pcu_info_update(): t2=0x02 t3=0xa5, allowed: 1 3 4 6 8 sys={25.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=6, adm_len=10, perm_len=5, rotation=off) sys={30.000000}: select() @@ -503,83 +503,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -592,83 +592,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -681,83 +681,83 @@ BTS allocation OK in test_acc_ramp_up_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={1000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38 +pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 sys={1100.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0 +pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 sys={1200.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0 +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x81 +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 sys={1450.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1500.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03 +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 sys={1600.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x06 +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 sys={1700.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04 +pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 sys={1750.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04 +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 sys={1850.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={1950.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2000.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={2500.000000}: select() @@ -770,97 +770,97 @@ BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select(3): chan_load_avg=45 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select(4): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select(5): chan_load_avg=75 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={600.000000}: select(6): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={700.000000}: select(7): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={750.000000}: select(8): chan_load_avg=85 sys={850.000000}: select(9): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7e +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={950.000000}: select(10): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c +pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 sys={1000.000000}: select(11): chan_load_avg=40 (bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={1100.000000}: select(12): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78 +pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 sys={1200.000000}: select(13): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={1250.000000}: select(14): chan_load_avg=0 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0 +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 sys={1350.000000}: select(15): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc1 +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1450.000000}: select(16): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x83 +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 sys={1500.000000}: select(17): chan_load_avg=45 (bts=0) ACC: update ACC allowed active subset 0x07c -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03 +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 sys={1600.000000}: select(18): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x07 +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1700.000000}: select(19): chan_load_avg=75 (bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x0e +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 sys={1750.000000}: select(20): chan_load_avg=90 sys={1850.000000}: select(21): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x0f3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0c +pcu_info_update(): t2=0x03 t3=0x0c, allowed: 0 1 4 5 6 7 sys={1950.000000}: select(22): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x0f3 -> 0x077 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x88 +pcu_info_update(): t2=0x03 t3=0x88, allowed: 0 1 2 4 5 6 sys={2000.000000}: select(23): chan_load_avg=70 (bts=0) ACC: update ACC allowed active subset 0x077 -> 0x0f7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x08 +pcu_info_update(): t2=0x03 t3=0x08, allowed: 0 1 2 4 5 6 7 sys={2100.000000}: select(24): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x0f7 -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80 +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={2200.000000}: select(25): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x01 +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 sys={2250.000000}: select(26): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x0fe -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01 +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 sys={2350.000000}: select(27): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x02 +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 sys={2450.000000}: select(28): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00 +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2500.000000}: select(29): chan_load_avg=15 (bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2750.000000}: select(30): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) sys={3000.000000}: select(31): chan_load_avg=45 @@ -889,305 +889,305 @@ BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=40 sys={350.000000}: select(3): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf7 +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={450.000000}: select(4): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={500.000000}: select(5): chan_load_avg=85 sys={600.000000}: select(6): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={700.000000}: select(7): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={750.000000}: select(8): chan_load_avg=70 sys={850.000000}: select(9): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={950.000000}: select(10): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={1000.000000}: select(11): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={1100.000000}: select(12): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={1200.000000}: select(13): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={1250.000000}: select(14): chan_load_avg=40 sys={1350.000000}: select(15): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={1450.000000}: select(16): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={1500.000000}: select(17): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={1600.000000}: select(18): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={1700.000000}: select(19): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={1750.000000}: select(20): chan_load_avg=70 sys={1850.000000}: select(21): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={1950.000000}: select(22): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={2000.000000}: select(23): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={2100.000000}: select(24): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={2200.000000}: select(25): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={2250.000000}: select(26): chan_load_avg=40 sys={2350.000000}: select(27): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={2450.000000}: select(28): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={2500.000000}: select(29): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={2700.000000}: select(31): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={2750.000000}: select(32): chan_load_avg=70 sys={2850.000000}: select(33): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={2950.000000}: select(34): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={3000.000000}: select(35): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={3100.000000}: select(36): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={3200.000000}: select(37): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 sys={3250.000000}: select(38): chan_load_avg=40 sys={3350.000000}: select(39): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={3450.000000}: select(40): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={3500.000000}: select(41): chan_load_avg=85 (bts=0) ACC: update ACC allowed active subset 0x018 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={3600.000000}: select(42): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={3700.000000}: select(43): chan_load_avg=85 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={3750.000000}: select(44): chan_load_avg=70 sys={3850.000000}: select(45): chan_load_avg=55 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={3950.000000}: select(46): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={4000.000000}: select(47): chan_load_avg=25 (bts=0) ACC: update ACC allowed active subset 0x100 -> 0x101 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xfe +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 sys={4100.000000}: select(48): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfc +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 sys={4200.000000}: select(49): chan_load_avg=25 (bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf9 +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(50, 49, 0, 100, 10)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: (bts=0) ACC: New ACC allowed subset 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={100.000000}: select(0): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={200.000000}: select(1): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={250.000000}: select(2): chan_load_avg=20 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={350.000000}: select(3): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={450.000000}: select(4): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={500.000000}: select(5): chan_load_avg=50 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x020 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xdf +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 sys={600.000000}: select(6): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xbf +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 sys={700.000000}: select(7): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={750.000000}: select(8): chan_load_avg=80 sys={850.000000}: select(9): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={950.000000}: select(10): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={1000.000000}: select(11): chan_load_avg=90 sys={1100.000000}: select(12): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={1200.000000}: select(13): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={1250.000000}: select(14): chan_load_avg=60 sys={1350.000000}: select(15): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf7 +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={1450.000000}: select(16): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xef +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 sys={1500.000000}: select(17): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x010 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={1600.000000}: select(18): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x9f +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={1700.000000}: select(19): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3f +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 sys={1750.000000}: select(20): chan_load_avg=0 (bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={1850.000000}: select(21): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7e +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={1950.000000}: select(22): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c +pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 sys={2000.000000}: select(23): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={2100.000000}: select(24): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78 +pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 sys={2200.000000}: select(25): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf0 +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={2250.000000}: select(26): chan_load_avg=60 (bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1 +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 sys={2350.000000}: select(27): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe3 +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 sys={2450.000000}: select(28): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc7 +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 sys={2500.000000}: select(29): chan_load_avg=90 (bts=0) ACC: update ACC allowed active subset 0x038 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x9f +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={2700.000000}: select(31): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3f +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 sys={2750.000000}: select(32): chan_load_avg=80 (bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 sys={2850.000000}: select(33): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0xff +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 sys={2950.000000}: select(34): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfe +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 sys={3000.000000}: select(35): chan_load_avg=50 sys={3100.000000}: select(36): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfd +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 sys={3200.000000}: select(37): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xfb +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 sys={3250.000000}: select(38): chan_load_avg=20 (bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3 +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 sys={3350.000000}: select(39): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe7 +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 sys={3450.000000}: select(40): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 sys={3500.000000}: select(41): chan_load_avg=10 (bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={3600.000000}: select(42): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x1f +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 sys={3700.000000}: select(43): chan_load_avg=30 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3f +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 sys={3750.000000}: select(44): chan_load_avg=40 (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e +pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={3850.000000}: select(45): chan_load_avg=50 (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c +pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 sys={3950.000000}: select(46): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8 +pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 sys={4000.000000}: select(47): chan_load_avg=70 (bts=0) ACC: update ACC allowed active subset 0x047 -> 0x046 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb9 +pcu_info_update(): t2=0x03 t3=0xb9, allowed: 1 2 6 sys={4100.000000}: select(48): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x046 -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1 +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 sys={4200.000000}: select(49): chan_load_avg=90 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe3 +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp_updown_rotate() *** Barring one ACC *** (bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x02 t3=0x00 +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x000 (active_len=0, ramp_len=0, adm_len=10, perm_len=9, rotation=off) -pcu_info_update(): t2=0x03 t3=0xff +pcu_info_update(): t2=0x03 t3=0xff, allowed: sys={250.000000}: select(0): chan_load_avg=30 sys={500.000000}: select(1): chan_load_avg=35 sys={750.000000}: select(2): chan_load_avg=40 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If41e8e41310e2b9e27aaa5fe9d04ea39d7272703 Gerrit-Change-Number: 19848 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 Aug 27 14:31:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:54 +0000 Subject: Change in osmo-bsc[master]: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19849 ) Change subject: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound ...................................................................... acc: Fix ACC rotate barring highest ACCs too quickly during wraparound Expected steps (size=4): 6 7 8 9 -> 0 7 8 9 -> 0 1 8 9 -> 0 1 2 9 -> 0 1 2 3 -> 1 2 3 4 -> ... Befre this patch, for size>2 we got: 6 7 8 9 -> 0 6 7 8 -> 0 1 6 7 -> 0 1 2 6 -> 0 1 2 3 -> 1 2 3 4 -> ... Which means highest ACCs were barred during more time than others. Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe --- M src/osmo-bsc/acc.c M tests/acc/acc_test.ok 2 files changed, 197 insertions(+), 187 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/acc.c b/src/osmo-bsc/acc.c index 74ebe99..06f96c6 100644 --- a/src/osmo-bsc/acc.c +++ b/src/osmo-bsc/acc.c @@ -222,18 +222,28 @@ * Assumption: The permanent set is bigger than the current selected subset */ bool is_wrapped = false; uint8_t i = (lowest + 1) % 10; - do { - if (!acc_is_permanently_barred(acc_mgr->bts, i) && - !(acc_mgr->allowed_subset_mask & (1 << i))) { - is_wrapped = true; - break; - } - i = (i + 1 ) % 10; - } while (i != (highest + 1) % 10); + if (lowest != highest) { /* len(allowed_subset_mask) > 1 */ + i = (lowest + 1) % 10; + do { + if (!acc_is_permanently_barred(acc_mgr->bts, i) && + !(acc_mgr->allowed_subset_mask & (1 << i))) { + is_wrapped = true; + break; + } + i = (i + 1) % 10; + } while (i != (highest + 1) % 10); + } if (is_wrapped) { - *first = highest; - *last = lowest; + /* Assumption: "i" is pointing to the lowest dynamically barred ACC. + Example: 11 1000 00>0<1. */ + *last = i - 1; + while (acc_is_permanently_barred(acc_mgr->bts, *last)) + *last -= 1; + *first = i + 1; + while (acc_is_permanently_barred(acc_mgr->bts, *first) || + !(acc_mgr->allowed_subset_mask & (1 << (*first)))) + *first += 1; } else { *first = lowest; *last = highest; diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index 431498a..afe4ef0 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -356,13 +356,13 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={4.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={6.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={8.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={10.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) @@ -383,13 +383,13 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={22.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={24.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={26.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={28.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) @@ -410,8 +410,8 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={40.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) @@ -536,49 +536,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -625,49 +625,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -714,49 +714,49 @@ (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 sys={850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7 +(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 sys={1100.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6 -sys={1200.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={1200.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 sys={1250.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 -sys={1350.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 -sys={1450.000000}: select() +sys={1350.000000}: select() (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={1450.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 sys={1500.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 -sys={1600.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={1600.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 sys={1700.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 sys={1750.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 sys={1850.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 sys={1950.000000}: select() -(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 sys={2000.000000}: select() -(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2250.000000}: select() (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -804,62 +804,62 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={950.000000}: select(10): chan_load_avg=55 -(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 sys={1000.000000}: select(11): chan_load_avg=40 -(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 +(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={1100.000000}: select(12): chan_load_avg=25 -(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 -sys={1200.000000}: select(13): chan_load_avg=10 -(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={1200.000000}: select(13): chan_load_avg=10 +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={1250.000000}: select(14): chan_load_avg=0 -(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 -sys={1350.000000}: select(15): chan_load_avg=15 -(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 -sys={1450.000000}: select(16): chan_load_avg=30 +sys={1350.000000}: select(15): chan_load_avg=15 (bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={1450.000000}: select(16): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 sys={1500.000000}: select(17): chan_load_avg=45 -(bts=0) ACC: update ACC allowed active subset 0x07c -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 -sys={1600.000000}: select(18): chan_load_avg=60 -(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x0f8 -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 -sys={1700.000000}: select(19): chan_load_avg=75 +sys={1600.000000}: select(18): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={1700.000000}: select(19): chan_load_avg=75 +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 sys={1750.000000}: select(20): chan_load_avg=90 sys={1850.000000}: select(21): chan_load_avg=100 -(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x0f3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x0c, allowed: 0 1 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 sys={1950.000000}: select(22): chan_load_avg=85 -(bts=0) ACC: rotate ACC allowed active subset 0x0f3 -> 0x077 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x88, allowed: 0 1 2 4 5 6 +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 sys={2000.000000}: select(23): chan_load_avg=70 -(bts=0) ACC: update ACC allowed active subset 0x077 -> 0x0f7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x08, allowed: 0 1 2 4 5 6 7 +(bts=0) ACC: update ACC allowed active subset 0x18f -> 0x19f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 sys={2100.000000}: select(24): chan_load_avg=55 -(bts=0) ACC: rotate ACC allowed active subset 0x0f7 -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 sys={2200.000000}: select(25): chan_load_avg=40 -(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 sys={2250.000000}: select(26): chan_load_avg=25 -(bts=0) ACC: update ACC allowed active subset 0x0fe -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2350.000000}: select(27): chan_load_avg=10 +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={2450.000000}: select(28): chan_load_avg=0 (bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 -sys={2450.000000}: select(28): chan_load_avg=0 -(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 sys={2500.000000}: select(29): chan_load_avg=15 -(bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) +(bts=0) ACC: update ACC allowed active subset 0x1fd -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off) pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 sys={2750.000000}: select(30): chan_load_avg=30 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) @@ -1098,87 +1098,87 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={1950.000000}: select(22): chan_load_avg=20 -(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7 +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 sys={2000.000000}: select(23): chan_load_avg=30 -(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 +(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={2100.000000}: select(24): chan_load_avg=40 -(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7 -sys={2200.000000}: select(25): chan_load_avg=50 -(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={2200.000000}: select(25): chan_load_avg=50 +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 sys={2250.000000}: select(26): chan_load_avg=60 -(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 -sys={2350.000000}: select(27): chan_load_avg=70 -(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 -sys={2450.000000}: select(28): chan_load_avg=80 +sys={2350.000000}: select(27): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={2450.000000}: select(28): chan_load_avg=80 +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 sys={2500.000000}: select(29): chan_load_avg=90 -(bts=0) ACC: update ACC allowed active subset 0x038 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 -sys={2600.000000}: select(30): chan_load_avg=100 -(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x070 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 -sys={2700.000000}: select(31): chan_load_avg=90 +sys={2600.000000}: select(30): chan_load_avg=100 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={2700.000000}: select(31): chan_load_avg=90 +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 sys={2750.000000}: select(32): chan_load_avg=80 -(bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 -sys={2850.000000}: select(33): chan_load_avg=70 -(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x180 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 -sys={2950.000000}: select(34): chan_load_avg=60 +sys={2850.000000}: select(33): chan_load_avg=70 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 -sys={3000.000000}: select(35): chan_load_avg=50 -sys={3100.000000}: select(36): chan_load_avg=40 +sys={2950.000000}: select(34): chan_load_avg=60 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 -sys={3200.000000}: select(37): chan_load_avg=30 +sys={3000.000000}: select(35): chan_load_avg=50 +sys={3100.000000}: select(36): chan_load_avg=40 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={3200.000000}: select(37): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 sys={3250.000000}: select(38): chan_load_avg=20 -(bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 -sys={3350.000000}: select(39): chan_load_avg=10 -(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x008 -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 -sys={3450.000000}: select(40): chan_load_avg=0 +sys={3350.000000}: select(39): chan_load_avg=10 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={3450.000000}: select(40): chan_load_avg=0 +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 sys={3500.000000}: select(41): chan_load_avg=10 -(bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 -sys={3600.000000}: select(42): chan_load_avg=20 -(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x060 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 -sys={3700.000000}: select(43): chan_load_avg=30 +sys={3600.000000}: select(42): chan_load_avg=20 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={3700.000000}: select(43): chan_load_avg=30 +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 sys={3750.000000}: select(44): chan_load_avg=40 -(bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x181 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 sys={3850.000000}: select(45): chan_load_avg=50 -(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7 +(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8 sys={3950.000000}: select(46): chan_load_avg=60 -(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6 +(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 sys={4000.000000}: select(47): chan_load_avg=70 -(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x046 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) -pcu_info_update(): t2=0x03 t3=0xb9, allowed: 1 2 6 -sys={4100.000000}: select(48): chan_load_avg=80 -(bts=0) ACC: rotate ACC allowed active subset 0x046 -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 -sys={4200.000000}: select(49): chan_load_avg=90 +sys={4100.000000}: select(48): chan_load_avg=80 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={4200.000000}: select(49): chan_load_avg=90 +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 BTS deallocated OK in test_acc_ramp_updown_rotate() ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe Gerrit-Change-Number: 19849 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 Aug 27 14:31:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:31:54 +0000 Subject: Change in osmo-bsc[master]: tests: acc_test: Test more rotating scenarios In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19850 ) Change subject: tests: acc_test: Test more rotating scenarios ...................................................................... tests: acc_test: Test more rotating scenarios Change-Id: I8ac8ef362af8222e6b7e302e3763811ba093db62 --- M tests/acc/acc_test.c M tests/acc/acc_test.ok 2 files changed, 1,097 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/acc/acc_test.c b/tests/acc/acc_test.c index 27b9fa8..f463a2e 100644 --- a/tests/acc/acc_test.c +++ b/tests/acc/acc_test.c @@ -197,9 +197,9 @@ bts_del(bts); } -static void test_acc_mgr_rotate(struct gsm_network *net) +static void test_acc_mgr_rotate(struct gsm_network *net, bool barr_some, unsigned int set_len) { - fprintf(stderr, "===%s===\n", __func__); + fprintf(stderr, "===%s(%s, %u)===\n", __func__, barr_some ? "true" : "false", set_len); int i; struct gsm_bts *bts = bts_init(net); struct acc_mgr *acc_mgr = &bts->acc_mgr; @@ -215,13 +215,15 @@ OSMO_ASSERT(acc_mgr->allowed_permanent_count == 10); /* Test that rotation won't go over permanently barred ACC*/ - fprintf(stderr, "*** Barring one ACC ***\n"); - bts->si_common.rach_control.t2 |= 0x02; - acc_mgr_perm_subset_changed(acc_mgr, &bts->si_common.rach_control); + if (barr_some) { + fprintf(stderr, "*** Barring one ACC ***\n"); + bts->si_common.rach_control.t2 |= 0x02; + acc_mgr_perm_subset_changed(acc_mgr, &bts->si_common.rach_control); + } acc_mgr_set_rotation_time(acc_mgr, 2); - acc_mgr_set_len_allowed_adm(acc_mgr, 4); + acc_mgr_set_len_allowed_adm(acc_mgr, set_len); for (i = 0; i < 20; i++) { osmo_gettimeofday_override_time.tv_sec += 2; @@ -232,6 +234,16 @@ bts_del(bts); } +static void test_acc_mgr_rotate_all(struct gsm_network *net) +{ + int i; + for (i = 1; i <= 8; i++) { + test_acc_mgr_rotate(net, true, i); + test_acc_mgr_rotate(net, false, i); + } + test_acc_mgr_rotate(net, false, 9); +} + static void test_acc_ramp(struct gsm_network *net) { fprintf(stderr, "===%s===\n", __func__); @@ -494,7 +506,7 @@ test_acc_mgr_no_ramp(net); test_acc_mgr_manual_ramp(net); - test_acc_mgr_rotate(net); + test_acc_mgr_rotate_all(net); test_acc_ramp(net); test_acc_ramp2(net); test_acc_ramp3(net); diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok index afe4ef0..866502e 100644 --- a/tests/acc/acc_test.ok +++ b/tests/acc/acc_test.ok @@ -344,7 +344,412 @@ (bts=0) ACC: New ACC allowed subset 0x24c (active_len=4, ramp_len=4, adm_len=4, perm_len=4, rotation=off) pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9 BTS deallocated OK in test_acc_mgr_manual_ramp() -===test_acc_mgr_rotate=== +===test_acc_mgr_rotate(true, 1)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 1)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x200 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x200 -> 0x001 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x008 -> 0x010 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xef, allowed: 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x010 -> 0x020 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xdf, allowed: 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x020 -> 0x040 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xbf, allowed: 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x040 -> 0x080 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0xff, allowed: 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x200 (active_len=1, ramp_len=10, adm_len=1, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xff, allowed: 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 2)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x101 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfe, allowed: 0 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x101 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 2)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x300 -> 0x201 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfe, allowed: 0 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x201 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x300 -> 0x201 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfe, allowed: 0 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x201 -> 0x003 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x003 -> 0x006 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x006 -> 0x00c (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x180 -> 0x300 (active_len=2, ramp_len=10, adm_len=2, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 3)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x103 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x103 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=10, adm_len=3, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 3)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x380 -> 0x301 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfe, allowed: 0 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x301 -> 0x203 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfc, allowed: 0 1 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x203 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x380 -> 0x301 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfe, allowed: 0 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x301 -> 0x203 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xfc, allowed: 0 1 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x203 -> 0x007 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf8, allowed: 0 1 2 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x007 -> 0x00e (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x380 (active_len=3, ramp_len=10, adm_len=3, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 4)=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_mgr_rotate() *** Barring one ACC *** @@ -413,6 +818,678 @@ (bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on) pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8 BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 4)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c0 -> 0x381 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7e, allowed: 0 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x381 -> 0x303 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfc, allowed: 0 1 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x303 -> 0x207 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf8, allowed: 0 1 2 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x207 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c0 -> 0x381 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7e, allowed: 0 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x381 -> 0x303 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xfc, allowed: 0 1 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x303 -> 0x207 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf8, allowed: 0 1 2 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x207 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01e -> 0x03c (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc3, allowed: 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03c -> 0x078 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x87, allowed: 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x078 -> 0x0f0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x0f, allowed: 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f0 -> 0x1e0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1f, allowed: 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x3c0 (active_len=4, ramp_len=10, adm_len=4, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 5)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c3 -> 0x187 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x78, allowed: 0 1 2 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x187 -> 0x10f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c3 -> 0x187 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x78, allowed: 0 1 2 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x187 -> 0x10f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x1e1 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1e, allowed: 0 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e1 -> 0x1c3 (active_len=5, ramp_len=10, adm_len=5, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 5)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e0 -> 0x3c1 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3e, allowed: 0 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c1 -> 0x383 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7c, allowed: 0 1 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x383 -> 0x307 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf8, allowed: 0 1 2 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x307 -> 0x20f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf0, allowed: 0 1 2 3 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x20f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e0 -> 0x3c1 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3e, allowed: 0 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c1 -> 0x383 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x7c, allowed: 0 1 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x383 -> 0x307 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf8, allowed: 0 1 2 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x307 -> 0x20f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xf0, allowed: 0 1 2 3 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x20f -> 0x01f (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0f8 -> 0x1f0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0f, allowed: 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f0 -> 0x3e0 (active_len=5, ramp_len=10, adm_len=5, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 6)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x18f -> 0x11f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xe0, allowed: 0 1 2 3 4 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x11f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x18f -> 0x11f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xe0, allowed: 0 1 2 3 4 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x11f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=10, adm_len=6, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 6)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f0 -> 0x3e1 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1e, allowed: 0 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e1 -> 0x3c3 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3c, allowed: 0 1 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c3 -> 0x387 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x78, allowed: 0 1 2 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x387 -> 0x30f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf0, allowed: 0 1 2 3 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x30f -> 0x21f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xe0, allowed: 0 1 2 3 4 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x21f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f0 -> 0x3e1 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1e, allowed: 0 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e1 -> 0x3c3 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x3c, allowed: 0 1 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c3 -> 0x387 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x78, allowed: 0 1 2 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x387 -> 0x30f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xf0, allowed: 0 1 2 3 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x30f -> 0x21f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xe0, allowed: 0 1 2 3 4 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x21f -> 0x03f (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x3f0 (active_len=6, ramp_len=10, adm_len=6, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 7)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e7 -> 0x1cf (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x30, allowed: 0 1 2 3 6 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1cf -> 0x19f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1e7 -> 0x1cf (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x30, allowed: 0 1 2 3 6 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1cf -> 0x19f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=10, adm_len=7, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 7)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f8 -> 0x3f1 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0e, allowed: 0 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f1 -> 0x3e3 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1c, allowed: 0 1 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e3 -> 0x3c7 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x38, allowed: 0 1 2 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c7 -> 0x38f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x70, allowed: 0 1 2 3 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x38f -> 0x31f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xe0, allowed: 0 1 2 3 4 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x31f -> 0x23f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xc0, allowed: 0 1 2 3 4 5 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x23f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f8 -> 0x3f1 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0e, allowed: 0 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f1 -> 0x3e3 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x1c, allowed: 0 1 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e3 -> 0x3c7 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x38, allowed: 0 1 2 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3c7 -> 0x38f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x70, allowed: 0 1 2 3 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x38f -> 0x31f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xe0, allowed: 0 1 2 3 4 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x31f -> 0x23f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0xc0, allowed: 0 1 2 3 4 5 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x23f -> 0x07f (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0fe -> 0x1fc (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x3f8 (active_len=7, ramp_len=10, adm_len=7, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(true, 8)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +*** Barring one ACC *** +(bts=0) ACC: New ACC allowed subset 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +(bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x1f7 (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x08, allowed: 0 1 2 4 5 6 7 8 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f7 -> 0x1ef (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1bf -> 0x17f (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x80, allowed: 0 1 2 3 4 5 6 8 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x17f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x1f7 (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x08, allowed: 0 1 2 4 5 6 7 8 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1f7 -> 0x1ef (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1bf -> 0x17f (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x80, allowed: 0 1 2 3 4 5 6 8 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x17f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x1fb (active_len=8, ramp_len=10, adm_len=8, perm_len=9, rotation=on) +pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 8)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fc -> 0x3f9 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x06, allowed: 0 3 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f9 -> 0x3f3 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0c, allowed: 0 1 4 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f3 -> 0x3e7 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x18, allowed: 0 1 2 5 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e7 -> 0x3cf (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x30, allowed: 0 1 2 3 6 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3cf -> 0x39f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x60, allowed: 0 1 2 3 4 7 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x39f -> 0x33f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xc0, allowed: 0 1 2 3 4 5 8 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x33f -> 0x27f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x80, allowed: 0 1 2 3 4 5 6 9 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x27f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fc -> 0x3f9 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x06, allowed: 0 3 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f9 -> 0x3f3 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x0c, allowed: 0 1 4 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f3 -> 0x3e7 (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x18, allowed: 0 1 2 5 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3e7 -> 0x3cf (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x30, allowed: 0 1 2 3 6 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3cf -> 0x39f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x60, allowed: 0 1 2 3 4 7 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x39f -> 0x33f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0xc0, allowed: 0 1 2 3 4 5 8 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x33f -> 0x27f (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x80, allowed: 0 1 2 3 4 5 6 9 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x27f -> 0x0ff (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x3fc (active_len=8, ramp_len=10, adm_len=8, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() +===test_acc_mgr_rotate(false, 9)=== +(bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) +BTS allocation OK in test_acc_mgr_rotate() +(bts=0) ACC: update ACC allowed active subset 0x3ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +sys={2.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fe -> 0x3fd (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x02, allowed: 0 2 3 4 5 6 7 8 9 +sys={4.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fd -> 0x3fb (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x04, allowed: 0 1 3 4 5 6 7 8 9 +sys={6.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fb -> 0x3f7 (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x08, allowed: 0 1 2 4 5 6 7 8 9 +sys={8.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f7 -> 0x3ef (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x10, allowed: 0 1 2 3 5 6 7 8 9 +sys={10.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3ef -> 0x3df (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x20, allowed: 0 1 2 3 4 6 7 8 9 +sys={12.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3df -> 0x3bf (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x40, allowed: 0 1 2 3 4 5 7 8 9 +sys={14.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3bf -> 0x37f (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x80, allowed: 0 1 2 3 4 5 6 8 9 +sys={16.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x37f -> 0x2ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x00, allowed: 0 1 2 3 4 5 6 7 9 +sys={18.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x2ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +sys={20.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +sys={22.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fe -> 0x3fd (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x02, allowed: 0 2 3 4 5 6 7 8 9 +sys={24.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fd -> 0x3fb (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x04, allowed: 0 1 3 4 5 6 7 8 9 +sys={26.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3fb -> 0x3f7 (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x08, allowed: 0 1 2 4 5 6 7 8 9 +sys={28.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3f7 -> 0x3ef (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x10, allowed: 0 1 2 3 5 6 7 8 9 +sys={30.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3ef -> 0x3df (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x20, allowed: 0 1 2 3 4 6 7 8 9 +sys={32.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3df -> 0x3bf (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x40, allowed: 0 1 2 3 4 5 7 8 9 +sys={34.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x3bf -> 0x37f (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x80, allowed: 0 1 2 3 4 5 6 8 9 +sys={36.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x37f -> 0x2ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x01 t3=0x00, allowed: 0 1 2 3 4 5 6 7 9 +sys={38.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x2ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 +sys={40.000000}: select() +(bts=0) ACC: rotate ACC allowed active subset 0x1ff -> 0x3fe (active_len=9, ramp_len=10, adm_len=9, perm_len=10, rotation=on) +pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9 +BTS deallocated OK in test_acc_mgr_rotate() ===test_acc_ramp=== (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off) BTS allocation OK in test_acc_ramp() -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8ac8ef362af8222e6b7e302e3763811ba093db62 Gerrit-Change-Number: 19850 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 Aug 27 14:32:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:32:26 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19847 ) Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Aug 2020 14:32: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 Aug 27 14:32:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 14:32:28 +0000 Subject: Change in libosmocore[master]: lapd_test: add a test checking SAPI0/SAPI3 prioritization In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19847 ) Change subject: lapd_test: add a test checking SAPI0/SAPI3 prioritization ...................................................................... lapd_test: add a test checking SAPI0/SAPI3 prioritization Recently we've encountered a situation where during MT SMS delivery, the func=SABM for SAPI=3 was sent on Downlink *before* the BTS replied with the func=UA for SAPI=0 (contetion resolution procedure, where we echo the (RR) Paging Response back to the MS). This change adds a unit test reprodicing the problem. Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Related: SYS#5047, OS#4731 --- M tests/lapd/lapd_test.c M tests/lapd/lapd_test.ok 2 files changed, 87 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 3ea2706..48851f4 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -73,6 +73,17 @@ 0x00, 0x00, 0x80, 0x2b, 0x2b, 0x2b, 0x2b }; +static const uint8_t pr[] = { + 0x06, 0x27, 0x07, 0x03, 0x50, 0x58, 0x92, 0x05, + 0xf4, 0x44, 0x59, 0xba, 0x63, +}; + +static const uint8_t ua_pr[] = { + 0x01, 0x73, 0x35, 0x06, 0x27, 0x07, 0x03, 0x50, + 0x58, 0x92, 0x05, 0xf4, 0x44, 0x59, 0xba, 0x63, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, +}; + static const uint8_t mm[] = { 0x00, 0x0c, 0x00, 0x03, 0x01, 0x01, 0x20, 0x02, 0x00, 0x0b, 0x00, 0x03, 0x05, 0x04, 0x0d @@ -757,6 +768,63 @@ lapdm_channel_exit(&bts_to_ms_channel); } +static void test_lapdm_sapi_prio(void) +{ + static const uint8_t dl_sabm[] = { 0x0f, 0x3f, 0x01 }; + struct osmo_phsap_prim pp1, pp2; + struct lapdm_channel lc = { }; + struct msgb *msg; + int rc; + + printf("\n=== I test SAPI0/SAPI3 prioritization ===\n\n"); + + /* BTS to MS in polling mode */ + lapdm_channel_init(&lc, LAPDM_MODE_BTS); + lapdm_channel_set_flags(&lc, LAPDM_ENT_F_POLLING_ONLY); + lapdm_channel_set_l1(&lc, NULL, NULL); + lapdm_channel_set_l3(&lc, bts_to_ms_dummy_tx_cb, NULL); + + /* MS establishes a SAPI=0 link by sending func=SABM on SDCCH */ + printf("MS is establishing a SAPI=0 link\n"); + send_sabm(&lc, 0, pr, sizeof(pr)); + + /* BTS establishes a SAPI=3 link by sending func=SABM on SDCCH */ + msg = create_est_req(est_req_sdcch_sapi3, sizeof(est_req_sdcch_sapi3)); + printf("BTS is establishing a SAPI=3 link\n"); + rc = lapdm_rslms_recvmsg(msg, &lc); + OSMO_ASSERT(rc == 0); + + /* Make sure that we get func=UA on SDCCH from the BTS first */ + rc = dequeue_prim(&lc.lapdm_dcch, &pp1, "DCCH"); + CHECK_RC(rc); + + /* Contention resolution is completed, we should get func=SABM now */ + rc = dequeue_prim(&lc.lapdm_dcch, &pp2, "DCCH"); + CHECK_RC(rc); + + /* Check the actual message payload */ + rc = memcmp(pp1.oph.msg->l2h, ua_pr, sizeof(ua_pr)); + printf("Checking the func=UA message: %s\n", rc == 0 ? "OK" : "FAIL"); + rc = memcmp(pp2.oph.msg->l2h, dl_sabm, sizeof(dl_sabm)); + printf("Checking the func=SABM message: %s\n", rc == 0 ? "OK" : "FAIL"); + + msgb_free(pp1.oph.msg); + msgb_free(pp2.oph.msg); + + /* Make sure that the queues are empty now */ + printf("\nChecking whether the DCCH/SACCH queues are empty\n"); + rc = dequeue_prim(&lc.lapdm_dcch, &pp1, "DCCH"); + OSMO_ASSERT(rc < 0); + rc = dequeue_prim(&lc.lapdm_dcch, &pp2, "SACCH"); + OSMO_ASSERT(rc < 0); + + /* Clean up */ + lapdm_channel_exit(&lc); + + /* Check if exit is idempotent */ + lapdm_channel_exit(&lc); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "lapd_test"); @@ -773,6 +841,7 @@ test_lapdm_contention_resolution(); test_lapdm_establishment(); test_lapdm_desync(); + test_lapdm_sapi_prio(); printf("Success.\n"); diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 16f6fc3..5b95195 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -124,4 +124,22 @@ MSGB: L3 is undefined Took message from DCCH queue: L2 header size 23, L3 size 0, SAP 0x1000000, 0/0, Link 0x03 Message: [L2]> 0d 21 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b + +=== I test SAPI0/SAPI3 prioritization === + +MS is establishing a SAPI=0 link +bts_to_ms_dummy_tx_cb: MS->BTS(us) message 22 +BTS is establishing a SAPI=3 link +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 +Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 +Message: [L2]> 01 73 35 [L3]> 06 27 07 03 50 58 92 05 f4 44 59 ba 63 2b 2b 2b 2b 2b 2b 2b +Checking the func=UA message: FAIL +Checking the func=SABM message: FAIL + +Checking whether the DCCH/SACCH queues are empty +lapdm_phsap_dequeue_prim(): got rc -19: No such device +lapdm_phsap_dequeue_prim(): got rc -19: No such device Success. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ied0f8bb683de8e37bcfa984c2877aa1cec1c0b4b Gerrit-Change-Number: 19847 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 14:52:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:52:09 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 --- M src/osmo_ss7.c 1 file changed, 38 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/51/19851/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index bae9904..6357be1 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1137,6 +1137,24 @@ return 0; } +static inline bool host_is_ipv6(const char *host) +{ + return host && strchr(host, ':'); +} + +/* Expects an IPv6 address formatted string */ +static inline bool host_is_ipv4_anyaddr(const char *host) +{ + /* NULL addr is resolved as 0.0.0.0 (IPv4) by getaddrinfo(). */ + return !host || !strcmp(host, "0.0.0.0"); +} + +/* Expects an IPv6 address formatted string (no NULL) */ +static inline bool host_is_ipv6_anyaddr(const char *host) +{ + return host && !strcmp(host, "::"); +} + /*! \brief Append (copy) address to a given ASP peer. Previous addresses are kept. * \param[in] peer Application Server Process peer the address is appened to. * \param[in] talloc_ctx talloc context used to allocate new address. @@ -1146,23 +1164,31 @@ { int i; - bool new_is_any = !host || !strcmp(host, "0.0.0.0"); - bool iter_is_any; + bool new_is_v6 = host_is_ipv6(host); + bool new_is_any = host_is_ipv4_anyaddr(host) || host_is_ipv6_anyaddr(host); + bool iter_is_v6, iter_is_any; if (peer->host_cnt >= ARRAY_SIZE(peer->host)) return -EINVAL; - /* Makes no sense to have INET_ANY many times, or INET_ANY together with - specific addresses: */ - if (new_is_any && peer->host_cnt != 0) - return -EINVAL; - - /* Makes no sense to add specific address to set if INET_ANY is - already set: */ - if (!new_is_any) { + if (new_is_any) { + /* Makes no sense to have INET_ANY many times, or INET_ANY together with + specific addresses: */ for (i = 0; i < peer->host_cnt; i++) { - iter_is_any = !peer->host[i] || - !strcmp(peer->host[i], "0.0.0.0"); + iter_is_v6 = host_is_ipv6(peer->host[i]); + if (new_is_v6 != iter_is_v6) + continue; + return -EINVAL; + } + } else { + /* Makes no sense to add specific address to set if INET_ANY is + already set: */ + for (i = 0; i < peer->host_cnt; i++) { + iter_is_v6 = host_is_ipv6(peer->host[i]); + if (new_is_v6 != iter_is_v6) + continue; + iter_is_any = iter_is_v6 ? host_is_ipv6_anyaddr(peer->host[i]) + : host_is_ipv4_anyaddr(peer->host[i]); if (iter_is_any) return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-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 Aug 27 14:52:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:52:10 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 --- M src/osmo_ss7.c 1 file changed, 17 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/52/19852/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 6357be1..fd8bfdb 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1256,6 +1256,7 @@ socklen_t sa_len_r = sizeof(sa_r); char hostbuf_l[64], hostbuf_r[64]; uint16_t local_port, remote_port; + bool loc_is_v6, rem_is_v6; int rc; int i; @@ -1287,6 +1288,8 @@ */ chop_v4_mapped_on_v6_prefix(hostbuf_l); chop_v4_mapped_on_v6_prefix(hostbuf_r); + loc_is_v6 = host_is_ipv6(hostbuf_l); + rem_is_v6 = host_is_ipv6(hostbuf_r); /* check all instances for any ASP definition matching the * address combination of local/remote ip/port */ @@ -1299,8 +1302,13 @@ continue; for (i = 0; i < asp->cfg.local.host_cnt; i++) { - bool is_any = !asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], "0.0.0.0"); - if (is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + bool iter_is_any; + bool iter_is_v6 = host_is_ipv6(asp->cfg.local.host[i]); + if (iter_is_v6 != loc_is_v6) + continue; + iter_is_any = iter_is_v6 ? host_is_ipv6_anyaddr(asp->cfg.local.host[i]) + : host_is_ipv4_anyaddr(asp->cfg.local.host[i]); + if (iter_is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) break; } if (i == asp->cfg.local.host_cnt) @@ -1309,7 +1317,13 @@ /* If no remote host was set, it's probably a server and hence we match any cli src */ if (asp->cfg.remote.host_cnt) { for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + bool iter_is_any; + bool iter_is_v6 = host_is_ipv6(asp->cfg.remote.host[i]); + if (iter_is_v6 != rem_is_v6) + continue; + iter_is_any = iter_is_v6 ? host_is_ipv6_anyaddr(asp->cfg.remote.host[i]) + : host_is_ipv4_anyaddr(asp->cfg.remote.host[i]); + if (iter_is_any || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) break; } if (i == asp->cfg.remote.host_cnt) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-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 Aug 27 14:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 27 Aug 2020 14:57:23 +0000 Subject: Change in osmo-trx[master]: logger: allow disabling all logging at compile time In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19804 ) Change subject: logger: allow disabling all logging at compile time ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/19804/1/CommonLibs/Logger.h File CommonLibs/Logger.h: https://gerrit.osmocom.org/c/osmo-trx/+/19804/1/CommonLibs/Logger.h at 55 PS1, Line 55: #define MAYBE_LOG(src, level) if (!log_check_level(src, level) || DISABLE_ALL_LOGGING) {} else > So there's two things here in the same patch: [?] Well the problem is even if you undef the actual logging macro everything else still happens and the stream is still being fed a log line in small chunks. As long as convenient stream based logging is happening there is no way around protecting the log line stream with a log object, and the checks happen too late, and there is no way around that within the log object. The only way is therefore to either ditch the stream and change all log lines to a function call or to "wrap" them with this if macro that has to end without braces and unfortunately gets killed by the useless werror... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I353ded020844eb4df7d7803785663789f8211d23 Gerrit-Change-Number: 19804 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 14:57: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 Aug 27 14:57:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:57:51 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 14:57:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 14:57:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:57:57 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 14:57:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 14:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:58:00 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 14:58: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 Aug 27 14:58:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:58:03 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 14:58: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 Aug 27 14:58:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 14:58:07 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: Add function to print docker network related param... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19800 ) Change subject: jenkins-common.sh: Add function to print docker network related parameters ...................................................................... jenkins-common.sh: Add function to print docker network related parameters Change-Id: Ie00561de7a4494065156a124565e2190151e6019 --- M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-gsm-tester/jenkins.sh M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-nitb-sysinfo/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 20 files changed, 100 insertions(+), 73 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/jenkins-common.sh b/jenkins-common.sh index 2993767..d9e79a4 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -98,6 +98,15 @@ docker network remove $NET_NAME } +# Generates list of params to pass to "docker run" to configure IP addresses +# $1: SUBNET to use, same as passed to network_create() +# $2: Address suffix from SUBNET to apply to the container +docker_network_params() { + NET=$1 + ADDR_SUFIX=$2 + echo --network $NET_NAME --ip "172.18.$NET.$ADDR_SUFIX" --ip6 "fd02:db8:$NET::$ADDR_SUFIX" +} + fix_perms() { if ! docker_image_exists "debian-stretch-build"; then docker_images_require "debian-stretch-build" diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index ac6a880..fff96b7 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -15,12 +15,13 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 7 +SUBNET=7 +network_create $SUBNET # start container with STP in background docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.7.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp \ @@ -28,7 +29,7 @@ # start docker container with tests docker run --rm \ - --network $NET_NAME --ip 172.18.7.2 \ + $(docker_network_params $SUBNET 2) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/m3ua-tester:/data \ --name ${BUILD_TAG}-m3ua-test \ diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index 39d37bb..d62ac29 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -15,12 +15,13 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ -network_create 6 +SUBNET=6 +network_create $SUBNET # start container with STP in background docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.6.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp \ @@ -28,7 +29,7 @@ # start docker container with tests docker run --rm \ - --network $NET_NAME --ip 172.18.6.3 \ + $(docker_network_params $SUBNET 3) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sua-tester:/data \ --name ${BUILD_TAG}-sua-test \ diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 5066012..5d30f42 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -58,7 +58,8 @@ "debian-stretch-jenkins" \ "osmo-gsm-tester" -network_create 50 +SUBNET=50 +network_create $SUBNET mkdir $VOL_BASE_DIR/ogt-slave cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ @@ -72,8 +73,7 @@ --cap-add=SYS_ADMIN \ --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ - --network $NET_NAME \ - --ip 172.18.50.100 \ + $(docker_network_params $SUBNET 100) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ogt-slave:/data \ --name ${BUILD_TAG}-ogt-slave -d \ @@ -88,8 +88,7 @@ --cap-add=SYS_ADMIN \ --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ - --network $NET_NAME \ - --ip 172.18.50.2 \ + $(docker_network_params $SUBNET 2) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v "${TRIAL_DIR}:/tmp/trial" \ diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index f49474b..ab8c06d 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,7 +16,8 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -network_create 12 +SUBNET=12 +network_create $SUBNET # Disable stats testing until libosmocore release > 1.4.0 if [ "$IMAGE_SUFFIX" = "latest" ]; then @@ -27,7 +28,7 @@ echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.12.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -37,7 +38,7 @@ for i in `seq 0 2`; do echo Starting container with OML for BTS$i docker run --rm \ - --network $NET_NAME --ip 172.18.12.10$i \ + $(docker_network_params $SUBNET 10$i) \ --ulimit core=-1 \ --name ${BUILD_TAG}-bts$i -d \ $DOCKER_ARGS \ @@ -47,7 +48,7 @@ echo Starting container with BSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.12.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 2319b9c..e005eae 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -31,11 +31,12 @@ sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi -network_create 2 +SUBNET=2 +network_create $SUBNET echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.2.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -45,7 +46,7 @@ echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.2.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -55,7 +56,7 @@ for i in `seq 0 2`; do echo Starting container with OML for BTS$i docker run --rm \ - --network $NET_NAME --ip 172.18.2.10$i \ + $(docker_network_params $SUBNET 10$i) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bts-omldummy:/data \ --name ${BUILD_TAG}-bts$i -d \ @@ -66,7 +67,7 @@ echo Starting container with BSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.2.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 08d5be8..9b04955 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -14,11 +14,12 @@ cp osmo-bsc-nat.cfg $VOL_BASE_DIR/bscnat/ cp bscs.config $VOL_BASE_DIR/bscnat/ -network_create 15 +SUBNET=15 +network_create $SUBNET echo Starting container with BSCNAT docker run --rm \ - --network $NET_NAME --ip 172.18.15.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bscnat:/data \ --name ${BUILD_TAG}-bscnat -d \ @@ -28,7 +29,7 @@ echo Starting container with BSCNAT testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.15.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bscnat-tester:/data \ diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index b05a335..f544d8a 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -12,7 +12,7 @@ start_bsc() { echo Starting container with BSC docker run --rm \ - --network $NET_NAME --ip 172.18.9.11 \ + $(docker_network_params $SUBNET 11) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ @@ -31,7 +31,7 @@ exit 23 fi docker run --rm \ - --network $NET_NAME --ip 172.18.9.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bts:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -45,7 +45,7 @@ start_fake_trx() { echo Starting container with fake_trx docker run --rm \ - --network $NET_NAME --ip 172.18.9.21 \ + $(docker_network_params $SUBNET 21) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/fake_trx:/data \ --name ${BUILD_TAG}-fake_trx -d \ @@ -65,7 +65,7 @@ start_trxcon() { echo Starting container with trxcon docker run --rm \ - --network $NET_NAME --ip 172.18.9.22 \ + $(docker_network_params $SUBNET 22) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/trxcon:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -78,7 +78,7 @@ start_virtphy() { echo Starting container with virtphy docker run --rm \ - --network $NET_NAME --ip 172.18.9.22 \ + $(docker_network_params $SUBNET 22) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/virtphy:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -92,7 +92,7 @@ echo Starting container with BTS testsuite variant=$1 # e.g 'generic', 'oml', 'hopping' docker run --rm \ - --network $NET_NAME --ip 172.18.9.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bts-tester-${variant}:/data \ @@ -102,7 +102,8 @@ $REPO_USER/ttcn3-bts-test } -network_create 9 +SUBNET=9 +network_create $SUBNET mkdir $VOL_BASE_DIR/bts-tester-generic cp BTS_Tests.cfg $VOL_BASE_DIR/bts-tester-generic/ @@ -160,6 +161,7 @@ # switch back from virtphy + osmo-bts-virtual to osmo-bts-trx docker container kill ${BUILD_TAG}-virtphy docker container kill ${BUILD_TAG}-bts + cp oml/osmo-bts.cfg $VOL_BASE_DIR/bts/ start_bts trx 1 start_fake_trx @@ -187,7 +189,7 @@ docker container kill ${BUILD_TAG}-fake_trx docker container kill ${BUILD_TAG}-bsc docker container kill ${BUILD_TAG}-bts - +docker container kill ${BUILD_TAG}-bsc network_remove rm -rf $VOL_BASE_DIR/unix diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index f6d5867..0aabe8a 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -12,14 +12,15 @@ mkdir $VOL_BASE_DIR/ggsn cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/ -network_create 3 +SUBNET=3 +network_create $SUBNET # start container with ggsn in background docker run --cap-add=NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ --rm \ - --network $NET_NAME --ip 172.18.3.201 --ip6 fd02:db8:3::201 \ + $(docker_network_params $SUBNET 201) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ @@ -30,7 +31,7 @@ # start docker container with testsuite in foreground docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.3.202 --ip6 fd02:db8:3::202 \ + $(docker_network_params $SUBNET 202) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 337491d..93ba6c3 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-hlr-$IMAGE_SUFFIX" \ "ttcn3-hlr-test" -network_create 10 +SUBNET=10 +network_create $SUBNET mkdir $VOL_BASE_DIR/hlr-tester cp HLR_Tests.cfg $VOL_BASE_DIR/hlr-tester/ @@ -22,7 +23,7 @@ echo Starting container with HLR docker run --rm \ - --network $NET_NAME --ip 172.18.10.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/hlr:/data \ --name ${BUILD_TAG}-hlr -d \ @@ -32,7 +33,7 @@ echo Starting container with HLR testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.10.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/hlr-tester:/data \ diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index e27db09..228740b 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -12,7 +12,8 @@ mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -network_create 4 +SUBNET=4 +network_create $SUBNET # Disable e1 config options until osmo-mgw >= 1.8.0 release if [ "$IMAGE_SUFFIX" = "latest" ]; then @@ -23,7 +24,7 @@ # start container with mgw in background docker run --rm \ - --network $NET_NAME --ip 172.18.4.180 \ + $(docker_network_params $SUBNET 180) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/mgw:/data \ --name ${BUILD_TAG}-mgw -d \ @@ -32,7 +33,7 @@ # start docker container with testsuite in foreground docker run --rm \ - --network $NET_NAME --ip 172.18.4.181 \ + $(docker_network_params $SUBNET 181) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/mgw-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index f229868..03afb24 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -7,7 +7,8 @@ "osmo-msc-$IMAGE_SUFFIX" \ "ttcn3-msc-test" -network_create 20 +SUBNET=20 +network_create $SUBNET mkdir $VOL_BASE_DIR/msc-tester mkdir $VOL_BASE_DIR/msc-tester/unix @@ -32,7 +33,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.20.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -40,7 +41,7 @@ echo Starting container with MSC docker run --rm \ - --network $NET_NAME --ip 172.18.20.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -51,7 +52,7 @@ echo Starting container with MSC testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.20.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/msc-tester:/data \ diff --git a/ttcn3-nitb-sysinfo/jenkins.sh b/ttcn3-nitb-sysinfo/jenkins.sh index 166a04d..c31ad6d 100755 --- a/ttcn3-nitb-sysinfo/jenkins.sh +++ b/ttcn3-nitb-sysinfo/jenkins.sh @@ -2,13 +2,14 @@ . ../jenkins-common.sh -network_create 5 +SUBNET=5 +network_create $SUBNET # start container with nitb in background docker volume rm nitb-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v nitb-vol:/data \ --name ${BUILD_TAG}-nitb -d \ @@ -18,7 +19,7 @@ docker volume rm bts-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.210 \ + $(docker_network_params $SUBNET 210) \ --ulimit core=-1 \ -v bts-vol:/data \ --name ${BUILD_TAG}-bts -d \ @@ -29,7 +30,7 @@ docker volume rm ttcn3-nitb-sysinfo-vol docker run --rm \ --sysctl net.ipv6.conf.all.disable_ipv6=0 \ - --network $NET_NAME --ip 172.18.5.230 \ + $(docker_network_params $SUBNET 230) \ --ulimit core=-1 \ -v ttcn3-nitb-sysinfo-vol:/data \ --name ${BUILD_TAG}-ttcn3-nitb-sysinfo \ diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 00376e7..9428776 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -6,7 +6,8 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 14 +SUBNET=14 +network_create $SUBNET mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix @@ -20,7 +21,7 @@ echo Starting container with PCU docker run --rm \ - --network $NET_NAME --ip 172.18.14.101 \ + $(docker_network_params $SUBNET 101) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with PCU testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.14.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/pcu-tester:/data \ diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index fa4c914..5dedec7 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-pcu-$IMAGE_SUFFIX" \ "ttcn3-pcu-test" -network_create 13 +SUBNET=13 +network_create $SUBNET mkdir $VOL_BASE_DIR/pcu-tester mkdir $VOL_BASE_DIR/pcu-tester/unix @@ -20,7 +21,7 @@ echo Starting container with PCU docker run --rm \ - --network $NET_NAME --ip 172.18.13.101 \ + $(docker_network_params $SUBNET 101) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with PCU testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.13.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/pcu-tester:/data \ diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index c2e958c..58279b9 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -9,7 +9,7 @@ start_server() { echo Starting container with osmo-remsim-server docker run --rm \ - --network $NET_NAME --ip 172.18.17.20 \ + $(docker_network_params $SUBNET 20) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/server:/data \ --name ${BUILD_TAG}-server -d \ @@ -21,7 +21,7 @@ start_bankd() { echo Starting container with osmo-remsim-bankd docker run --rm \ - --network $NET_NAME --ip 172.18.17.30 \ + $(docker_network_params $SUBNET 30) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/bankd:/data \ --name ${BUILD_TAG}-bankd -d \ @@ -33,7 +33,7 @@ start_client() { echo Starting container with osmo-remsim-client docker run --rm \ - --network $NET_NAME --ip 172.18.17.40 \ + $(docker_network_params $SUBNET 40) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ @@ -47,7 +47,7 @@ start_testsuite() { echo Starting container with REMSIM testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.17.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/remsim-tester:/data \ @@ -56,7 +56,8 @@ $REPO_USER/ttcn3-remsim-test } -network_create 17 +SUBNET=17 +network_create $SUBNET mkdir $VOL_BASE_DIR/remsim-tester diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 895f12c..b47589c 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -13,11 +13,12 @@ mkdir $VOL_BASE_DIR/sccp cp sccp_demo_user.cfg $VOL_BASE_DIR/sccp/ -network_create 22 +SUBNET=22 +network_create $SUBNET echo Starting container with sccp_demo_user docker run --rm \ - --network $NET_NAME --ip 172.18.22.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sccp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -28,7 +29,7 @@ echo Starting container with SCCP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.22.203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sccp-tester:/data \ diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index df91256..329dbef 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -7,7 +7,8 @@ "osmo-sgsn-$IMAGE_SUFFIX" \ "ttcn3-sgsn-test" -network_create 8 +SUBNET=8 +network_create $SUBNET mkdir $VOL_BASE_DIR/sgsn-tester cp SGSN_Tests.cfg $VOL_BASE_DIR/sgsn-tester/ @@ -22,7 +23,7 @@ echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.8.200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -31,7 +32,7 @@ echo Starting container with SGSN docker run --rm \ - --network $NET_NAME --ip 172.18.8.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sgsn:/data \ --name ${BUILD_TAG}-sgsn -d \ @@ -41,7 +42,7 @@ echo Starting container with SGSN testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.8.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ @@ -51,7 +52,7 @@ echo Starting container to merge logs docker run --rm \ - --network $NET_NAME --ip 172.18.8.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index f1bfedd..36252b0 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -6,7 +6,8 @@ "osmo-sip-$IMAGE_SUFFIX" \ "ttcn3-sip-test" -network_create 11 +SUBNET=11 +network_create $SUBNET mkdir $VOL_BASE_DIR/sip-tester mkdir $VOL_BASE_DIR/sip-tester/unix @@ -20,7 +21,7 @@ echo Starting container with osmo-sip-connector docker run --rm \ - --network $NET_NAME --ip 172.18.11.10 \ + $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/sip:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ @@ -31,7 +32,7 @@ echo Starting container with SIP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.11.103 \ + $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sip-tester:/data \ diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index a53c58b..9ea97cb 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -19,11 +19,12 @@ sed 's/, "fd02:db8:19::200"//g' -i "$VOL_BASE_DIR/stp-tester/STP_Tests.cfg" fi -network_create 19 +SUBNET=19 +network_create $SUBNET echo Starting container with STP docker run --rm \ - --network $NET_NAME --ip 172.18.19.200 --ip6 fd02:db8:19::200 \ + $(docker_network_params $SUBNET 200) \ --ulimit core=-1 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ @@ -32,7 +33,7 @@ echo Starting container with STP testsuite docker run --rm \ - --network $NET_NAME --ip 172.18.19.203 --ip6 fd02:db8:19::203 \ + $(docker_network_params $SUBNET 203) \ --ulimit core=-1 \ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19800 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie00561de7a4494065156a124565e2190151e6019 Gerrit-Change-Number: 19800 Gerrit-PatchSet: 3 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 Thu Aug 27 15:02:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 15:02:34 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1//COMMIT_MSG at 8 PS1, Line 8: should explain what needed to be corrected... https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1/src/osmo_ss7.c at 1140 PS1, Line 1140: static inline bool host_is_ipv6(const char *host) we already have osmo_ip_str_type() in libosmocore/include/osmocom/core/sockaddr_str.h https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1/src/osmo_ss7.c at 1152 PS1, Line 1152: /* Expects an IPv6 address formatted string (no NULL) */ interesting, so NULL is v4 ANY, while :: is v6 ANY? That may be applied to osmo_ip_str_type() if it is generic enough? (i.e. osmo_ip_str_type() returns AF_UNSPEC for NULL, maybe it should return AF_INET instead?) Alternatively this code here could use something like host = host ? : "0.0.0.0"; also thinking that maybe some osmo_ip_str_is_any() could be added to sockaddr_str.h https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1/src/osmo_ss7.c at 1168 PS1, Line 1168: bool new_is_any = host_is_ipv4_anyaddr(host) || host_is_ipv6_anyaddr(host); looks like a host_is_any() for both v4 and v6 would be less code https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/1/src/osmo_ss7.c at 1191 PS1, Line 1191: : host_is_ipv4_anyaddr(peer->host[i]); (since v4/v6 is already checked, a plain host_is_any() mentioned above would also work here) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Thu, 27 Aug 2020 15:02: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 Aug 27 15:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 27 Aug 2020 15:07:26 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/19852/1/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/19852/1/src/osmo_ss7.c at 1311 PS1, Line 1311: if (iter_is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) (thinking now, the strcmp() could move to the top, to skip all those 'any' conditions if the string matches anyway ... micro optimisation, nevermind) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 27 Aug 2020 15:07:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 15:11:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 15:11:33 +0000 Subject: Change in libosmocore[master]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19853 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH According to 3GPP TS 44.005, section 4.2.2 "Priority": a) on DCCH, a SAPI=0 frame always has higher priority than SAPI=3; b) on ACCH, the priority arrangement is more complex: b1) if a SAPI = 3 frame is awaiting transmission, two SAPI=0 frames shall not be sent in consecutive SACCH frames; b2) on the network side (LAPDM_MODE_BTS), it must also be ensured that any SAPI=3 frame is followed by at least one SAPI=0 frame; b3) a SAPI = 0 frame may be repeated in the next SACCH period if the Repeated SACCH is supported (see 3GPP TS 44.006, section 11). We definitely need to extend our testing coverage to ensure that we implement b) correctly, but for now let's focus on DCCH: a) for DCCH, ensure that SAPI=0 frames preceed SAPI=3 ones; b) for ACCH, re-use the existing round-robin implementation. Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Related: SYS#5047, OS#4731 --- M src/gsm/lapdm.c M tests/lapd/lapd_test.ok 2 files changed, 26 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/19853/1 diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index 21227e3..bfd6d26 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -380,7 +380,21 @@ return le->l1_prim_cb(&pp.oph, le->l1_ctx); } -static struct msgb *tx_dequeue_msgb(struct lapdm_entity *le) +/* Dequeue a Downlink message for DCCH (dedicated channel) */ +static struct msgb *tx_dequeue_dcch_msgb(struct lapdm_entity *le) +{ + struct msgb *msg; + + /* SAPI=0 always has higher priority than SAPI=3 */ + msg = msgb_dequeue(&le->datalink[DL_SAPI0].dl.tx_queue); + if (msg == NULL) /* no SAPI=0 messages, dequeue SAPI=3 (if any) */ + msg = msgb_dequeue(&le->datalink[DL_SAPI3].dl.tx_queue); + + return msg; +} + +/* Dequeue a Downlink message for ACCH (associated channel) */ +static struct msgb *tx_dequeue_acch_msgb(struct lapdm_entity *le) { struct lapdm_datalink *dl; int last = le->last_tx_dequeue; @@ -411,7 +425,12 @@ struct msgb *msg; uint8_t pad; - msg = tx_dequeue_msgb(le); + /* Dequeue depending on channel type: DCCH or ACCH. + * See 3GPP TS 44.005, section 4.2.2 "Priority". */ + if (le == &le->lapdm_ch->lapdm_dcch) + msg = tx_dequeue_dcch_msgb(le); + else + msg = tx_dequeue_acch_msgb(le); if (!msg) return -ENODEV; diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 5b95195..065886c 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -131,13 +131,13 @@ bts_to_ms_dummy_tx_cb: MS->BTS(us) message 22 BTS is establishing a SAPI=3 link lapdm_phsap_dequeue_prim(): got rc 0: Success -Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 -Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 35 [L3]> 06 27 07 03 50 58 92 05 f4 44 59 ba 63 2b 2b 2b 2b 2b 2b 2b -Checking the func=UA message: FAIL -Checking the func=SABM message: FAIL +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 +Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +Checking the func=UA message: OK +Checking the func=SABM message: OK Checking whether the DCCH/SACCH queues are empty lapdm_phsap_dequeue_prim(): got rc -19: No such device -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19853 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 Aug 27 15:17:25 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 27 Aug 2020 15:17:25 +0000 Subject: Change in libosmocore[master]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19853 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19853 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Thu, 27 Aug 2020 15:17: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 Aug 27 15:30:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 15:30:00 +0000 Subject: Change in libosmocore[master]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19853 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... Patch Set 1: Code-Review+1 Just to make sure: there's only SAPI0 and SAPI3 in DCCH? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19853 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 15: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 Thu Aug 27 15:33:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 15:33:04 +0000 Subject: Change in libosmocore[master]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19853 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19853 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Aug 2020 15: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 Thu Aug 27 15:33:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Aug 2020 15:33:08 +0000 Subject: Change in libosmocore[master]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19853 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH According to 3GPP TS 44.005, section 4.2.2 "Priority": a) on DCCH, a SAPI=0 frame always has higher priority than SAPI=3; b) on ACCH, the priority arrangement is more complex: b1) if a SAPI = 3 frame is awaiting transmission, two SAPI=0 frames shall not be sent in consecutive SACCH frames; b2) on the network side (LAPDM_MODE_BTS), it must also be ensured that any SAPI=3 frame is followed by at least one SAPI=0 frame; b3) a SAPI = 0 frame may be repeated in the next SACCH period if the Repeated SACCH is supported (see 3GPP TS 44.006, section 11). We definitely need to extend our testing coverage to ensure that we implement b) correctly, but for now let's focus on DCCH: a) for DCCH, ensure that SAPI=0 frames preceed SAPI=3 ones; b) for ACCH, re-use the existing round-robin implementation. Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Related: SYS#5047, OS#4731 --- M src/gsm/lapdm.c M tests/lapd/lapd_test.ok 2 files changed, 26 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: 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/gsm/lapdm.c b/src/gsm/lapdm.c index 21227e3..bfd6d26 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -380,7 +380,21 @@ return le->l1_prim_cb(&pp.oph, le->l1_ctx); } -static struct msgb *tx_dequeue_msgb(struct lapdm_entity *le) +/* Dequeue a Downlink message for DCCH (dedicated channel) */ +static struct msgb *tx_dequeue_dcch_msgb(struct lapdm_entity *le) +{ + struct msgb *msg; + + /* SAPI=0 always has higher priority than SAPI=3 */ + msg = msgb_dequeue(&le->datalink[DL_SAPI0].dl.tx_queue); + if (msg == NULL) /* no SAPI=0 messages, dequeue SAPI=3 (if any) */ + msg = msgb_dequeue(&le->datalink[DL_SAPI3].dl.tx_queue); + + return msg; +} + +/* Dequeue a Downlink message for ACCH (associated channel) */ +static struct msgb *tx_dequeue_acch_msgb(struct lapdm_entity *le) { struct lapdm_datalink *dl; int last = le->last_tx_dequeue; @@ -411,7 +425,12 @@ struct msgb *msg; uint8_t pad; - msg = tx_dequeue_msgb(le); + /* Dequeue depending on channel type: DCCH or ACCH. + * See 3GPP TS 44.005, section 4.2.2 "Priority". */ + if (le == &le->lapdm_ch->lapdm_dcch) + msg = tx_dequeue_dcch_msgb(le); + else + msg = tx_dequeue_acch_msgb(le); if (!msg) return -ENODEV; diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index 5b95195..065886c 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -131,13 +131,13 @@ bts_to_ms_dummy_tx_cb: MS->BTS(us) message 22 BTS is establishing a SAPI=3 link lapdm_phsap_dequeue_prim(): got rc 0: Success -Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 -Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -lapdm_phsap_dequeue_prim(): got rc 0: Success Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x00 Message: [L2]> 01 73 35 [L3]> 06 27 07 03 50 58 92 05 f4 44 59 ba 63 2b 2b 2b 2b 2b 2b 2b -Checking the func=UA message: FAIL -Checking the func=SABM message: FAIL +lapdm_phsap_dequeue_prim(): got rc 0: Success +Took message from DCCH queue: L2 header size 3, L3 size 20, SAP 0x1000000, 0/0, Link 0x03 +Message: [L2]> 0f 3f 01 [L3]> 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +Checking the func=UA message: OK +Checking the func=SABM message: OK Checking whether the DCCH/SACCH queues are empty lapdm_phsap_dequeue_prim(): got rc -19: No such device -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19853 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 15:35:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 15:35:40 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 to look at the new patch set (#2). Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() Until now, host list validation was only taking into account a set of ipv4-only addresses. As a set can contain now IPv4 and Ipv6 addresses at the same time, we need to do ANYADDAR validation against addresses of that specific version inside the set. Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 --- M src/osmo_ss7.c 1 file changed, 30 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/51/19851/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 15:35:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 15:35:40 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 to look at the new patch set (#2). Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 --- M src/osmo_ss7.c 1 file changed, 13 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/52/19852/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 27 17:54:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Aug 2020 17:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE osmo-pcu.git 0052051c07af63da98137c9f8e3b3119642eb587 introduced a bug (fixed in 1d68cdff928f32941aff36c70e4543203c283d15) where no MS could GMM attach to the network, but no test showed the issue. This couple test verifies both correct behavior and also ensures wrong IMSI is detected and reported. Related: OS#4729 Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 116 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/19854/1 diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index a518268..3aeba8f 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1077,7 +1077,7 @@ template PDU_BSSGP ts_BSSGP_STATUS(template BssgpBvci bvci, template BssgpCause cause, PDU_BSSGP pdu) := { pDU_BSSGP_STATUS := { - bssgpPduType := '0A'O, + bssgpPduType := '41'O, cause := t_BSSGP_CAUSE(cause), bVCI := t_BSSGP_BVCI(bvci), pDU_in_Error := { @@ -1091,6 +1091,23 @@ } } + template PDU_BSSGP tr_BSSGP_STATUS(template BVCI bvci := ?, template BssgpCause cause := ?, + template octetstring pdu := ?) := { + pDU_BSSGP_STATUS := { + bssgpPduType := '41'O, + cause := t_BSSGP_CAUSE(cause), + bVCI := bvci, + pDU_in_Error := { + iEI := '15'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + erroneous_BSSGP_PDU := pdu + } + } + } + private function f_presence_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { if (istemplatekind(mscap_gprs, "omit")) { return '0'B; @@ -1202,7 +1219,9 @@ } } - template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { + template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, + template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit, + template (omit) IMSI_BSSGP imsi := omit) := { pDU_BSSGP_DL_UNITDATA := { bssgpPduType := '00'O, tLLI_current := tlli, @@ -1211,7 +1230,7 @@ mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap), priority := omit, dRX_Parameters := omit, - iMSI := omit, + iMSI := imsi, tLLI_old := omit, pFI := omit, lSA_Information := omit, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bb10a77..c044957 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1831,6 +1831,98 @@ f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); } +/* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ +testcase TC_bssgp_dl_unitdata_with_valid_imsi() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn; + 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 */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Fake GMM GPRS Attach or similar, PCU doesn't care about upper layers here */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, imsi := ts_BSSGP_IMSI(ms.imsi))); + 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, data, 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 osmo-pcu acts on incorrect IMSI IE content in DL UNIT_DATA from SGSN. See OS#4729 */ +testcase TC_bssgp_dl_unitdata_with_invalid_imsi() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn; + 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 */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Fake GMM GPRS Attach or similar, PCU doesn't care about upper layers here */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data with an invalid IMSI */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, imsi := ts_BSSGP_IMSI('1122'H))); + + BSSGP_SIG[0].receive(tr_BSSGP_STATUS(omit, BSSGP_CAUSE_CONDITIONAL_IE_ERROR, ?)); + + /* TODO: make sure no data is sent over PCU -> MS */ + + f_shutdown(__BFILE__, __LINE__, final := true); +} + private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, template GsmRrMessage t_imm_ass := ?, PCUIF_BurstType bt := BURST_TYPE_1) @@ -2359,6 +2451,8 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + execute( TC_bssgp_dl_unitdata_with_valid_imsi() ); + execute( TC_bssgp_dl_unitdata_with_invalid_imsi() ); /* EGPRS specific test cases */ execute( TC_egprs_pkt_chan_req_signalling() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-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 Aug 27 22:15:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Aug 2020 22:15:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn at 1856 PS1, Line 1856: f_ms_establish_ul_tbf Just wondering: do we really need to establish an Uplink TBF here? Would it work if you skip this and trigger DL TBF establishment immediately? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 27 Aug 2020 22:15:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Aug 28 01:36:07 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Aug 2020 01:36:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f485f95904c6_6a032aad0a3625f4386078@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: [ 126s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 126s] [COMPILING libboard/qmod/source/card_pres.c] [ 126s] [COMPILING libboard/qmod/source/wwan_led.c] [ 126s] [COMPILING libboard/qmod/source/i2c.c] [ 126s] [COMPILING libboard/qmod/source/board_qmod.c] [ 126s] [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] [ 127s] Memory region Used Size Region Size %age Used [ 127s] rom: 16588 B 16 KB 101.25% [ 127s] 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' [ 127s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 127s] collect2: error: ld returned 1 exit status [ 127s] % [ 127s] make[2]: *** [Makefile:234: flash] Error 1 [ 127s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 127s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 127s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 127s] dh_auto_build: error: make -j1 returned exit code 2 [ 127s] make: *** [debian/rules:16: build] Error 25 [ 127s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 127s] ### VM INTERACTION START ### [ 130s] [ 122.252760] sysrq: Power Off [ 130s] [ 122.257692] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] old-atreju5 failed "build simtrace2_0.7.0.63.39070.dsc" at Fri Aug 28 01:35:52 UTC 2020. [ 130s] -- 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 Aug 28 08:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 08:02:40 +0000 Subject: Change in libosmo-sccp[master]: fixup for 'Introduce SS7 IPv6 support' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19855 ) Change subject: fixup for 'Introduce SS7 IPv6 support' ...................................................................... fixup for 'Introduce SS7 IPv6 support' Change-Id: Ia41c66665614436ded879c935755993bfeb259a0 --- M src/osmo_ss7_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/55/19855/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index fad93f5..f87da2e 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1807,10 +1807,10 @@ switch (vty->node) { case L_CS7_ASP_NODE: asp = vty->index; - /* If no local addr was set */ + /* If no local addr was set, use ANY */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); - /* If no remote addr was set */ + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); + /* If no remote addr was set, use localhost */ if (!asp->cfg.remote.host_cnt) osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); osmo_ss7_asp_restart(asp); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ia41c66665614436ded879c935755993bfeb259a0 Gerrit-Change-Number: 19855 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:07:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 08:07:31 +0000 Subject: Change in libosmo-sccp[master]: Revert "Introduce SS7 IPv6 support" References: Message-ID: Hello lynxis lazus, pespin, fixeria, laforge, Jenkins Builder, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 to review the following change. Change subject: Revert "Introduce SS7 IPv6 support" ...................................................................... Revert "Introduce SS7 IPv6 support" This reverts commit 0b39f2cf7bab5cf3924d8b0b753f41b5b0cabd25. Reason for revert: Breaks ttcn test suites (at least for osmo-bsc) with osmo-stp error log: "MTP-TRANSFER.req for DPC 187: no route!" The breakage is fixed by only reverting the NULL -> "localhost" change back to NULL. But the commit log indicated a reason for this, so rather reverting the entire commit for now. Change-Id: Ia97832f4e3ed646457d5c6eeba27352f1153edec --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 18 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/56/19856/1 diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 64874da..5b0c84f 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,4 +20,3 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 - local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index ff8103a..e904469 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,18 +1741,16 @@ - + - - + - + - - + @@ -1789,11 +1787,10 @@ config-cs7-listen - + - - + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index fad93f5..9c31c00 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,10 +470,9 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip " VTY_IPV46_CMD, + "local-ip A.B.C.D", "Configure the Local IP Address for xUA\n" - "IPv4 Address to use for XUA\n" - "IPv6 Address to use for XUA\n") + "IP Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -624,10 +623,9 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip " VTY_IPV46_CMD, + "local-ip A.B.C.D", "Specify Local IP Address from which to contact ASP\n" - "Local IPv4 Address from which to contact of ASP\n" - "Local IPv6 Address from which to contact of ASP\n") + "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); @@ -635,10 +633,9 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip " VTY_IPV46_CMD, + "remote-ip A.B.C.D", "Specify Remote IP Address of ASP\n" - "Remote IPv4 Address of ASP\n" - "Remote IPv6 Address of ASP\n") + "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); @@ -1809,10 +1806,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index ee1b3e5..7411b1f 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip (A.B.C.D|X:X::X:X) - local-ip (A.B.C.D|X:X::X:X) + remote-ip A.B.C.D + local-ip A.B.C.D qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index dff26c3..605bc93 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,9 +111,7 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', - '0000:0000:0000:0000:0000:0000:0000:0001'], - 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): found = True break else: @@ -124,7 +122,6 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 - # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -132,17 +129,7 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP (IPv4)") - s.close() - # IPv6: - s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) - s.bind(('::1', 0)) - try: - s.connect(('::1',2905)) - except socket.error as msg: - s.close() - self.assertTrue(False) - print("Connected to STP through SCTP (IPv6)") + print("Connected to STP through SCTP") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ia97832f4e3ed646457d5c6eeba27352f1153edec Gerrit-Change-Number: 19856 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:07:32 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 08:07:32 +0000 Subject: Change in libosmo-sccp[master]: Introduce SS7 IPv6 support In-Reply-To: References: Message-ID: neels has created a revert of this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 ) Change subject: Introduce SS7 IPv6 support ...................................................................... -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19732 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I69c48819b70635c92fa404cafd917af7802d517c Gerrit-Change-Number: 19732 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: revert -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:08:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 08:08:05 +0000 Subject: Change in libosmo-sccp[master]: Revert "Introduce SS7 IPv6 support" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 ) Change subject: Revert "Introduce SS7 IPv6 support" ...................................................................... Patch Set 1: Code-Review+2 fast track because of massive test fallout -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ia97832f4e3ed646457d5c6eeba27352f1153edec Gerrit-Change-Number: 19856 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 08: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 Fri Aug 28 08:10:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 08:10:06 +0000 Subject: Change in libosmo-sccp[master]: Revert "Introduce SS7 IPv6 support" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 ) Change subject: Revert "Introduce SS7 IPv6 support" ...................................................................... Revert "Introduce SS7 IPv6 support" This reverts commit 0b39f2cf7bab5cf3924d8b0b753f41b5b0cabd25. Reason for revert: Breaks ttcn test suites (at least for osmo-bsc) with osmo-stp error log: "MTP-TRANSFER.req for DPC 187: no route!" The breakage is fixed by only reverting the NULL -> "localhost" change back to NULL. But the commit log indicated a reason for this, so rather reverting the entire commit for now. Change-Id: Ia97832f4e3ed646457d5c6eeba27352f1153edec --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 18 insertions(+), 38 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 64874da..5b0c84f 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,4 +20,3 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 - local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index ff8103a..e904469 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,18 +1741,16 @@ - + - - + - + - - + @@ -1789,11 +1787,10 @@ config-cs7-listen - + - - + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index fad93f5..9c31c00 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,10 +470,9 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip " VTY_IPV46_CMD, + "local-ip A.B.C.D", "Configure the Local IP Address for xUA\n" - "IPv4 Address to use for XUA\n" - "IPv6 Address to use for XUA\n") + "IP Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -624,10 +623,9 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip " VTY_IPV46_CMD, + "local-ip A.B.C.D", "Specify Local IP Address from which to contact ASP\n" - "Local IPv4 Address from which to contact of ASP\n" - "Local IPv6 Address from which to contact of ASP\n") + "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); @@ -635,10 +633,9 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip " VTY_IPV46_CMD, + "remote-ip A.B.C.D", "Specify Remote IP Address of ASP\n" - "Remote IPv4 Address of ASP\n" - "Remote IPv6 Address of ASP\n") + "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); @@ -1809,10 +1806,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index ee1b3e5..7411b1f 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip (A.B.C.D|X:X::X:X) - local-ip (A.B.C.D|X:X::X:X) + remote-ip A.B.C.D + local-ip A.B.C.D qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index dff26c3..605bc93 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,9 +111,7 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', - '0000:0000:0000:0000:0000:0000:0000:0001'], - 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): found = True break else: @@ -124,7 +122,6 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 - # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -132,17 +129,7 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP (IPv4)") - s.close() - # IPv6: - s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) - s.bind(('::1', 0)) - try: - s.connect(('::1',2905)) - except socket.error as msg: - s.close() - self.assertTrue(False) - print("Connected to STP through SCTP (IPv6)") + print("Connected to STP through SCTP") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ia97832f4e3ed646457d5c6eeba27352f1153edec Gerrit-Change-Number: 19856 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:34:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 08:34:36 +0000 Subject: Change in pysim[master]: Add support for ADF_USIM/EF_EHPLMN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18649 ) Change subject: Add support for ADF_USIM/EF_EHPLMN ...................................................................... Patch Set 4: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I22d96ab4a424ec5bc1fb02f5e80165c646a748d3 Gerrit-Change-Number: 18649 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: guilly at gmail.com Gerrit-Comment-Date: Fri, 28 Aug 2020 08:34:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:35:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 08:35:15 +0000 Subject: Change in pysim[master]: Add support for ADF_USIM/EF_EHPLMN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18649 ) Change subject: Add support for ADF_USIM/EF_EHPLMN ...................................................................... Patch Set 4: merging this now, as the simtester is currently down anyway. I will bring a replacement SJA2 card to the office on tuesday, from which point onwards the test will pass. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I22d96ab4a424ec5bc1fb02f5e80165c646a748d3 Gerrit-Change-Number: 18649 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: guilly at gmail.com Gerrit-Comment-Date: Fri, 28 Aug 2020 08:35: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 Fri Aug 28 08:55:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 08:55:32 +0000 Subject: Change in pysim[master]: Add support for ADF_USIM/EF_EHPLMN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18649 ) Change subject: Add support for ADF_USIM/EF_EHPLMN ...................................................................... Add support for ADF_USIM/EF_EHPLMN If the EF.EHPLMN exists, it contains the "Equivalent Home PLMN List". The odd part of that list is that it is not just a list of additional PLMN identities, but if the first digits of the IMSI are *not* listed in EF.EHPLMN, then the MCC/MNC of the IMSI prefix is suddently no longer considered the home network, but the subscriber is roaming. See TS 23.122: "If the HPLMN code derived from the IMSI is not present in the EHPLMN list, then it shall be treated as a Visited PLMN for PLMN selection purposes." Change-Id: I22d96ab4a424ec5bc1fb02f5e80165c646a748d3 --- M pySim-read.py M pySim/cards.py M pySim/commands.py M pySim/utils.py M pysim-testdata/sysmoISIM-SJA2.ok 5 files changed, 83 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/pySim-read.py b/pySim-read.py index 69cab4d..d6674a5 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -241,6 +241,13 @@ # Check whether we have th AID of USIM, if so select it by its AID # EF.UST - File Id in ADF USIM : 6f38 if '9000' == card.select_adf_by_aid(): + # EF.EHPLMN + if card.file_exists(EF_USIM_ADF_map['EHPLMN']): + (res, sw) = card.read_ehplmn() + if sw == '9000': + print("EHPLMN:\n%s" % (res)) + else: + print("EHPLMN: Can't read, response code = %s" % (sw,)) # EF.UST (res, sw) = card.read_binary(EF_USIM_ADF_map['UST']) if sw == '9000': diff --git a/pySim/cards.py b/pySim/cards.py index 808fde1..2d779b3 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -24,6 +24,7 @@ # from pySim.ts_51_011 import EF, DF +from pySim.ts_31_102 import EF_USIM_ADF_map from pySim.utils import * from smartcard.util import toBytes @@ -41,6 +42,13 @@ print("warning: erasing is not supported for specified card type!") return + def file_exists(self, fid): + res_arr = self._scc.try_select_file(fid) + for res in res_arr: + if res[1] != '9000': + return False + return True + def verify_adm(self, key): ''' Authenticate with ADM key @@ -262,6 +270,25 @@ len = self._scc.record_size(ef) self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) +class UsimCard(Card): + def __init__(self, ssc): + super(UsimCard, self).__init__(ssc) + + def read_ehplmn(self): + (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['EHPLMN']) + if sw == '9000': + return (format_xplmn(res), sw) + else: + return (None, sw) + + def update_ehplmn(self, mcc, mnc): + data = self._scc.read_binary(EF_USIM_ADF_map['EHPLMN'], length=None, offset=0) + size = len(data[0]) // 2 + ehplmn = enc_plmn(mcc, mnc) + data, sw = self._scc.update_binary(EF_USIM_ADF_map['EHPLMN'], ehplmn) + return sw + + class _MagicSimBase(Card): """ @@ -552,7 +579,7 @@ return None return None -class SysmoUSIMgr1(Card): +class SysmoUSIMgr1(UsimCard): """ sysmocom sysmoUSIM-GR1 """ @@ -653,7 +680,7 @@ data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) -class SysmoUSIMSJS1(Card): +class SysmoUSIMSJS1(UsimCard): """ sysmocom sysmoUSIM-SJS1 """ @@ -1037,7 +1064,7 @@ return None -class SysmoISIMSJA2(Card): +class SysmoISIMSJA2(UsimCard): """ sysmocom sysmoISIM-SJA2 """ @@ -1144,16 +1171,22 @@ if p.get('opc'): self._scc.update_binary('af20', p['opc'], 17) - # update EF-USIM_AUTH_KEY in ADF.USIM self._scc.select_file(['3f00']) aid = self.read_aid() if (aid): + # update EF-USIM_AUTH_KEY in ADF.USIM self._scc.select_adf(aid) if p.get('ki'): self._scc.update_binary('af20', p['ki'], 1) if p.get('opc'): self._scc.update_binary('af20', p['opc'], 17) + # update EF.EHPLMN in ADF.USIM + if self.file_exists(EF_USIM_ADF_map['EHPLMN']): + if p.get('mcc') and p.get('mnc'): + sw = self.update_ehplmn(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming EHPLMN failed with code %s"%sw) return diff --git a/pySim/commands.py b/pySim/commands.py index 7288b19..c260a97 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -100,6 +100,17 @@ def sel_ctrl(self, value): self._sel_ctrl = value + def try_select_file(self, dir_list): + rv = [] + if type(dir_list) is not list: + dir_list = [dir_list] + for i in dir_list: + data, sw = self._tp.send_apdu(self.cla_byte + "a4" + self.sel_ctrl + "02" + i) + rv.append((data, sw)) + if sw != '9000': + return rv + return rv + def select_file(self, dir_list): rv = [] if type(dir_list) is not list: diff --git a/pySim/utils.py b/pySim/utils.py index ac82774..dc14d58 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -125,6 +125,9 @@ def hexstr_to_fivebytearr(s): return [s[i:i+10] for i in range(0, len(s), 10) ] +def hexstr_to_threebytearr(s): + return [s[i:i+6] for i in range(0, len(s), 6) ] + # Accepts hex string representing three bytes def dec_mcc_from_plmn(plmn): ia = h2i(plmn) @@ -213,6 +216,25 @@ res['status'] = h2i(hexstr[34:36]) return res +def dec_xplmn(threehexbytes): + res = {'mcc': 0, 'mnc': 0, 'act': []} + plmn_chars = 6 + plmn_str = threehexbytes[:plmn_chars] # first three bytes (six ascii hex chars) + res['mcc'] = dec_mcc_from_plmn(plmn_str) + res['mnc'] = dec_mnc_from_plmn(plmn_str) + return res + +def format_xplmn(hexstr): + s = "" + for rec_data in hexstr_to_threebytearr(hexstr): + rec_info = dec_xplmn(rec_data) + if rec_info['mcc'] == 0xFFF and rec_info['mnc'] == 0xFFF: + rec_str = "unused" + else: + rec_str = "MCC: %03d MNC: %03d" % (rec_info['mcc'], rec_info['mnc']) + s += "\t%s # %s\n" % (rec_data, rec_str) + return s + def derive_milenage_opc(ki_hex, op_hex): """ Run the milenage algorithm to calculate OPC from Ki and OP diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index fd3f252..6054840 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -100,6 +100,12 @@ Service 58 - Extension 8 Service 59 - MMS User Connectivity Parameters +EHPLMN: + 00f110 # MCC: 001 MNC: 001 + ffffff # unused + ffffff # unused + ffffff # unused + USIM Service Table: beff9f9de73e0408400170730000002e00000000 Service 2 - Fixed Dialling Numbers (FDN) Service 3 - Extension 2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I22d96ab4a424ec5bc1fb02f5e80165c646a748d3 Gerrit-Change-Number: 18649 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: guilly at gmail.com Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 08:58:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:03 +0000 Subject: Change in osmo-gsm-tester[master]: srs{ue, enb}.conf.tmpl: remove restriction of PHY threads for ZMQ References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19857 ) Change subject: srs{ue,enb}.conf.tmpl: remove restriction of PHY threads for ZMQ ...................................................................... srs{ue,enb}.conf.tmpl: remove restriction of PHY threads for ZMQ we now support any number of PHY threads also with ZMQ operation Change-Id: I31abfce742f757179fbfe4099cd0a934db4e63d7 --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 4 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/19857/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index b58db53..81753d6 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -249,7 +249,7 @@ # # pusch_max_its: Maximum number of turbo decoder iterations (Default 4) # pusch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental) -# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 2) +# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) # metrics_period_secs: Sets the period at which metrics are requested from the eNB. # metrics_csv_enable: Write eNB metrics to CSV file. # metrics_csv_filename: File path to use for CSV metrics. @@ -265,9 +265,7 @@ [expert] #pusch_max_its = 8 # These are half iterations #pusch_8bit_decoder = false -% if enb.get('rf_dev_type') == 'zmq': -nof_phy_threads = 1 -% endif +#nof_phy_threads = 3 #metrics_period_secs = 1 #metrics_csv_enable = false #metrics_csv_filename = /tmp/enb_metrics.csv diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 3a43f17..05c6c55 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -293,7 +293,7 @@ # refs: use difference between noise references and noiseless (after filtering) # empty: use empty subcarriers in the boarder of pss/sss signal # pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) -# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 2) +# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) # equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any # non-negative real number to indicate a regularized zf coefficient. # Default is MMSE. @@ -331,9 +331,7 @@ #snr_ema_coeff = 0.1 #snr_estim_alg = refs #pdsch_max_its = 8 # These are half iterations -% if ue.get('rf_dev_type') == 'zmq': -nof_phy_threads = 1 -% endif +#nof_phy_threads = 3 #equalizer_mode = mmse #sfo_ema = 0.1 #sfo_correct_period = 10 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I31abfce742f757179fbfe4099cd0a934db4e63d7 Gerrit-Change-Number: 19857 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 Aug 28 08:58:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:03 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add sleep after stopping srsENB to allow log flush References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19858 ) Change subject: enb_srs: add sleep after stopping srsENB to allow log flush ...................................................................... enb_srs: add sleep after stopping srsENB to allow log flush add similar concept used in the UE to allow the process to flush the logs Change-Id: I9f8341869f89cd7ae845072b9da4f6070fa2d242 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/58/19858/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index a945319..aa2ec87 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -21,6 +21,7 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core.event_loop import MainLoop from . import enb from . import rfemu from .srslte_common import srslte_common @@ -70,6 +71,7 @@ self.remote_pcap_file = None self.enable_pcap = False self.metrics_file = None + self.stop_sleep_time = 6 # We require at most 5s to stop self.testenv = testenv self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -80,6 +82,10 @@ return if self._run_node.is_local(): return + + # Make sure we give the UE time to tear down + self.sleep_after_stop() + # 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) @@ -94,6 +100,12 @@ # Collect KPIs for each TC self.testenv.test().set_kpis(self.get_kpis()) + def sleep_after_stop(self): + # Only sleep once + if self.stop_sleep_time > 0: + MainLoop.sleep(self.stop_sleep_time) + self.stop_sleep_time = 0 + def start(self, epc): self.log('Starting srsENB') self._epc = epc -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f8341869f89cd7ae845072b9da4f6070fa2d242 Gerrit-Change-Number: 19858 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 Aug 28 08:58:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:03 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_amarisoft: handle exception and log event if WS is closed References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859 ) Change subject: rfemu_amarisoft: handle exception and log event if WS is closed ...................................................................... rfemu_amarisoft: handle exception and log event if WS is closed the WS is closed if the eNB process dies. this patch will log an event but not stop the experiment. Change-Id: I0fafc7e38954400540375d51813e96500700f50c --- M src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/59/19859/1 diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py index 17aa43a..585166a 100644 --- a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -53,11 +53,15 @@ def set_attenuation(self, db): msg = { "message": "cell_gain", "cell_id": int(self.cell_id), "gain": -db } msg_str = json.dumps(msg) - self.dbg('sending CTRL msg: "%s"' % msg_str) - self.ws.send(msg_str) - self.dbg('waiting CTRL recv...') - result = self.ws.recv() - self.dbg('Received CTRL msg: "%s"' % result) + try: + self.dbg('sending CTRL msg: "%s"' % msg_str) + self.ws.send(msg_str) + self.dbg('waiting CTRL recv...') + result = self.ws.recv() + self.dbg('Received CTRL msg: "%s"' % result) + except Exception: + log.Error('Error sending CTLR msg to eNB. eNB still running?') + pass def get_max_attenuation(self): return 200 # maximum cell_gain value in Amarisoft -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0fafc7e38954400540375d51813e96500700f50c Gerrit-Change-Number: 19859 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 Aug 28 08:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:04 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19860 ) Change subject: srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1 ...................................................................... srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1 this gives higher UL throughput because less resources are reserved for SR/CQI. For more users we may have to make the value configurable again. Change-Id: If6c313a1deafffda26e9effeb807ca71064c46bc --- M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 1 file changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/19860/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 2e25f6b..cc1b894 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -39,11 +39,7 @@ subframe = [1, 11, 21, 31]; // vector of subframe indices allowed for SR transmissions // number of PRBs on each extreme used for SR (total prb is twice this number) -% if int(enb['num_prb']) <= 6: nof_prb = 1; -% else: - nof_prb = 2; -% endif }; cqi_report_cnfg = { @@ -51,11 +47,7 @@ simultaneousAckCQI = true; period = 40; // in ms subframe = [0, 10, 20, 30]; -% if int(enb['num_prb']) <= 6: nof_prb = 1; -% else: - nof_prb = 2; -% endif m_ri = 8; // RI period in CQI period }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If6c313a1deafffda26e9effeb807ca71064c46bc Gerrit-Change-Number: 19860 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 Aug 28 08:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:04 +0000 Subject: Change in osmo-gsm-tester[master]: enb: expose RRC inactivity timer References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19861 ) Change subject: enb: expose RRC inactivity timer ...................................................................... enb: expose RRC inactivity timer allow the user to specifiy the RRC inactiviy timer used in the eNB. set the default value to 20s Change-Id: I6a264b8dee893b883d40a48831cbb47eb15e1e7b --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M sysmocom/defaults.conf 4 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/61/19861/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index be48887..85aca35 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -35,6 +35,7 @@ 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, 'additional_args[]': schema.STR, + 'inactivity_timer': schema.INT, 'enable_measurements': schema.BOOL_STR, 'enable_dl_awgn': schema.BOOL_STR, 'dl_awgn_snr': schema.INT, @@ -99,6 +100,8 @@ self._txmode = int(values['enb'].get('transmission_mode', None)) assert self._txmode config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) + self._inactivity_timer = int(values['enb'].get('inactivity_timer', None)) + assert self._inactivity_timer assert self._epc is not None config.overlay(values, dict(enb={ 'addr': self.addr() })) config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 155ad47..2893b9e 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -223,7 +223,7 @@ /* (in ms) send RRC connection release after this time of network inactivity */ - inactivity_timer: 10000, + inactivity_timer: ${enb.inactivity_timer}, /* SRB configuration */ srb_config: [ diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 81753d6..ac94313 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -272,7 +272,7 @@ #pregenerate_signals = false #tx_amplitude = 0.6 #link_failure_nof_err = 50 -rrc_inactivity_timer = 5000 +rrc_inactivity_timer = ${enb.inactivity_timer} #max_prach_offset_us = 30 #eea_pref_list = EEA0, EEA2, EEA1 #eia_pref_list = EIA2, EIA1, EIA0 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index dd97456..2f2e317 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -112,6 +112,7 @@ mnc: 70 transmission_mode: 1 num_cells: 1 + inactivity_timer: 20000 enable_measurements: false enable_dl_awgn: false dl_awgn_snr: 30 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6a264b8dee893b883d40a48831cbb47eb15e1e7b Gerrit-Change-Number: 19861 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 Aug 28 08:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:04 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: trim leading zeros in UE metrics when calculating min_rolling... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19862 ) Change subject: ms_srs: trim leading zeros in UE metrics when calculating min_rolling_avg ...................................................................... ms_srs: trim leading zeros in UE metrics when calculating min_rolling_avg this avoids a false negative detection when the UE attach takes a bit longer and the first seconds all zeros are reported in the CSV the HO test, for example, would fail in such a case as it expects no zero TP over the course of the experiment. Change-Id: I96dab17bb19249504dedda6659aed5eac0a65a26 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/62/19862/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 124b113..1c0f728 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -460,6 +460,8 @@ # calculate rolling average over window and take maximum value result = numpy.amax(numpy.convolve(sel_data, numpy.ones((window,))/window, mode='valid')) elif operation == 'min_rolling_avg': + # trim leading zeros to avoid false negative when UE attach takes longer + sel_data = numpy.trim_zeros(sel_data, 'f') # calculate rolling average over window and take minimum value result = numpy.amin(numpy.convolve(sel_data, numpy.ones((window,))/window, mode='valid')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I96dab17bb19249504dedda6659aed5eac0a65a26 Gerrit-Change-Number: 19862 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 Aug 28 08:58:04 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 28 Aug 2020 08:58:04 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: consider number of component carriers for max rate calculation References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863 ) Change subject: 4g: consider number of component carriers for max rate calculation ...................................................................... 4g: consider number of component carriers for max rate calculation when carrier aggregation is enabled we need to multiply the max rate of a single carrier with the number of carriers to get the actual achievable rate Change-Id: I70d850c0996ed461d3733e911adc33f3554c297c --- M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/19863/1 diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 26df79b..0d8bfcd 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -21,6 +21,7 @@ ue.connect(enb) max_rate = enb.ue_max_rate(downlink=True) +max_rate *= ue.num_carriers iperf3srv.start() proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 15cde95..83ac465 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -21,6 +21,7 @@ ue.connect(enb) max_rate = enb.ue_max_rate(downlink=False) +max_rate *= ue.num_carriers iperf3srv.start() proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I70d850c0996ed461d3733e911adc33f3554c297c Gerrit-Change-Number: 19863 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 Aug 28 09:19:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:19:30 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 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/+/19835 to look at the new patch set (#2). Change subject: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 ...................................................................... CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 See bsc_network_init() in bsc_init.c. Change-Id: If439729a97104019d7088f26cf741e156b14cba7 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/19835/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If439729a97104019d7088f26cf741e156b14cba7 Gerrit-Change-Number: 19835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:19:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:19:30 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19864 ) Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... CBSP: rewrite the CBSP link setup and 'cbc' VTY section Firstly, make CBSP server and client mutually exclusive: Do not allow osmo-bsc to be configured as CBC client *and* CBC server at the same time. cbsp_link.c expects at most one CBSP link to be established, and, upon sending CBSP messages, probes whether to send the message to a CBSP server or client link. When both listen-port and remote-ip are configured (regardless of an actual CBSP connection), osmo-bsc gets confused about where to send CBSP messages. One solution would be more accurate probing for an actual established TCP connection. But the simpler and less confusing solution is to force the user to configure only server or only client mode, never both. Introduce 'cbc' / 'mode (server|client|disabled)'. Secondly, clarify the 'cbc' config structure into distinct 'server' and 'client' subnodes. Refactor the 'cbc' VTY node in such a way that the IP addresses for server and client mode can remain configured when the CBSP link is switched between server/client/disabled modes. To implement the above, switch the struct bsc_cbc_link to use osmo_sockaddr_str for address configuration. Related: OS#4702 Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: I9e9760121265b3661f1c179610e975cf7a0873f1 (docker-playground) Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 --- M include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c A tests/cbc.vty 5 files changed, 358 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/19864/1 diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index 22a258d..c7002f6 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -27,21 +28,25 @@ uint8_t slot_count); void bts_cbch_timer_schedule(struct gsm_bts *bts); +enum bsc_cbc_link_mode { + BSC_CBC_LINK_MODE_DISABLED = 0, + BSC_CBC_LINK_MODE_SERVER, + BSC_CBC_LINK_MODE_CLIENT, +}; + +extern const struct value_string bsc_cbc_link_mode_names[]; +static inline const char *bsc_cbc_link_mode_name(enum bsc_cbc_link_mode val) +{ return get_value_string(bsc_cbc_link_mode_names, val); } + +extern const struct osmo_sockaddr_str bsc_cbc_default_server_local_addr; + /* cbsp_link.c */ struct bsc_cbc_link { struct gsm_network *net; - struct { - /* hostname/IP of CBC */ - char *cbc_hostname; - /* TCP port (Default: 48049) of CBC */ - int cbc_port; - /* local listening port (0 for disabling local server) */ - int listen_port; - /* local listening hostname/IP */ - char *listen_hostname; - } config; + enum bsc_cbc_link_mode mode; /* for handling inbound TCP connections */ struct { + struct osmo_sockaddr_str local_addr; struct osmo_stream_srv *srv; struct osmo_stream_srv_link *link; char *sock_name; @@ -49,6 +54,7 @@ } server; /* for handling outbound TCP connections */ struct { + struct osmo_sockaddr_str remote_addr; struct osmo_stream_cli *cli; char *sock_name; struct msgb *msg; diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 10ce16b..ba44f5e 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -25,6 +25,8 @@ OM2K_CON_GROUP_NODE, BSC_NODE, CBC_NODE, + CBC_SERVER_NODE, + CBC_CLIENT_NODE, }; struct log_info; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 22eba50..e722199 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -129,11 +129,11 @@ osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); net->cbc->net = net; - /* no cbc_hostname: client not started by default */ - net->cbc->config.cbc_port = CBSP_TCP_PORT; - /* listen_port == -1: server not started by default */ - net->cbc->config.listen_port = -1; - net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); + net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; + net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; + /* For CBSP client mode: default remote CBSP server port is CBSP_TCP_PORT == 48049. Leave the IP address unset. + * Also leave the local bind for the CBSP client disabled (unconfigured). */ + net->cbc->client.remote_addr = (struct osmo_sockaddr_str){ .port = CBSP_TCP_PORT, }; return net; diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index c831f66..d587675 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -35,6 +35,19 @@ * TCP port, we expect the CBC to connect to us. If neither of the two is configured, * CBSP is effectively disabled */ +const struct value_string bsc_cbc_link_mode_names[] = { + { BSC_CBC_LINK_MODE_DISABLED, "disabled" }, + { BSC_CBC_LINK_MODE_SERVER, "server" }, + { BSC_CBC_LINK_MODE_CLIENT, "client" }, + {} +}; + +const struct osmo_sockaddr_str bsc_cbc_default_server_local_addr = { + .af = AF_INET, + .ip = "127.0.0.1", + .port = CBSP_TCP_PORT, +}; + /********************************************************************************* * CBSP Server (inbound TCP connection from CBC) *********************************************************************************/ @@ -195,7 +208,7 @@ struct bsc_cbc_link *cbc = bsc_gsmnet->cbc; /* shut down client, if no longer configured */ - if (cbc->client.cli && !cbc->config.cbc_hostname) { + if (cbc->client.cli && cbc->mode != BSC_CBC_LINK_MODE_CLIENT) { LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP client\n"); osmo_stream_cli_close(cbc->client.cli); osmo_stream_cli_destroy(cbc->client.cli); @@ -203,7 +216,7 @@ } /* shut down server, if no longer configured */ - if (cbc->config.listen_port == -1) { + if (cbc->mode != BSC_CBC_LINK_MODE_SERVER) { if (cbc->server.srv || cbc->server.link) LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP server\n"); if (cbc->server.srv) { @@ -217,10 +230,16 @@ } } - /* start client, if configured */ - if (cbc->config.cbc_hostname) { - LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at %s:%u)\n", - cbc->config.cbc_hostname, cbc->config.cbc_port); + switch (cbc->mode) { + case BSC_CBC_LINK_MODE_CLIENT: + if (!osmo_sockaddr_str_is_nonzero(&cbc->client.remote_addr)) { + LOGP(DCBS, LOGL_ERROR, + "Cannot start CBSP in client mode: invalid remote-ip or -port in 'cbc' / 'client')\n"); + return -1; + } + + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr)); if (!cbc->client.cli) { cbc->client.cli = osmo_stream_cli_create(cbc); osmo_stream_cli_set_data(cbc->client.cli, cbc); @@ -229,32 +248,44 @@ osmo_stream_cli_set_read_cb(cbc->client.cli, cbsp_client_read_cb); } /* CBC side */ - osmo_stream_cli_set_addr(cbc->client.cli, cbc->config.cbc_hostname); - osmo_stream_cli_set_port(cbc->client.cli, cbc->config.cbc_port); + osmo_stream_cli_set_addr(cbc->client.cli, cbc->client.remote_addr.ip); + osmo_stream_cli_set_port(cbc->client.cli, cbc->client.remote_addr.port); /* Close/Reconnect? */ - osmo_stream_cli_open(cbc->client.cli); - } + if (osmo_stream_cli_open(cbc->client.cli) < 0) { + LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP client link to " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr)); + return -1; + } + return 0; - /* start server, if configured */ - if (cbc->config.listen_port != -1) { - LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (bound to %s:%u)\n", - cbc->config.listen_hostname, cbc->config.listen_port); + case BSC_CBC_LINK_MODE_SERVER: + if (!osmo_sockaddr_str_is_set(&cbc->server.local_addr)) { + LOGP(DCBS, LOGL_ERROR, + "Cannot start CBSP in server mode: invalid local-ip or -port in 'cbc' / 'server')\n"); + return -1; + } + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (listening at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr)); if (!cbc->server.link) { LOGP(DCBS, LOGL_NOTICE, "Creating CBSP Server\n"); cbc->server.link = osmo_stream_srv_link_create(cbc); osmo_stream_srv_link_set_data(cbc->server.link, cbc); osmo_stream_srv_link_set_accept_cb(cbc->server.link, cbsp_srv_link_accept_cb); - osmo_stream_srv_link_set_addr(cbc->server.link, cbc->config.listen_hostname); - osmo_stream_srv_link_set_port(cbc->server.link, cbc->config.listen_port); + osmo_stream_srv_link_set_addr(cbc->server.link, cbc->server.local_addr.ip); + osmo_stream_srv_link_set_port(cbc->server.link, cbc->server.local_addr.port); if (osmo_stream_srv_link_open(cbc->server.link) < 0) { - LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP Server link on %s:%u\n", - cbc->config.listen_hostname, cbc->config.listen_port); + LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP Server link at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr)); + return -1; } } + return 0; + + default: + return 0; } - return 0; } /*! Encode + Transmit a 'decoded' CBSP message over given CBC link @@ -301,60 +332,71 @@ return CMD_SUCCESS; } -DEFUN(cfg_cbc_remote_ip, cfg_cbc_remote_ip_cmd, - "remote-ip A.B.C.D", - "IP Address of the Cell Broadcast Centre\n" - "IP Address of the Cell Broadcast Centre\n") +DEFUN(cfg_cbc_mode, cfg_cbc_mode_cmd, + "mode (server|client|disabled)", + "Set OsmoBSC as CBSP server or client\n" + "CBSP Server: listen for inbound TCP connections from a remote Cell Broadcast Centre\n" + "CBSP Client: establish outbound TCP connection to a remote Cell Broadcast Centre\n" + "Disable CBSP link\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); - return CMD_SUCCESS; -} -DEFUN(cfg_cbc_no_remote_ip, cfg_cbc_no_remote_ip_cmd, - "no remote-ip", - NO_STR "Remove IP address of CBC; disables outbound CBSP connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - talloc_free(cbc->config.cbc_hostname); - cbc->config.cbc_hostname = NULL; + cbc->mode = get_string_value(bsc_cbc_link_mode_names, argv[0]); + OSMO_ASSERT(cbc->mode >= 0); + bsc_cbc_link_restart(); return CMD_SUCCESS; } -DEFUN(cfg_cbc_remote_port, cfg_cbc_remote_port_cmd, +DEFUN(cfg_cbc_server, cfg_cbc_server_cmd, + "server", "Configure OsmoBSC's CBSP server role\n") +{ + vty->node = CBC_SERVER_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_server_local_ip, cfg_cbc_server_local_ip_cmd, + "local-ip " VTY_IPV46_CMD, + "Set IP Address to listen on for inbound CBSP from a Cell Broadcast Centre\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->server.local_addr, argv[0], cbc->server.local_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_server_local_port, cfg_cbc_server_local_port_cmd, + "local-port <1-65535>", + "Set TCP port to listen on for inbound CBSP from a Cell Broadcast Centre\n" + "CBSP port number (Default: " OSMO_STRINGIFY_VAL(CBSP_TCP_PORT) ")\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->server.local_addr.port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client, cfg_cbc_client_cmd, + "client", "Configure OsmoBSC's CBSP client role\n") +{ + vty->node = CBC_CLIENT_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_remote_ip, cfg_cbc_client_remote_ip_cmd, + "remote-ip " VTY_IPV46_CMD, + "Set IP Address of the Cell Broadcast Centre, to establish CBSP link to\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->client.remote_addr, argv[0], cbc->client.remote_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_remote_port, cfg_cbc_client_remote_port_cmd, "remote-port <1-65535>", - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n" - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n") + "Set TCP port of the Cell Broadcast Centre, to establish CBSP link to\n" + "CBSP port number (Default: " OSMO_STRINGIFY_VAL(CBSP_TCP_PORT) ")\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.cbc_port = atoi(argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_cbc_listen_port, cfg_cbc_listen_port_cmd, - "listen-port <1-65535>", - "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n" - "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.listen_port = atoi(argv[0]); - return CMD_SUCCESS; -} -DEFUN(cfg_cbc_no_listen_port, cfg_cbc_no_listen_port_cmd, - "no listen-port", - NO_STR "Remove CBSP Listen Port; disables inbound CBSP connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.listen_port = -1; - return CMD_SUCCESS; -} - -DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, - "listen-ip A.B.C.D", - "Local IP Address where BSC listens for incoming CBC connections (Default: 127.0.0.1)\n" - "Local IP Address where BSC listens for incoming CBC connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); + cbc->client.remote_addr.port = atoi(argv[0]); return CMD_SUCCESS; } @@ -364,23 +406,56 @@ 1, }; +static struct cmd_node cbc_server_node = { + CBC_SERVER_NODE, + "%s(config-cbc-server)# ", + 1, +}; + +static struct cmd_node cbc_client_node = { + CBC_CLIENT_NODE, + "%s(config-cbc-client)# ", + 1, +}; + static int config_write_cbc(struct vty *vty) { struct bsc_cbc_link *cbc = vty_cbc_data(vty); + bool default_server_local; + bool default_client_remote; + + default_server_local = !osmo_sockaddr_str_cmp(&cbc->server.local_addr, + &bsc_cbc_default_server_local_addr); + default_client_remote = !osmo_sockaddr_str_is_set(&cbc->client.remote_addr); + + /* If all reflects default values, skip the 'cbc' section */ + if (cbc->mode == BSC_CBC_LINK_MODE_DISABLED + && default_server_local + && default_client_remote) + return 0; + vty_out(vty, "cbc%s", VTY_NEWLINE); + vty_out(vty, " mode %s%s", bsc_cbc_link_mode_name(cbc->mode), VTY_NEWLINE); - if (cbc->config.cbc_hostname) { - vty_out(vty, " remote-ip %s%s", cbc->config.cbc_hostname, VTY_NEWLINE); - vty_out(vty, " remote-port %u%s", cbc->config.cbc_port, VTY_NEWLINE); - } else - vty_out(vty, " no remote-ip%s", VTY_NEWLINE); + if (!default_server_local) { + vty_out(vty, " server%s", VTY_NEWLINE); - if (cbc->config.listen_port >= 0) { - vty_out(vty, " listen-port %u%s", cbc->config.listen_port, VTY_NEWLINE); - vty_out(vty, " listen-ip %s%s", cbc->config.listen_hostname, VTY_NEWLINE); - } else - vty_out(vty, " no listen-port%s", VTY_NEWLINE); + if (strcmp(cbc->server.local_addr.ip, bsc_cbc_default_server_local_addr.ip)) + vty_out(vty, " local-ip %s%s", cbc->server.local_addr.ip, VTY_NEWLINE); + if (cbc->server.local_addr.port != bsc_cbc_default_server_local_addr.port) + vty_out(vty, " local-port %u%s", cbc->server.local_addr.port, VTY_NEWLINE); + } + + if (!default_client_remote) { + vty_out(vty, " client%s", VTY_NEWLINE); + + if (osmo_sockaddr_str_is_set(&cbc->client.remote_addr)) { + vty_out(vty, " remote-ip %s%s", cbc->client.remote_addr.ip, VTY_NEWLINE); + if (cbc->client.remote_addr.port != CBSP_TCP_PORT) + vty_out(vty, " remote-port %u%s", cbc->client.remote_addr.port, VTY_NEWLINE); + } + } return 0; } @@ -391,34 +466,43 @@ { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - if (!cbc->config.cbc_hostname) - vty_out(vty, "CBSP Client Config: Disabled%s", VTY_NEWLINE); - else { - vty_out(vty, "CBSP Client Config: CBC IP=%s, CBC Port=%u%s", - cbc->config.cbc_hostname, cbc->config.cbc_port, VTY_NEWLINE); - vty_out(vty, "CBSP Client Connection: %s%s", - cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); - } - if (cbc->config.listen_port < 0) - vty_out(vty, "CBSP Server Config: Disabled%s\n", VTY_NEWLINE); - else { - vty_out(vty, "CBSP Server Config: Listen IP=%s, Port=%u%s\n", - cbc->config.listen_hostname, cbc->config.listen_port, VTY_NEWLINE); + switch (cbc->mode) { + case BSC_CBC_LINK_MODE_DISABLED: + vty_out(vty, "CBSP link is disabled%s", VTY_NEWLINE); + break; + + case BSC_CBC_LINK_MODE_SERVER: + vty_out(vty, "OsmoBSC is configured as CBSP Server on " OSMO_SOCKADDR_STR_FMT "%s", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr), VTY_NEWLINE); vty_out(vty, "CBSP Server Connection: %s%s", cbc->server.sock_name ? cbc->server.sock_name : "Disconnected", VTY_NEWLINE); + break; + + case BSC_CBC_LINK_MODE_CLIENT: + vty_out(vty, "OsmoBSC is configured as CBSP Client to remote CBC at " OSMO_SOCKADDR_STR_FMT "%s", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr), VTY_NEWLINE); + vty_out(vty, "CBSP Client Connection: %s%s", + cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); + break; } return CMD_SUCCESS; } void cbc_vty_init(void) { - install_element(VIEW_NODE, &show_cbc_cmd); + install_element_ve(&show_cbc_cmd); + install_element(CONFIG_NODE, &cfg_cbc_cmd); install_node(&cbc_node, config_write_cbc); - install_element(CBC_NODE, &cfg_cbc_remote_ip_cmd); - install_element(CBC_NODE, &cfg_cbc_no_remote_ip_cmd); - install_element(CBC_NODE, &cfg_cbc_remote_port_cmd); - install_element(CBC_NODE, &cfg_cbc_listen_port_cmd); - install_element(CBC_NODE, &cfg_cbc_no_listen_port_cmd); - install_element(CBC_NODE, &cfg_cbc_listen_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_mode_cmd); + + install_element(CBC_NODE, &cfg_cbc_server_cmd); + install_node(&cbc_server_node, NULL); + install_element(CBC_SERVER_NODE, &cfg_cbc_server_local_ip_cmd); + install_element(CBC_SERVER_NODE, &cfg_cbc_server_local_port_cmd); + + install_element(CBC_NODE, &cfg_cbc_client_cmd); + install_node(&cbc_client_node, NULL); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_port_cmd); } diff --git a/tests/cbc.vty b/tests/cbc.vty new file mode 100644 index 0000000..2cad609 --- /dev/null +++ b/tests/cbc.vty @@ -0,0 +1,156 @@ +OsmoBSC> ### CBSP link config + +OsmoBSC> list +... + show cbc +... + +OsmoBSC> enable +OsmoBSC# list +... + show cbc +... + +OsmoBSC# show running-config +... !cbc + +OsmoBSC# show cbc +CBSP link is disabled + +OsmoBSC# configure terminal +OsmoBSC(config)# cbc + +OsmoBSC(config-cbc)# list +... + mode (server|client|disabled) + server + client + +OsmoBSC(config-cbc)# ? +... + mode Set OsmoBSC as CBSP server or client + server Configure OsmoBSC's CBSP server role + client Configure OsmoBSC's CBSP client role + +OsmoBSC(config-cbc)# mode ? + server CBSP Server: listen for inbound TCP connections from a remote Cell Broadcast Centre + client CBSP Client: establish outbound TCP connection to a remote Cell Broadcast Centre + disabled Disable CBSP link + +OsmoBSC(config-cbc)# server +OsmoBSC(config-cbc-server)# list +... + local-ip (A.B.C.D|X:X::X:X) + local-port <1-65535> + +OsmoBSC(config-cbc-server)# ? +... + local-ip Set IP Address to listen on for inbound CBSP from a Cell Broadcast Centre + local-port Set TCP port to listen on for inbound CBSP from a Cell Broadcast Centre + +OsmoBSC(config-cbc-server)# local-ip ? + A.B.C.D IPv4 address + X:X::X:X IPv6 address +OsmoBSC(config-cbc-server)# local-port ? + <1-65535> CBSP port number (Default: 48049) + +OsmoBSC(config-cbc-server)# local-ip 1.2.3.4 +OsmoBSC(config-cbc-server)# local-port 12345 +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip 1.2.3.4 + local-port 12345 +... + +OsmoBSC(config-cbc-server)# local-port 48049 + +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip 1.2.3.4 +... !local-port + +OsmoBSC(config-cbc-server)# local-ip ::1 +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip ::1 +... + +OsmoBSC(config-cbc-server)# do show cbc +CBSP link is disabled + +OsmoBSC(config-cbc-server)# exit + +OsmoBSC(config-cbc)# client +OsmoBSC(config-cbc-client)# list +... + remote-ip (A.B.C.D|X:X::X:X) + remote-port <1-65535> + +OsmoBSC(config-cbc-client)# ? +... + remote-ip Set IP Address of the Cell Broadcast Centre, to establish CBSP link to + remote-port Set TCP port of the Cell Broadcast Centre, to establish CBSP link to + +OsmoBSC(config-cbc-client)# remote-ip ? + A.B.C.D IPv4 address + X:X::X:X IPv6 address +OsmoBSC(config-cbc-client)# remote-port ? + <1-65535> CBSP port number (Default: 48049) + +OsmoBSC(config-cbc-client)# remote-ip 1.2.3.4 +OsmoBSC(config-cbc-client)# remote-port 12345 +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1.2.3.4 + remote-port 12345 +... + +OsmoBSC(config-cbc-client)# remote-port 48049 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1.2.3.4 +... !remote-port + +OsmoBSC(config-cbc-client)# remote-ip 1:2:3:4::5 +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 +... + +OsmoBSC(config-cbc-client)# do show cbc +CBSP link is disabled + +OsmoBSC(config-cbc-client)# exit + +OsmoBSC(config-cbc)# mode server +OsmoBSC(config-cbc)# do show cbc +OsmoBSC is configured as CBSP Server on [::1]:48049 +CBSP Server Connection: Disconnected + +OsmoBSC(config-cbc)# mode client +OsmoBSC(config-cbc)# do show cbc +OsmoBSC is configured as CBSP Client to remote CBC at [1:2:3:4::5]:48049 +CBSP Client Connection: Disconnected + +OsmoBSC(config-cbc)# mode disabled +OsmoBSC(config-cbc)# do show cbc +CBSP link is disabled -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:19:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:19:31 +0000 Subject: Change in osmo-bsc[master]: CBSP: add local bind to client mode References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19865 ) Change subject: CBSP: add local bind to client mode ...................................................................... CBSP: add local bind to client mode Add the ability to set a local bind address for the CBSP client mode. Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 --- M include/osmocom/bsc/smscb.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c M tests/cbc.vty 4 files changed, 113 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/19865/1 diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index c7002f6..f48c1a1 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -55,6 +55,7 @@ /* for handling outbound TCP connections */ struct { struct osmo_sockaddr_str remote_addr; + struct osmo_sockaddr_str local_addr; struct osmo_stream_cli *cli; char *sock_name; struct msgb *msg; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index e722199..1460af4 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -134,6 +134,7 @@ /* For CBSP client mode: default remote CBSP server port is CBSP_TCP_PORT == 48049. Leave the IP address unset. * Also leave the local bind for the CBSP client disabled (unconfigured). */ net->cbc->client.remote_addr = (struct osmo_sockaddr_str){ .port = CBSP_TCP_PORT, }; + net->cbc->client.local_addr = (struct osmo_sockaddr_str){}; return net; diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index d587675..e5e72de 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -250,6 +250,11 @@ /* CBC side */ osmo_stream_cli_set_addr(cbc->client.cli, cbc->client.remote_addr.ip); osmo_stream_cli_set_port(cbc->client.cli, cbc->client.remote_addr.port); + /* local side */ + if (osmo_sockaddr_str_is_set(&cbc->client.local_addr)) { + osmo_stream_cli_set_local_addr(cbc->client.cli, cbc->client.local_addr.ip); + osmo_stream_cli_set_local_port(cbc->client.cli, cbc->client.local_addr.port); + } /* Close/Reconnect? */ if (osmo_stream_cli_open(cbc->client.cli) < 0) { LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP client link to " OSMO_SOCKADDR_STR_FMT "\n", @@ -400,6 +405,44 @@ return CMD_SUCCESS; } +DEFUN(cfg_cbc_client_local_ip, cfg_cbc_client_local_ip_cmd, + "local-ip " VTY_IPV46_CMD, + "Set local bind address for the outbound CBSP link to the Cell Broadcast Centre\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->client.local_addr, argv[0], cbc->client.local_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_local_port, cfg_cbc_client_local_port_cmd, + "local-port <1-65535>", + "Set local bind port for the outbound CBSP link to the Cell Broadcast Centre\n" + "port number\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr.port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_no_local_ip, cfg_cbc_client_no_local_ip_cmd, + "no local-ip", + NO_STR "Remove local IP address bind config for the CBSP client mode\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr = (struct osmo_sockaddr_str){ .port = cbc->client.local_addr.port }; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_no_local_port, cfg_cbc_client_no_local_port_cmd, + "no local-port", + NO_STR "Remove local TCP port bind config for the CBSP client mode\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr.port = 0; + return CMD_SUCCESS; +} + static struct cmd_node cbc_node = { CBC_NODE, "%s(config-cbc)# ", @@ -424,15 +467,17 @@ bool default_server_local; bool default_client_remote; + bool default_client_local; default_server_local = !osmo_sockaddr_str_cmp(&cbc->server.local_addr, &bsc_cbc_default_server_local_addr); default_client_remote = !osmo_sockaddr_str_is_set(&cbc->client.remote_addr); + default_client_local = !osmo_sockaddr_str_is_set(&cbc->client.local_addr); /* If all reflects default values, skip the 'cbc' section */ if (cbc->mode == BSC_CBC_LINK_MODE_DISABLED && default_server_local - && default_client_remote) + && default_client_remote && default_client_local) return 0; vty_out(vty, "cbc%s", VTY_NEWLINE); @@ -447,7 +492,7 @@ vty_out(vty, " local-port %u%s", cbc->server.local_addr.port, VTY_NEWLINE); } - if (!default_client_remote) { + if (!(default_client_remote && default_client_local)) { vty_out(vty, " client%s", VTY_NEWLINE); if (osmo_sockaddr_str_is_set(&cbc->client.remote_addr)) { @@ -455,6 +500,11 @@ if (cbc->client.remote_addr.port != CBSP_TCP_PORT) vty_out(vty, " remote-port %u%s", cbc->client.remote_addr.port, VTY_NEWLINE); } + + if (cbc->client.local_addr.ip[0]) + vty_out(vty, " local-ip %s%s", cbc->client.local_addr.ip, VTY_NEWLINE); + if (cbc->client.local_addr.port) + vty_out(vty, " local-port %u%s", cbc->client.local_addr.port, VTY_NEWLINE); } return 0; @@ -505,4 +555,8 @@ install_node(&cbc_client_node, NULL); install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_ip_cmd); install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_port_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_local_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_local_port_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_no_local_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_no_local_port_cmd); } diff --git a/tests/cbc.vty b/tests/cbc.vty index 2cad609..7a4031f 100644 --- a/tests/cbc.vty +++ b/tests/cbc.vty @@ -94,11 +94,18 @@ ... remote-ip (A.B.C.D|X:X::X:X) remote-port <1-65535> + local-ip (A.B.C.D|X:X::X:X) + local-port <1-65535> + no local-ip + no local-port OsmoBSC(config-cbc-client)# ? ... remote-ip Set IP Address of the Cell Broadcast Centre, to establish CBSP link to remote-port Set TCP port of the Cell Broadcast Centre, to establish CBSP link to + local-ip Set local bind address for the outbound CBSP link to the Cell Broadcast Centre + local-port Set local bind port for the outbound CBSP link to the Cell Broadcast Centre + no Negate a command or set its defaults OsmoBSC(config-cbc-client)# remote-ip ? A.B.C.D IPv4 address @@ -106,6 +113,10 @@ OsmoBSC(config-cbc-client)# remote-port ? <1-65535> CBSP port number (Default: 48049) +OsmoBSC(config-cbc-client)# no ? + local-ip Remove local IP address bind config for the CBSP client mode + local-port Remove local TCP port bind config for the CBSP client mode + OsmoBSC(config-cbc-client)# remote-ip 1.2.3.4 OsmoBSC(config-cbc-client)# remote-port 12345 OsmoBSC(config-cbc-client)# show running-config @@ -136,6 +147,50 @@ remote-ip 1:2:3:4::5 ... +OsmoBSC(config-cbc-client)# local-ip 1.2.3.4 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-ip 1.2.3.4 +... !local-port + +OsmoBSC(config-cbc-client)# local-port 12345 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-ip 1.2.3.4 + local-port 12345 +... + +OsmoBSC(config-cbc-client)# no local-ip + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-port 12345 +... !local + +OsmoBSC(config-cbc-client)# no local-port + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 +... !local + OsmoBSC(config-cbc-client)# do show cbc CBSP link is disabled -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 Gerrit-Change-Number: 19865 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:20:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:20:08 +0000 Subject: Change in docker-playground[master]: bsc CBSP: apply new cbc config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/19866 ) Change subject: bsc CBSP: apply new cbc config ...................................................................... bsc CBSP: apply new cbc config Adjust osmo-bsc.cfg to work with osmo-bsc Icaa2775cc20a99227dabe38a775ff808b374cf98 and osmo-ttcn3-hacks I7eea0dd39de50ed80af79e0f10c836b8685d8644. Related: Icaa2775cc20a99227dabe38a775ff808b374cf98 (osmo-bsc) Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: OS#4702 Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg 2 files changed, 7 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/66/19866/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index bce5941..879c95a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -428,7 +428,10 @@ ctrl bind 0.0.0.0 cbc - remote-ip 172.18.2.203 - remote-port 48049 - listen-ip 172.18.2.20 - listen-port 48050 + mode disabled + client + remote-ip 172.18.2.203 + remote-port 48049 + server + local-ip 172.18.2.20 + local-port 48050 diff --git a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg index 2ced140..a68e9d7 100644 --- a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg +++ b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg @@ -393,8 +393,3 @@ no missing-msc-text ctrl bind 0.0.0.0 -cbc - remote-ip 172.18.2.203 - remote-port 48049 - listen-ip 172.18.2.20 - listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 Gerrit-Change-Number: 19866 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:21:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:21:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client ... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 ) Change subject: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 09:21:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:22:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:22:08 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: tweak VTY doc strings In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19832 ) Change subject: CBC VTY: tweak VTY doc strings ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I434835ae8dad9e726f296e648b1b55fb00be8ccb Gerrit-Change-Number: 19832 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:22:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:22:29 +0000 Subject: Change in osmo-bsc[master]: cbsp_link.c: disable server with listen_port = 0, not -1 In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19833 ) Change subject: cbsp_link.c: disable server with listen_port = 0, not -1 ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe743fb17f0bde22004932076d45a6ba929ac565 Gerrit-Change-Number: 19833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:22:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:22:39 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: add 'cbc' / 'restart' command In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19837 ) Change subject: CBSP VTY: add 'cbc' / 'restart' command ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5724369527cf38bd7b82f3db5e2b44254d22f8d5 Gerrit-Change-Number: 19837 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:22:44 +0000 Subject: Change in osmo-bsc[master]: smscb.h: clarify some api doc of struct bsc_cbc_link In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19838 ) Change subject: smscb.h: clarify some api doc of struct bsc_cbc_link ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I28b76d36a9aeec9723115a86fbebe45acf3e13a9 Gerrit-Change-Number: 19838 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:23:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:23:37 +0000 Subject: Change in osmo-bsc[master]: CBC VTY: make CBSP server and client mutually exclusive In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19836 ) Change subject: CBC VTY: make CBSP server and client mutually exclusive ...................................................................... Abandoned see https://gerrit.osmocom.org/c/osmo-bsc/+/19864 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icf901848e666f079d14450962f0a1d74b0996c56 Gerrit-Change-Number: 19836 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:23:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:23:52 +0000 Subject: Change in osmo-bsc[master]: smscb.h: use uint16_t for port numbers In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19834 ) Change subject: smscb.h: use uint16_t for port numbers ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I05b77fa818d83c97df6fbb7504b80c36d607481b Gerrit-Change-Number: 19834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 09:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 09:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client ... 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/+/19831 to look at the new patch set (#3). Change subject: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes ...................................................................... BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes With Icaa2775cc20a99227dabe38a775ff808b374cf98, osmo-bsc no longer allows configuring CBSP as both server and client at the same time, and the 'cbc' VTY section has a different structure. Adjust the 'cbc' section in osmo-bsc.cfg. For each CBSP test init, switch osmo-bsc's CBSP link to server or client mode by new vty command 'cbc' / 'mode (server|client|disabled)'. Related: Icaa2775cc20a99227dabe38a775ff808b374cf98 (osmo-bsc) Related: I9e9760121265b3661f1c179610e975cf7a0873f1 (docker-playground) Related: OS#4702 Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 --- M bsc/BSC_Tests_CBSP.ttcn M bsc/osmo-bsc.cfg 2 files changed, 23 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/19831/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 10:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn at 1856 PS1, Line 1856: f_ms_establish_ul_tbf > Just wondering: do we really need to establish an Uplink TBF here? [?] I don't know, but I was basically doing similar as I saw on the pcap trace, so this resembles more a real case scenario, where MS first sends GMM Attach and then it goes through auth, where SGSN gains IMSI knowledge and sends it to the PCU on the downlink. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:39:26 +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 Aug 28 10:40:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:40:51 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19835 ) Change subject: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If439729a97104019d7088f26cf741e156b14cba7 Gerrit-Change-Number: 19835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:40: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 Aug 28 10:44:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:44:42 +0000 Subject: Change in osmo-gsm-tester[master]: srs{ue, enb}.conf.tmpl: remove restriction of PHY threads for ZMQ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19857 ) Change subject: srs{ue,enb}.conf.tmpl: remove restriction of PHY threads for ZMQ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I31abfce742f757179fbfe4099cd0a934db4e63d7 Gerrit-Change-Number: 19857 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:44: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 Aug 28 10:45:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:45:39 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: add sleep after stopping srsENB to allow log flush In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19858 ) Change subject: enb_srs: add sleep after stopping srsENB to allow log flush ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9f8341869f89cd7ae845072b9da4f6070fa2d242 Gerrit-Change-Number: 19858 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10: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 Fri Aug 28 10:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:46:46 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_amarisoft: handle exception and log event if WS is closed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859 ) Change subject: rfemu_amarisoft: handle exception and log event if WS is closed ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859/1/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py File src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859/1/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py at 62 PS1, Line 62: except Exception: probably worth also logging the Exception that triggered this path? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0fafc7e38954400540375d51813e96500700f50c Gerrit-Change-Number: 19859 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:46:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 10:47:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:47:23 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19860 ) Change subject: srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If6c313a1deafffda26e9effeb807ca71064c46bc Gerrit-Change-Number: 19860 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:47: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 Aug 28 10:48:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:48:13 +0000 Subject: Change in osmo-gsm-tester[master]: enb: expose RRC inactivity timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19861 ) Change subject: enb: expose RRC inactivity timer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6a264b8dee893b883d40a48831cbb47eb15e1e7b Gerrit-Change-Number: 19861 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10: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 Fri Aug 28 10:49:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:49:30 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: trim leading zeros in UE metrics when calculating min_rolling... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19862 ) Change subject: ms_srs: trim leading zeros in UE metrics when calculating min_rolling_avg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I96dab17bb19249504dedda6659aed5eac0a65a26 Gerrit-Change-Number: 19862 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:49: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 Aug 28 10:50:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 10:50:44 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: consider number of component carriers for max rate calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863 ) Change subject: 4g: consider number of component carriers for max rate calculation ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863/1/sysmocom/suites/4g/iperf3_ul.py File sysmocom/suites/4g/iperf3_ul.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863/1/sysmocom/suites/4g/iperf3_ul.py at 24 PS1, Line 24: max_rate *= ue.num_carriers what about passing ue.num_carriers as parameter to enb.ue_max_rate? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I70d850c0996ed461d3733e911adc33f3554c297c Gerrit-Change-Number: 19863 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:50: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 Fri Aug 28 10:52:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:52:32 +0000 Subject: Change in libosmocore[rel-1.4.1]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmocore/+/19867 to review the following change. Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH According to 3GPP TS 44.005, section 4.2.2 "Priority": a) on DCCH, a SAPI=0 frame always has higher priority than SAPI=3; b) on ACCH, the priority arrangement is more complex: b1) if a SAPI = 3 frame is awaiting transmission, two SAPI=0 frames shall not be sent in consecutive SACCH frames; b2) on the network side (LAPDM_MODE_BTS), it must also be ensured that any SAPI=3 frame is followed by at least one SAPI=0 frame; b3) a SAPI = 0 frame may be repeated in the next SACCH period if the Repeated SACCH is supported (see 3GPP TS 44.006, section 11). We definitely need to extend our testing coverage to ensure that we implement b) correctly, but for now let's focus on DCCH: a) for DCCH, ensure that SAPI=0 frames preceed SAPI=3 ones; b) for ACCH, re-use the existing round-robin implementation. Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Related: SYS#5047, OS#4731 --- M src/gsm/lapdm.c 1 file changed, 21 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/19867/1 diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index e5fbaf0..fa928c5 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -380,7 +380,21 @@ return le->l1_prim_cb(&pp.oph, le->l1_ctx); } -static struct msgb *tx_dequeue_msgb(struct lapdm_entity *le) +/* Dequeue a Downlink message for DCCH (dedicated channel) */ +static struct msgb *tx_dequeue_dcch_msgb(struct lapdm_entity *le) +{ + struct msgb *msg; + + /* SAPI=0 always has higher priority than SAPI=3 */ + msg = msgb_dequeue(&le->datalink[DL_SAPI0].dl.tx_queue); + if (msg == NULL) /* no SAPI=0 messages, dequeue SAPI=3 (if any) */ + msg = msgb_dequeue(&le->datalink[DL_SAPI3].dl.tx_queue); + + return msg; +} + +/* Dequeue a Downlink message for ACCH (associated channel) */ +static struct msgb *tx_dequeue_acch_msgb(struct lapdm_entity *le) { struct lapdm_datalink *dl; int last = le->last_tx_dequeue; @@ -411,7 +425,12 @@ struct msgb *msg; uint8_t pad; - msg = tx_dequeue_msgb(le); + /* Dequeue depending on channel type: DCCH or ACCH. + * See 3GPP TS 44.005, section 4.2.2 "Priority". */ + if (le == &le->lapdm_ch->lapdm_dcch) + msg = tx_dequeue_dcch_msgb(le); + else + msg = tx_dequeue_acch_msgb(le); if (!msg) return -ENODEV; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19867 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 10:53:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 10:53:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn at 1856 PS1, Line 1856: f_ms_establish_ul_tbf > I don't know, but I was basically doing similar as I saw on the pcap trace, so this resembles more a [?] I see your point, but ideally a test case should focus on a certain problem; in this case it's parsing IMSI IE in BSSGP_DL_UD. Let's rather skip UL TBF establishment, so the test case would be shorter and easier to read/understand. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 10:53:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Aug 28 10:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:53:32 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E4=2E1=5D=3A_Bump_version=3A_1=2E4=2E0=2E1-a07d_=E2=86=92_1=2E4=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19868 ) Change subject: Bump version: 1.4.0.1-a07d ? 1.4.1 ...................................................................... Bump version: 1.4.0.1-a07d ? 1.4.1 Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/19868/1 diff --git a/debian/changelog b/debian/changelog index 317fefe..8b0710b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libosmocore (1.4.1) unstable; urgency=medium + + [ Vadim Yanitskiy ] + * lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH + + -- Harald Welte Fri, 28 Aug 2020 12:53:10 +0200 + libosmocore (1.4.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 Gerrit-Change-Number: 19868 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 Aug 28 10:56:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:56:50 +0000 Subject: Change in libosmocore[rel-1.4.1]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19867 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19867 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 10:56: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 Aug 28 10:56:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:56:55 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E4=2E1=5D=3A_Bump_version=3A_1=2E4=2E0=2E1-a07d_=E2=86=92_1=2E4=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19868 ) Change subject: Bump version: 1.4.0.1-a07d ? 1.4.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 Gerrit-Change-Number: 19868 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 28 Aug 2020 10:56: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 Aug 28 10:57:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 10:57:14 +0000 Subject: Change in libosmocore[rel-1.4.1]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19867 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19867 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 10:57: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 Aug 28 10:58:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 10:58:02 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E4=2E1=5D=3A_Bump_version=3A_1=2E4=2E0=2E1-a07d_=E2=86=92_1=2E4=2E1?= In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19868 ) Change subject: Bump version: 1.4.0.1-a07d ? 1.4.1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 Gerrit-Change-Number: 19868 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 10:58: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 Aug 28 10:58:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:58:32 +0000 Subject: Change in libosmocore[rel-1.4.1]: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19867 ) Change subject: lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH ...................................................................... lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH According to 3GPP TS 44.005, section 4.2.2 "Priority": a) on DCCH, a SAPI=0 frame always has higher priority than SAPI=3; b) on ACCH, the priority arrangement is more complex: b1) if a SAPI = 3 frame is awaiting transmission, two SAPI=0 frames shall not be sent in consecutive SACCH frames; b2) on the network side (LAPDM_MODE_BTS), it must also be ensured that any SAPI=3 frame is followed by at least one SAPI=0 frame; b3) a SAPI = 0 frame may be repeated in the next SACCH period if the Repeated SACCH is supported (see 3GPP TS 44.006, section 11). We definitely need to extend our testing coverage to ensure that we implement b) correctly, but for now let's focus on DCCH: a) for DCCH, ensure that SAPI=0 frames preceed SAPI=3 ones; b) for ACCH, re-use the existing round-robin implementation. Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Related: SYS#5047, OS#4731 --- M src/gsm/lapdm.c 1 file changed, 21 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index e5fbaf0..fa928c5 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -380,7 +380,21 @@ return le->l1_prim_cb(&pp.oph, le->l1_ctx); } -static struct msgb *tx_dequeue_msgb(struct lapdm_entity *le) +/* Dequeue a Downlink message for DCCH (dedicated channel) */ +static struct msgb *tx_dequeue_dcch_msgb(struct lapdm_entity *le) +{ + struct msgb *msg; + + /* SAPI=0 always has higher priority than SAPI=3 */ + msg = msgb_dequeue(&le->datalink[DL_SAPI0].dl.tx_queue); + if (msg == NULL) /* no SAPI=0 messages, dequeue SAPI=3 (if any) */ + msg = msgb_dequeue(&le->datalink[DL_SAPI3].dl.tx_queue); + + return msg; +} + +/* Dequeue a Downlink message for ACCH (associated channel) */ +static struct msgb *tx_dequeue_acch_msgb(struct lapdm_entity *le) { struct lapdm_datalink *dl; int last = le->last_tx_dequeue; @@ -411,7 +425,12 @@ struct msgb *msg; uint8_t pad; - msg = tx_dequeue_msgb(le); + /* Dequeue depending on channel type: DCCH or ACCH. + * See 3GPP TS 44.005, section 4.2.2 "Priority". */ + if (le == &le->lapdm_ch->lapdm_dcch) + msg = tx_dequeue_dcch_msgb(le); + else + msg = tx_dequeue_acch_msgb(le); if (!msg) return -ENODEV; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Ia3780bce1222b312ae2fd2d21496a4d6c5ccb6e0 Gerrit-Change-Number: 19867 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 Fri Aug 28 10:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 10:58:38 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E4=2E1=5D=3A_Bump_version=3A_1=2E4=2E0=2E1-a07d_=E2=86=92_1=2E4=2E1?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19868 ) Change subject: Bump version: 1.4.0.1-a07d ? 1.4.1 ...................................................................... Bump version: 1.4.0.1-a07d ? 1.4.1 Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index 317fefe..8b0710b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libosmocore (1.4.1) unstable; urgency=medium + + [ Vadim Yanitskiy ] + * lapdm: fix SAPI-0/SAPI-3 frame prioritization on DCCH + + -- Harald Welte Fri, 28 Aug 2020 12:53:10 +0200 + libosmocore (1.4.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.4.1 Gerrit-Change-Id: Id60e854cdabb79983e18aef2f0eb94abdcf95646 Gerrit-Change-Number: 19868 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 Fri Aug 28 11:11:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 ) Change subject: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g ...................................................................... library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g Change-Id: Ica803221e885b4746fd42c17cd2828c0ef35a6aa --- M bts/BTS_Tests.ttcn M library/GSM_RR_Types.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/19869/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8a478ba..34fd702 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -248,7 +248,7 @@ /* Frequency hopping parameters (disabled if absent) */ MaioHsn maio_hsn optional, /* MA bitmap to be indicated in RR Immediate Assignment */ - MobileAllocation ma_map, + MobileAllocationLV ma_map, /* The actual Mobile Allocation (ARFCN list) to be used */ L1ctlMA ma } @@ -3546,7 +3546,7 @@ /*********************************************************************** * Immediate Assignment / AGCH ***********************************************************************/ -private const MobileAllocation c_MA_null := { +private const MobileAllocationLV c_MA_null := { len := 0, ma := ''B } diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index cd599f3..470d68c 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -294,7 +294,7 @@ } with { variant "" }; /* 10.5.2.21 */ - type record MobileAllocation { + type record MobileAllocationLV { uint8_t len, bitstring ma } with { @@ -674,7 +674,7 @@ PacketChannelDescription pkt_chan_desc optional, RequestReference req_ref, TimingAdvance timing_advance, - MobileAllocation mobile_allocation, + MobileAllocationLV mobile_allocation, /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" @@ -955,7 +955,7 @@ }; template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, - ChannelDescription ch_desc, MobileAllocation ma) := { + ChannelDescription ch_desc, MobileAllocationLV ma) := { header := ts_RrHeader(IMMEDIATE_ASSIGNMENT, 0), payload := { imm_ass := { @@ -985,7 +985,7 @@ template GsmRrMessage tr_IMM_ASS(template uint8_t ra := ?, template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, - template MobileAllocation ma := ?) := { + template MobileAllocationLV ma := ?) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { @@ -1012,7 +1012,7 @@ template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template PacketChannelDescription ch_desc := ?, - template MobileAllocation ma := ?, + template MobileAllocationLV ma := ?, template IaRestOctets rest := ?) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bb10a77..3c8be30 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2092,7 +2092,7 @@ ia.pkt_chan_desc, " vs ", tr_pkt_chan_desc); } - var MobileAllocation tr_ma := { len := 0, ma := ''B }; + var MobileAllocationLV tr_ma := { len := 0, ma := ''B }; var octetstring ma_oct := bit2oct(ts.ma); /* Calculate length of the useful part of Mobile Allocation */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ica803221e885b4746fd42c17cd2828c0ef35a6aa Gerrit-Change-Number: 19869 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 Aug 28 11:11:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 ) Change subject: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types ...................................................................... library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 --- M library/GSM_RR_Types.ttcn M library/GSM_SystemInformation.ttcn 2 files changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/19870/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 470d68c..76b03a9 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -302,6 +302,11 @@ variant (ma) "BYTEORDER(first), BITORDER(msb)" }; + type record MobileAllocationTLV { + OCT1 iei ('72'O), + MobileAllocationLV v + } with { variant "" }; + /* 10.5.2.25a */ type record PktChDesc0Ind { uint6_t maio, diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 9113583..85abb7f 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -86,13 +86,6 @@ template ControlChannelDescription t_ControlChannelDescription := { ?, ?, ?, ?, ?, ?, '00'B, ?, ? }; - /* 44.018 10.5.2.21 */ - type record MobileAllocationT { - OCT1 iei, - uint8_t len, - bitstring ma - } with { variant "" }; - /* 44.018 10.5.2.22 */ type octetstring NeighbourCellDescription with { variant "FIELDLENGTH(16)" }; @@ -175,7 +168,7 @@ CellSelectionParameters cell_sel_par, RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, - MobileAllocationT cbch_mobile_alloc optional, + MobileAllocationTLV cbch_mobile_alloc optional, SI4RestOctets rest_octets /* see 10.5.2.35 */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 Gerrit-Change-Number: 19870 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 Aug 28 11:11:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: share RA generation helpers from BTS_Tests References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 ) Change subject: library/Osmocom_Types: share RA generation helpers from BTS_Tests ...................................................................... library/Osmocom_Types: share RA generation helpers from BTS_Tests Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 --- M bts/BTS_Tests.ttcn M library/Osmocom_Types.ttcn 2 files changed, 49 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/19871/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 34fd702..d9ad45b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1348,55 +1348,6 @@ * RACH Handling ***********************************************************************/ -/* like L1SAP_IS_PACKET_RACH */ -private function ra_is_ps(OCT1 ra) return boolean { - if ((ra and4b 'F0'O == '70'O) and (ra and4b '0F'O != '0F'O)) { - return true; - } - return false; -} - -private function ra_is_emerg(OCT1 ra) return boolean { - /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ - if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { - return true; - } - return false; -} - -/* generate a random RACH for circuit-switched */ -private function f_rnd_ra_cs() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (ra_is_ps(ra)); - return ra; -} - -/* generate a random RACH for emergency */ -private function f_rnd_ra_emerg() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (not ra_is_emerg(ra)); - return ra; -} - -/* generate a random RACH for packet-switched */ -private function f_rnd_ra_ps() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (not ra_is_ps(ra)); - return ra; -} - -/* generate a random 11-bit RA (packet-switched only) */ -private function f_rnd_ra11_ps() return BIT11 { - var integer ra11 := f_rnd_int(bit2int('11111111111'B)); - return int2bit(ra11, 11); -} - /* Send 1000 RACH requests and check their RA+FN on the RSL side */ private function f_TC_rach_content(boolean emerg) runs on test_CT { f_init(); diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 994a0cc..2ee3215 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -198,5 +198,54 @@ } } +/* like L1SAP_IS_PACKET_RACH */ +function ra_is_ps(OCT1 ra) return boolean { + if ((ra and4b 'F0'O == '70'O) and (ra and4b '0F'O != '0F'O)) { + return true; + } + return false; +} + +function ra_is_emerg(OCT1 ra) return boolean { + /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { + return true; + } + return false; +} + +/* generate a random RACH for circuit-switched */ +function f_rnd_ra_cs() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (ra_is_ps(ra)); + return ra; +} + +/* generate a random RACH for emergency */ +function f_rnd_ra_emerg() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (not ra_is_emerg(ra)); + return ra; +} + +/* generate a random RACH for packet-switched */ +function f_rnd_ra_ps() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (not ra_is_ps(ra)); + return ra; +} + +/* generate a random 11-bit RA (packet-switched only) */ +function f_rnd_ra11_ps() return BIT11 { + var integer ra11 := f_rnd_int(bit2int('11111111111'B)); + return int2bit(ra11, 11); +} + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 Gerrit-Change-Number: 19871 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 Aug 28 11:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 ) Change subject: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject ...................................................................... BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 --- M library/BSSMAP_Templates.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/19872/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 2496a1b..694e3e8 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -148,6 +148,22 @@ extensionCauseValue := '0'B, spare1 := omit } +template BSSMAP_IE_Cause tr_BSSMAP_IE_Cause(template (present) myBSSMAP_Cause val) := { + elementIdentifier := '04'O, + lengthIndicator := ?, + causeValue := f_tr_causeValue(val), + extensionCauseValue := ?, + spare1 := * +} +private function f_tr_causeValue(template (present) myBSSMAP_Cause val) +return template (present) BIT7 { + if (istemplatekind(val, "?")) { + return ?; + } else { + var integer int_val := enum2int(valueof(val)); + return int2bit(valueof(int_val), 7); + } +} template (value) BSSMAP_IE_SpeechVersion ts_BSSMAP_IE_SpeechVersion(SpeechVersion val) := { elementIdentifier := '40'O, @@ -1625,6 +1641,34 @@ } } +template PDU_BSSAP tr_BSSMAP_SAPInReject(template (present) GsmSapi sapi := ?, + template BSSMAP_IE_Cause cause := ?) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + sAPInReject := { + messageType := '25'O, + dLCI := { + elementIdentifier := '18'O, + sapiValue := f_tr_SAPI(sapi), + spare := ?, + c1 := ?, c2 := ? + }, + cause := cause + } + } + } +} + +private function f_tr_SAPI(template (present) GsmSapi sapi) +return template (present) BIT3 { + if (istemplatekind(sapi, "?")) { + return ?; + } else { + return int2bit(valueof(sapi), 3); + } +} + } with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Gerrit-Change-Number: 19872 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 Aug 28 11:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSAP_CodecPort: turn conn_id into a template param References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 ) Change subject: library/BSSAP_CodecPort: turn conn_id into a template param ...................................................................... library/BSSAP_CodecPort: turn conn_id into a template param Change-Id: I9b9ccee970b3a5bf608f2bdba51b317e35e678c7 --- M library/BSSAP_CodecPort.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/19873/1 diff --git a/library/BSSAP_CodecPort.ttcn b/library/BSSAP_CodecPort.ttcn index fdece08..5339b32 100644 --- a/library/BSSAP_CodecPort.ttcn +++ b/library/BSSAP_CodecPort.ttcn @@ -126,7 +126,7 @@ SCCP_PAR_Importance importance optional } -template BSSAP_N_DATA_ind tr_BSSAP_DATA_ind(SCCP_PAR_Connection_Id conn_id, +template BSSAP_N_DATA_ind tr_BSSAP_DATA_ind(template SCCP_PAR_Connection_Id conn_id, template PDU_BSSAP bssap := *) := { userData := bssap, connectionId := conn_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9b9ccee970b3a5bf608f2bdba51b317e35e678c7 Gerrit-Change-Number: 19873 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 Aug 28 11:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:11:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject The idea of these new test cases is to verify that the IUT does send BSSMAP SAPI N Reject in the following cases respectively: - on receipt of an unexpected RLL RELease INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - on receipt of an unexpected RLL ERROR INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - due to SAPI=3 link establishment timeout. Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Related: SYS#5047, OS#4728 --- M bsc/BSC_Tests.ttcn 1 file changed, 117 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/19874/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 61b700c..f100972 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1881,6 +1881,118 @@ setverdict(pass); } +private function f_exp_sapi_n_reject(template (present) GsmSapi sapi := ?, + template myBSSMAP_Cause cause := ?) +runs on test_CT { + var BSSAP_N_DATA_ind rx_di; + timer T := 2.0; + + var template BSSMAP_IE_Cause tr_cause := tr_BSSMAP_IE_Cause(cause); + var template PDU_BSSAP tr_pdu := tr_BSSMAP_SAPInReject(sapi); + + T.start; + alt { + [] BSSAP.receive(tr_BSSAP_DATA_ind(?, tr_pdu)) -> value rx_di { + var BSSMAP_IE_Cause rx_cause := rx_di.userData.pdu.bssmap.sAPInReject.cause; + if (not match(rx_cause, tr_cause)) { + setverdict(fail, "Rx unexpected Cause IE: ", + rx_cause, " vs expected ", tr_cause); + } + setverdict(pass); + } + [] BSSAP.receive(BSSAP_N_DATA_ind:?) -> value rx_di { + setverdict(fail, "Rx unexpected BSSAP PDU: ", rx_di); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSMAP SAPI N Reject"); + } + } +} + +/* Check if we get SAPI N Reject on receipt of unexpected RLL RELease INDication */ +testcase TC_rll_rel_ind_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* MS sends unexpected RELease INDication on SAPI=3 */ + f_ipa_tx(0, ts_RSL_REL_IND(dt.rsl_chan_nr, ts_RslLinkID_DCCH(3))); + /* We expect to receive BSSMAP SAPI N Reject message from the BSC */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_MS_NOT_EQUIPPED); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + +/* Check if we get SAPI N Reject on receipt of unexpected RLL ERROR INDication */ +testcase TC_rll_err_ind_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* BTS sends unexpected ERROR INDication on SAPI=3 */ + f_ipa_tx(0, ts_RSL_ERROR_IND(dt.rsl_chan_nr, ts_RslLinkID_DCCH(3), ''O)); + /* We expect to receive BSSMAP SAPI N Reject message from the BSC */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + +/* Check if we get SAPI N Reject due to a timeout */ +testcase TC_rll_timeout_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* MS does not respond, so the link establishment timeout triggers SAPI N Reject */ + f_sleep(8.0); /* TODO: reduce this timeout somehow? */ + /* We expect to receive BSSMAP SAPI N Reject message from the BSC */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + testcase TC_si_default() runs on test_CT { f_init(0); f_init_bts_and_check_sysinfo(0, expect_si := SystemInformationConfig_default); @@ -6446,6 +6558,11 @@ execute( TC_rll_est_ind_inval_sapi3() ); execute( TC_rll_est_ind_inval_sacch() ); + /* SAPI N Reject triggered by RLL establishment failures */ + execute( TC_rll_rel_ind_sapi_n_reject() ); + execute( TC_rll_err_ind_sapi_n_reject() ); + execute( TC_rll_timeout_sapi_n_reject() ); + /* Paging related tests */ execute( TC_paging_imsi_nochan() ); execute( TC_paging_tmsi_nochan() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 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 Aug 28 11:18:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:18:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject 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/+/19872 to look at the new patch set (#2). Change subject: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject ...................................................................... BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Related: SYS#5047, OS#4728 --- M library/BSSMAP_Templates.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/19872/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Gerrit-Change-Number: 19872 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 Aug 28 11:18:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 11:18:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject 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/+/19874 to look at the new patch set (#2). Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject The idea of these new test cases is to verify that the IUT does send BSSMAP SAPI N Reject in the following cases respectively: - on receipt of an unexpected RLL RELease INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - on receipt of an unexpected RLL ERROR INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - due to SAPI=3 link establishment timeout. Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Related: SYS#5047, OS#4728 --- M bsc/BSC_Tests.ttcn 1 file changed, 117 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/19874/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 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 Aug 28 12:25:57 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 12:25:57 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... vty: allow configuring db path from cfg file So far, the cmdline argument was the only way to set a database file. Add a similar config to VTY as 'msc' / 'sms-database'. The cmdline arg is stronger than the 'database' cfg item. DB is not reloaded from VTY command. Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 --- M include/osmocom/msc/gsm_data.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/osmo-msc/msc_main.c M tests/test_nodes.vty 5 files changed, 22 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/19875/1 diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 2122d4b..61fbc26 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -30,6 +30,7 @@ struct vlr_subscr; struct gsup_client_mux; +#define SMS_DEFAULT_DB_FILE_PATH "sms.db" #define tmsi_from_string(str) strtoul(str, NULL, 10) enum { @@ -259,6 +260,7 @@ /* Whether to use call waiting on the network */ bool call_waiting; + char *sms_db_file_path; }; struct osmo_esme; diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index adb9ca7..774c767 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -61,6 +61,8 @@ if (!net) return NULL; + net->sms_db_file_path = talloc_strdup(net, SMS_DEFAULT_DB_FILE_PATH); + net->plmn = (struct osmo_plmn_id){ .mcc=1, .mnc=1 }; /* Permit a compile-time default of A5/3 and A5/1 */ diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 07a88c2..46d3cf9 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -426,6 +426,15 @@ #define MNCC_GUARD_TIMEOUT_STR "Set global guard timer for mncc interface activity\n" #define MNCC_GUARD_TIMEOUT_VALUE_STR "guard timer value (sec.)\n" +DEFUN(cfg_sms_database, cfg_sms_database_cmd, + "sms-database PATH", + "Set the path to the MSC-SMS database file\n" + "Relative or absolute file system path to the database file (default is '" SMS_DEFAULT_DB_FILE_PATH "')\n") +{ + osmo_talloc_replace_string(gsmnet, &gsmnet->sms_db_file_path, argv[0]); + return CMD_SUCCESS; +} + DEFUN(cfg_msc_mncc_internal, cfg_msc_mncc_internal_cmd, "mncc internal", @@ -731,6 +740,8 @@ static int config_write_msc(struct vty *vty) { vty_out(vty, "msc%s", VTY_NEWLINE); + if (gsmnet->sms_db_file_path && strcmp(gsmnet->sms_db_file_path, SMS_DEFAULT_DB_FILE_PATH)) + vty_out(vty, " sms-database %s%s", gsmnet->sms_db_file_path, VTY_NEWLINE); if (gsmnet->mncc_sock_path) vty_out(vty, " mncc external %s%s", gsmnet->mncc_sock_path, VTY_NEWLINE); vty_out(vty, " mncc guard-timeout %i%s", @@ -2059,6 +2070,7 @@ install_element(CONFIG_NODE, &cfg_msc_cmd); install_node(&msc_node, config_write_msc); + install_element(MSC_NODE, &cfg_sms_database_cmd); install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd); install_element(MSC_NODE, &cfg_msc_mncc_internal_cmd); install_element(MSC_NODE, &cfg_msc_mncc_external_cmd); diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 4cda395..4f614db 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -105,7 +105,7 @@ int daemonize; const char *mncc_sock_path; } msc_cmdline_config = { - .database_name = "sms.db", + .database_name = NULL, .config_file = "osmo-msc.cfg", }; @@ -647,9 +647,11 @@ /* TODO: is this used for crypto?? Improve randomness, at least we * should try to use the nanoseconds part of the current time. */ - if (db_init(msc_cmdline_config.database_name)) { + if (msc_cmdline_config.database_name) + osmo_talloc_replace_string(msc_network, &msc_network->sms_db_file_path, msc_cmdline_config.database_name); + if (db_init(msc_network->sms_db_file_path)) { fprintf(stderr, "DB: Failed to init database: %s\n", - msc_cmdline_config.database_name); + osmo_quote_str((char*)msc_network->sms_db_file_path, -1)); return 4; } diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 520f07c..d389675 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -46,6 +46,7 @@ OsmoMSC(config)# msc OsmoMSC(config-msc)# list ... + sms-database PATH assign-tmsi mncc internal mncc external MNCC_SOCKET_PATH -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 12:33:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 12:33:33 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote sctp_bindx() fails if passed both "0.0.0.0" and "::", only "::" must be passed instead, which covers both. As a result, it is fine in this case and makes sense having only IPv6 formatted IPs in the local side (which actually also includes all IPv4 ones in th system) and IPv4-only addresses on the remote side. Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff --- M src/socket.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/19876/1 diff --git a/src/socket.c b/src/socket.c index 1afbe6e..a5bbddf 100644 --- a/src/socket.c +++ b/src/socket.c @@ -443,6 +443,22 @@ } } +/* Check whether there's an IPv6 with IN6ADDR_ANY_INIT ("::") */ +static bool addrinfo_has_in6addr_any(const struct addrinfo **result, size_t result_count) +{ + size_t host_idx; + struct in6_addr in6addr_any = IN6ADDR_ANY_INIT; + + for (host_idx = 0; host_idx < result_count; host_idx++) { + if (result[host_idx]->ai_family != AF_INET6) + continue; + if (memcmp(&((struct sockaddr_in6 *)result[host_idx]->ai_addr)->sin6_addr, + &in6addr_any, sizeof(in6addr_any)) == 0) + return true; + } + return false; +} + static int socket_helper_multiaddr(uint16_t family, uint16_t type, uint8_t proto, unsigned int flags) { int sfd, on = 1; @@ -577,6 +593,7 @@ } if (((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) && + !addrinfo_has_in6addr_any((const struct addrinfo **)res_loc, local_hosts_cnt) && (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) { LOGP(DLGLOBAL, LOGL_ERROR, "Invalid v4 vs v6 in local vs remote addresses\n"); rc = -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-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 Aug 28 13:00:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:00:40 +0000 Subject: Change in osmo-mgw[master]: Add example osmo-mgw configuration file for Abis/E1 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19877 ) Change subject: Add example osmo-mgw configuration file for Abis/E1 ...................................................................... Add example osmo-mgw configuration file for Abis/E1 In this example, we are using the first span (0) of the first DAHDI card and use it as 'trunk 1' in the MGW. Change-Id: I0a97da5163a94379b327403b1258696855836bad --- M contrib/osmo-mgw.spec.in M debian/osmo-mgw.install A doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg 3 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/77/19877/1 diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index fc618da..b08a598 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -113,6 +113,7 @@ %dir %{_docdir}/%{name}/examples %dir %{_docdir}/%{name}/examples/osmo-mgw %{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw.cfg +%{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw-abis_e1.cfg %{_bindir}/osmo-mgw %{_unitdir}/osmo-mgw.service %dir %{_sysconfdir}/osmocom diff --git a/debian/osmo-mgw.install b/debian/osmo-mgw.install index 6f44961..cccf167 100644 --- a/debian/osmo-mgw.install +++ b/debian/osmo-mgw.install @@ -2,3 +2,4 @@ lib/systemd/system/osmo-mgw.service usr/bin/osmo-mgw usr/share/doc/osmo-mgw/examples/osmo-mgw/osmo-mgw.cfg +usr/share/doc/osmo-mgw/examples/osmo-mgw/osmo-mgw-abis_e1.cfg diff --git a/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg b/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg new file mode 100644 index 0000000..abdcb04 --- /dev/null +++ b/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg @@ -0,0 +1,25 @@ +! +! MGCP configuration example +! +e1_input + e1_line 0 driver dahdi + e1_line 0 port 0 +mgcp + bind ip 127.0.0.1 + rtp port-range 4002 16000 + rtp bind-ip 127.0.0.1 + rtp ip-probing + rtp ip-tos 184 + bind port 2427 + sdp audio payload number 98 + sdp audio payload name GSM + number endpoints 31 + loop 0 + force-realloc 1 + rtcp-omit + rtp-patch ssrc + rtp-patch timestamp + trunk 1 + rtp keep-alive once + no rtp keep-alive + line 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0a97da5163a94379b327403b1258696855836bad Gerrit-Change-Number: 19877 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 Aug 28 13:12:25 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 13:12:25 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 1: > Build Failed > I'm not sure how to re generate the correct testsuite outputs. I think the tests fail because I changed the gsm_network struct? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 28 Aug 2020 13:12: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 Fri Aug 28 13:38:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:38:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 ) Change subject: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ica803221e885b4746fd42c17cd2828c0ef35a6aa Gerrit-Change-Number: 19869 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 13:38: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 Aug 28 13:39:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:39:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 ) Change subject: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 Gerrit-Change-Number: 19870 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 13:39: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 Aug 28 13:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:40:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: share RA generation helpers from BTS_Tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 ) Change subject: library/Osmocom_Types: share RA generation helpers from BTS_Tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 Gerrit-Change-Number: 19871 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 13:40: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 Aug 28 13:40:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:40:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSAP_CodecPort: turn conn_id into a template param In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 ) Change subject: library/BSSAP_CodecPort: turn conn_id into a template param ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9b9ccee970b3a5bf608f2bdba51b317e35e678c7 Gerrit-Change-Number: 19873 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 13:40: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 Aug 28 13:40:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:40:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 ) Change subject: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Gerrit-Change-Number: 19872 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 13:40: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 Aug 28 13:42:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 13:42:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2/bsc/BSC_Tests.ttcn at 1985 PS2, Line 1985: f_sleep(8.0); /* TODO: reduce this timeout somehow? */ you can probably start a timer for 8s, and then go into an alt statement. When the SAPI_N_REJECT is received, you terminate early, and the 8s timeout only happens if we don't receive any SAPI_N_REJECT. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 13:42: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 Fri Aug 28 13:48:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 13:48:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn at 1856 PS1, Line 1856: f_ms_establish_ul_tbf > I see your point, but ideally a test case should focus on a certain problem; in this case it's parsi [?] I am testing this specific scenario,what's wrong with it? if you want to spend time testing another one, please do so. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 13:48:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 13:49:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 13:49:31 +0000 Subject: Change in osmo-mgw[master]: Add example osmo-mgw configuration file for Abis/E1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19877 ) Change subject: Add example osmo-mgw configuration file for Abis/E1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0a97da5163a94379b327403b1258696855836bad Gerrit-Change-Number: 19877 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 13: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 Fri Aug 28 13:50:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 13:50:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 ) Change subject: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 Gerrit-Change-Number: 19870 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 13:50:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 13:50:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 13:50:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: share RA generation helpers from BTS_Tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 ) Change subject: library/Osmocom_Types: share RA generation helpers from BTS_Tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 Gerrit-Change-Number: 19871 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 13:50: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 Aug 28 13:51:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 13:51:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 ) Change subject: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Gerrit-Change-Number: 19872 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 13:51: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 Aug 28 14:00:15 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:00:15 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 28 Aug 2020 14:00: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 Fri Aug 28 14:00:57 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:00:57 +0000 Subject: Change in osmo-mgw[master]: Add example osmo-mgw configuration file for Abis/E1 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19877 ) Change subject: Add example osmo-mgw configuration file for Abis/E1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0a97da5163a94379b327403b1258696855836bad Gerrit-Change-Number: 19877 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:00:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:01:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:01:06 +0000 Subject: Change in osmo-mgw[master]: Add example osmo-mgw configuration file for Abis/E1 In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19877 ) Change subject: Add example osmo-mgw configuration file for Abis/E1 ...................................................................... Add example osmo-mgw configuration file for Abis/E1 In this example, we are using the first span (0) of the first DAHDI card and use it as 'trunk 1' in the MGW. Change-Id: I0a97da5163a94379b327403b1258696855836bad --- M contrib/osmo-mgw.spec.in M debian/osmo-mgw.install A doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg 3 files changed, 27 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/contrib/osmo-mgw.spec.in b/contrib/osmo-mgw.spec.in index fc618da..b08a598 100644 --- a/contrib/osmo-mgw.spec.in +++ b/contrib/osmo-mgw.spec.in @@ -113,6 +113,7 @@ %dir %{_docdir}/%{name}/examples %dir %{_docdir}/%{name}/examples/osmo-mgw %{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw.cfg +%{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw-abis_e1.cfg %{_bindir}/osmo-mgw %{_unitdir}/osmo-mgw.service %dir %{_sysconfdir}/osmocom diff --git a/debian/osmo-mgw.install b/debian/osmo-mgw.install index 6f44961..cccf167 100644 --- a/debian/osmo-mgw.install +++ b/debian/osmo-mgw.install @@ -2,3 +2,4 @@ lib/systemd/system/osmo-mgw.service usr/bin/osmo-mgw usr/share/doc/osmo-mgw/examples/osmo-mgw/osmo-mgw.cfg +usr/share/doc/osmo-mgw/examples/osmo-mgw/osmo-mgw-abis_e1.cfg diff --git a/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg b/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg new file mode 100644 index 0000000..abdcb04 --- /dev/null +++ b/doc/examples/osmo-mgw/osmo-mgw-abis_e1.cfg @@ -0,0 +1,25 @@ +! +! MGCP configuration example +! +e1_input + e1_line 0 driver dahdi + e1_line 0 port 0 +mgcp + bind ip 127.0.0.1 + rtp port-range 4002 16000 + rtp bind-ip 127.0.0.1 + rtp ip-probing + rtp ip-tos 184 + bind port 2427 + sdp audio payload number 98 + sdp audio payload name GSM + number endpoints 31 + loop 0 + force-realloc 1 + rtcp-omit + rtp-patch ssrc + rtp-patch timestamp + trunk 1 + rtp keep-alive once + no rtp keep-alive + line 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0a97da5163a94379b327403b1258696855836bad Gerrit-Change-Number: 19877 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:08:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:08:14 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/19875/2/tests/msc_vlr/msc_vlr_tests.c File tests/msc_vlr/msc_vlr_tests.c: https://gerrit.osmocom.org/c/osmo-msc/+/19875/2/tests/msc_vlr/msc_vlr_tests.c at 1050 PS2, Line 1050: /* Expecting these to stick around in msc_vlr_tests_ctx: would be great to also update this comment by pasting one talloc report output (from a randomly chosen error output when it still said "20" below, for example) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:08:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:16:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:16:48 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG at 13 PS1, Line 13: ones in th system) and IPv4-only addresses on the remote side. it *sounds* really odd though -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:16: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 Fri Aug 28 14:20:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:20:40 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check for conn early In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18233 ) Change subject: osmo_bsc_bssap: check for conn early ...................................................................... Patch Set 1: I agree with Pau, except that there seems to be no root cause that needs fixing? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib7bdfa03ee1d186a94720c65dd72a594de21e783 Gerrit-Change-Number: 18233 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:20:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:22:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:22:21 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14: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 Aug 28 14:22:22 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:22:22 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 to look at the new patch set (#3). Change subject: vty: allow configuring db path from cfg file ...................................................................... vty: allow configuring db path from cfg file So far, the cmdline argument was the only way to set a database file. Add a similar config to VTY as 'msc' / 'sms-database'. The cmdline arg is stronger than the 'database' cfg item. DB is not reloaded from VTY command. Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 --- M include/osmocom/msc/gsm_data.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/osmo-msc/msc_main.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err M tests/msc_vlr/msc_vlr_tests.c M tests/test_nodes.vty 18 files changed, 147 insertions(+), 126 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/19875/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Fri Aug 28 14:22:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:22:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19710 ) Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... Patch Set 1: I agree with harald -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:22: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 Fri Aug 28 14:22:38 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:22:38 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/19875/2/tests/msc_vlr/msc_vlr_tests.c File tests/msc_vlr/msc_vlr_tests.c: https://gerrit.osmocom.org/c/osmo-msc/+/19875/2/tests/msc_vlr/msc_vlr_tests.c at 1050 PS2, Line 1050: /* Expecting these to stick around in msc_vlr_tests_ctx: > would be great to also update this comment by pasting one talloc report output (from a randomly chos [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:22:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:24:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:24:00 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19835 ) Change subject: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If439729a97104019d7088f26cf741e156b14cba7 Gerrit-Change-Number: 19835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:24: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 Aug 28 14:25:18 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:25:18 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 to look at the new patch set (#4). Change subject: vty: allow configuring db path from cfg file ...................................................................... vty: allow configuring db path from cfg file So far, the cmdline argument was the only way to set a database file. Add a similar config to VTY as 'msc' / 'sms-database'. The cmdline arg is stronger than the 'database' cfg item. DB is not reloaded from VTY command. Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 --- M include/osmocom/msc/gsm_data.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/osmo-msc/msc_main.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err M tests/msc_vlr/msc_vlr_tests.c M tests/test_nodes.vty 18 files changed, 146 insertions(+), 126 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/19875/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Fri Aug 28 14:26:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:26:33 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19864 ) Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 14:26:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:27:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:27:00 +0000 Subject: Change in osmo-bsc[master]: CBSP: add local bind to client mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19865 ) Change subject: CBSP: add local bind to client mode ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 Gerrit-Change-Number: 19865 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 14:27: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 Aug 28 14:27:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:27:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 ) Change subject: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:27:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:27:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:27:35 +0000 Subject: Change in docker-playground[master]: bsc CBSP: apply new cbc config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19866 ) Change subject: bsc CBSP: apply new cbc config ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 Gerrit-Change-Number: 19866 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 14:27:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:28:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:28:54 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:28: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 Aug 28 14:29:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:29:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... Patch Set 1: Code-Review+1 We do huge amounts of object lookups in long llists all over the osmocom source trees. Caching the e1.line seems a premature optimization. Instead we should do some profiling, and the result will most likely point at other places that take a lot longer than getting an object from a list of one member. (In general, I assume osmocom needs to introduce hashmaps at some point, to look up conn ids on various interfaces instead of iterating every time) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 14:29: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 Aug 28 14:29:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:29:25 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:29:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:31:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:31:42 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: fix measurement handling for SUB frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18035 ) Change subject: osmo-bts-trx/scheduler: fix measurement handling for SUB frames ...................................................................... Patch Set 8: Code-Review-1 (2 comments) as i pointed out before... https://gerrit.osmocom.org/c/osmo-bts/+/18035/8/src/osmo-bts-trx/sched_lchan_tchf.c File src/osmo-bts-trx/sched_lchan_tchf.c: https://gerrit.osmocom.org/c/osmo-bts/+/18035/8/src/osmo-bts-trx/sched_lchan_tchf.c at 176 PS8, Line 176: /* FIXME: any spec. references? */ please add the reference or drop this comment, this doesn't help at all and doesn't really qualify for a FIXME either https://gerrit.osmocom.org/c/osmo-bts/+/18035/8/src/osmo-bts-trx/sched_lchan_tchh.c File src/osmo-bts-trx/sched_lchan_tchh.c: https://gerrit.osmocom.org/c/osmo-bts/+/18035/8/src/osmo-bts-trx/sched_lchan_tchh.c at 187 PS8, Line 187: /* FIXME: any spec. references? */ please add the reference or drop this comment, this doesn't help at all and doesn't really qualify for a FIXME either -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:31: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 Aug 28 14:34:18 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:34:18 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:34:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:37:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 14:37:04 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG at 13 PS1, Line 13: ones in th system) and IPv4-only addresses on the remote side. > it *sounds* really odd though Well anything reusing IPv4 inside Ipv6 sounds odd, but that's how it is. I did some tests and indeed connecting using"::" as src address announced all the addresses (both v4 and v6) during SCTP init. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:37:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:38:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:38:05 +0000 Subject: Change in libosmo-abis[master]: debian: Build libosmo-abis with osmo-e1d support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19799 ) Change subject: debian: Build libosmo-abis with osmo-e1d support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 Gerrit-Change-Number: 19799 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:38:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:38:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Aug 2020 14:38:08 +0000 Subject: Change in libosmo-abis[master]: debian: Build libosmo-abis with osmo-e1d support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19799 ) Change subject: debian: Build libosmo-abis with osmo-e1d support ...................................................................... debian: Build libosmo-abis with osmo-e1d support We've supported building with osmo-e1d support for quite some time, but our Debian packages have not been upgraded to include that support. Let's change that. Related: OS#2547 Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 --- M debian/control M debian/rules 2 files changed, 7 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/debian/control b/debian/control index c304139..842207c 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ libdpkg-perl, git, libosmocore-dev (>= 1.4.0), + libosmo-e1d-dev, pkg-config, libortp-dev Standards-Version: 3.9.7 diff --git a/debian/rules b/debian/rules index f59ca1e..b229005 100755 --- a/debian/rules +++ b/debian/rules @@ -11,6 +11,12 @@ %: dh $@ --with autoreconf --fail-missing +# debmake generated override targets +# Set options for ./configure +CONFIGURE_FLAGS += --enable-e1d +override_dh_auto_configure: + dh_auto_configure -- $(CONFIGURE_FLAGS) + override_dh_strip: dh_strip --dbg-package=libosmo-abis-dbg -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I2f365c3fbd44457033e922257cf040408d0c7058 Gerrit-Change-Number: 19799 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:39:00 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/2/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/19851/2/src/osmo_ss7.c at 1142 PS2, Line 1142: static inline bool host_is_ip_anyaddr(const char *host, bool is_v6) wondering why the is_v6 flag would be necessary at all -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:39:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:39:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:39:20 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:39:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:42:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:42:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854/1/pcu/PCU_Tests.ttcn at 1856 PS1, Line 1856: f_ms_establish_ul_tbf > I am testing this specific scenario,what's wrong with it? if you want to spend time testing another [?] I like testing real scenarios -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 14:42:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Aug 28 14:46:05 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:46:05 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:46:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:46:08 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 28 Aug 2020 14:46:08 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... vty: allow configuring db path from cfg file So far, the cmdline argument was the only way to set a database file. Add a similar config to VTY as 'msc' / 'sms-database'. The cmdline arg is stronger than the 'database' cfg item. DB is not reloaded from VTY command. Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 --- M include/osmocom/msc/gsm_data.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/osmo-msc/msc_main.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err M tests/msc_vlr/msc_vlr_tests.c M tests/test_nodes.vty 18 files changed, 146 insertions(+), 126 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve keith: Looks good to me, approved diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 2122d4b..61fbc26 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -30,6 +30,7 @@ struct vlr_subscr; struct gsup_client_mux; +#define SMS_DEFAULT_DB_FILE_PATH "sms.db" #define tmsi_from_string(str) strtoul(str, NULL, 10) enum { @@ -259,6 +260,7 @@ /* Whether to use call waiting on the network */ bool call_waiting; + char *sms_db_file_path; }; struct osmo_esme; diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index adb9ca7..774c767 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -61,6 +61,8 @@ if (!net) return NULL; + net->sms_db_file_path = talloc_strdup(net, SMS_DEFAULT_DB_FILE_PATH); + net->plmn = (struct osmo_plmn_id){ .mcc=1, .mnc=1 }; /* Permit a compile-time default of A5/3 and A5/1 */ diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 07a88c2..46d3cf9 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -426,6 +426,15 @@ #define MNCC_GUARD_TIMEOUT_STR "Set global guard timer for mncc interface activity\n" #define MNCC_GUARD_TIMEOUT_VALUE_STR "guard timer value (sec.)\n" +DEFUN(cfg_sms_database, cfg_sms_database_cmd, + "sms-database PATH", + "Set the path to the MSC-SMS database file\n" + "Relative or absolute file system path to the database file (default is '" SMS_DEFAULT_DB_FILE_PATH "')\n") +{ + osmo_talloc_replace_string(gsmnet, &gsmnet->sms_db_file_path, argv[0]); + return CMD_SUCCESS; +} + DEFUN(cfg_msc_mncc_internal, cfg_msc_mncc_internal_cmd, "mncc internal", @@ -731,6 +740,8 @@ static int config_write_msc(struct vty *vty) { vty_out(vty, "msc%s", VTY_NEWLINE); + if (gsmnet->sms_db_file_path && strcmp(gsmnet->sms_db_file_path, SMS_DEFAULT_DB_FILE_PATH)) + vty_out(vty, " sms-database %s%s", gsmnet->sms_db_file_path, VTY_NEWLINE); if (gsmnet->mncc_sock_path) vty_out(vty, " mncc external %s%s", gsmnet->mncc_sock_path, VTY_NEWLINE); vty_out(vty, " mncc guard-timeout %i%s", @@ -2059,6 +2070,7 @@ install_element(CONFIG_NODE, &cfg_msc_cmd); install_node(&msc_node, config_write_msc); + install_element(MSC_NODE, &cfg_sms_database_cmd); install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd); install_element(MSC_NODE, &cfg_msc_mncc_internal_cmd); install_element(MSC_NODE, &cfg_msc_mncc_external_cmd); diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 4cda395..4f614db 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -105,7 +105,7 @@ int daemonize; const char *mncc_sock_path; } msc_cmdline_config = { - .database_name = "sms.db", + .database_name = NULL, .config_file = "osmo-msc.cfg", }; @@ -647,9 +647,11 @@ /* TODO: is this used for crypto?? Improve randomness, at least we * should try to use the nanoseconds part of the current time. */ - if (db_init(msc_cmdline_config.database_name)) { + if (msc_cmdline_config.database_name) + osmo_talloc_replace_string(msc_network, &msc_network->sms_db_file_path, msc_cmdline_config.database_name); + if (db_init(msc_network->sms_db_file_path)) { fprintf(stderr, "DB: Failed to init database: %s\n", - msc_cmdline_config.database_name); + osmo_quote_str((char*)msc_network->sms_db_file_path, -1)); return 4; } diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index f00470a..7e6f261 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_auth_use_twice_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -510,7 +510,7 @@ ===== test_auth_use_twice_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_auth_use_twice_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1042,7 +1042,7 @@ ===== test_auth_use_twice_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_auth_use_infinitely_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1658,7 +1658,7 @@ ===== test_auth_use_infinitely_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_auth_use_infinitely_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2302,7 +2302,7 @@ ===== test_auth_use_infinitely_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_auth_reuse_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2694,7 +2694,7 @@ ===== test_no_auth_reuse_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_auth_reuse_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3102,8 +3102,8 @@ ===== test_no_auth_reuse_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 337483c..21ccd2c 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_call_mo - Total time passed: 0.000000 s @@ -474,7 +474,7 @@ ===== test_call_mo: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_call_mt - Total time passed: 0.000000 s @@ -945,7 +945,7 @@ ===== test_call_mt: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_call_mt2 - Total time passed: 0.000000 s @@ -1370,7 +1370,7 @@ ===== test_call_mt2: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_call_mo_to_unknown - Total time passed: 0.000000 s @@ -1798,7 +1798,7 @@ ===== test_call_mo_to_unknown: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_call_mo_to_unknown_timeout - Total time passed: 0.000000 s @@ -2222,8 +2222,8 @@ ===== test_call_mo_to_unknown_timeout: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index 94a257d..3677a36 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen - Location Update request causes a GSUP Send Auth Info request to HLR @@ -590,7 +590,7 @@ ===== test_gsm_authen: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen_tmsi - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1421,7 +1421,7 @@ ===== test_gsm_authen_tmsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen_imei - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1735,7 +1735,7 @@ ===== test_gsm_authen_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen_imei_nack - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2002,7 +2002,7 @@ ===== test_gsm_authen_imei_nack: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen_imei_err - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2270,7 +2270,7 @@ ===== test_gsm_authen_imei_err: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_authen_tmsi_imei - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2625,7 +2625,7 @@ ===== test_gsm_authen_tmsi_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_milenage_authen - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3189,7 +3189,7 @@ ===== test_gsm_milenage_authen: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_wrong_sres_length - Total time passed: 0.000000 s @@ -3334,8 +3334,8 @@ ===== test_wrong_sres_length: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 53e8ee6..2410ff6 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ciph - Location Update request causes a GSUP Send Auth Info request to HLR @@ -658,7 +658,7 @@ ===== test_ciph: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ciph_tmsi - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1364,7 +1364,7 @@ ===== test_ciph_tmsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ciph_imei - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1685,7 +1685,7 @@ ===== test_ciph_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ciph_imeisv - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1971,7 +1971,7 @@ ===== test_ciph_imeisv: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ciph_tmsi_imei - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2333,7 +2333,7 @@ ===== test_ciph_tmsi_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_gsm_ciph_in_umts_env - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2936,7 +2936,7 @@ ===== test_gsm_ciph_in_umts_env: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_a5_3_supported - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3586,7 +3586,7 @@ ===== test_a5_3_supported: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_cm_service_needs_classmark_update - Location Update request causes a GSUP Send Auth Info request to HLR @@ -4214,8 +4214,8 @@ ===== test_cm_service_needs_classmark_update: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index d115d48..d4ed53a 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_auth_info_unknown_imsi - Location Update request causes a GSUP Send Auth Info request to HLR @@ -101,7 +101,7 @@ ===== test_hlr_rej_auth_info_unknown_imsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_auth_info_net_fail - Location Update request causes a GSUP Send Auth Info request to HLR @@ -202,7 +202,7 @@ ===== test_hlr_rej_auth_info_net_fail: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_auth_info_net_fail_reuse_tuples @@ -532,7 +532,7 @@ ===== test_hlr_rej_auth_info_net_fail_reuse_tuples: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_auth_info_net_fail_no_reuse_tuples @@ -800,7 +800,7 @@ ===== test_hlr_rej_auth_info_net_fail_no_reuse_tuples: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples @@ -1069,7 +1069,7 @@ ===== test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_acc_but_no_auth_tuples - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1169,7 +1169,7 @@ ===== test_hlr_acc_but_no_auth_tuples: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_rej_lu - Location Update request causes a GSUP LU request to HLR @@ -1274,7 +1274,7 @@ ===== test_hlr_rej_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_no_insert_data - Location Update request causes a GSUP LU request to HLR @@ -1392,8 +1392,8 @@ ===== test_hlr_no_insert_data: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 07fb621..51aa913 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_timeout_lu_auth_info - Total time passed: 0.000000 s @@ -110,7 +110,7 @@ ===== test_hlr_timeout_lu_auth_info: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_hlr_timeout_lu_upd_loc_result - Total time passed: 0.000000 s @@ -239,8 +239,8 @@ ===== test_hlr_timeout_lu_upd_loc_result: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 2405b65..a64672a 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ms_timeout_lu_auth_resp - Total time passed: 0.000000 s @@ -129,7 +129,7 @@ ===== test_ms_timeout_lu_auth_resp: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ms_timeout_cm_auth_resp - Total time passed: 0.000000 s @@ -404,7 +404,7 @@ ===== test_ms_timeout_cm_auth_resp: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ms_timeout_paging - Total time passed: 0.000000 s @@ -714,7 +714,7 @@ ===== test_ms_timeout_paging: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_classmark_update_timeout - Total time passed: 0.000000 s @@ -867,8 +867,8 @@ ===== test_classmark_update_timeout: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index 236aacd..a353949 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen - Location Update request causes a GSUP LU request to HLR @@ -457,7 +457,7 @@ ===== test_no_authen: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_tmsi - Location Update request causes a GSUP LU request to HLR @@ -1148,7 +1148,7 @@ ===== test_no_authen_tmsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_imei - Location Update request causes a GSUP LU request to HLR @@ -1401,7 +1401,7 @@ ===== test_no_authen_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_tmsi_imei - Location Update request causes a GSUP LU request to HLR @@ -1689,7 +1689,7 @@ ===== test_no_authen_tmsi_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_imeisv - Location Update request causes an IMEISV ID request back to the MS @@ -1912,7 +1912,7 @@ ===== test_no_authen_imeisv: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_imeisv_imei - Location Update request causes an IMEISV ID request back to the MS @@ -2146,7 +2146,7 @@ ===== test_no_authen_imeisv_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_imeisv_tmsi - Location Update request causes an IMEISV ID request back to the MS @@ -2616,7 +2616,7 @@ ===== test_no_authen_imeisv_tmsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_imeisv_tmsi_imei - Location Update request causes an IMEISV ID request back to the MS @@ -2887,7 +2887,7 @@ ===== test_no_authen_imeisv_tmsi_imei: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_no_authen_subscr_expire - Total time passed: 0.000000 s @@ -3024,8 +3024,8 @@ ===== test_no_authen_subscr_expire: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 9b780c5..9faec63 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_2nd_conn - Location Update Request on one connection @@ -192,7 +192,7 @@ ===== test_reject_2nd_conn: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_lu_during_lu - Location Update Request @@ -335,7 +335,7 @@ ===== test_reject_lu_during_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_cm_during_lu - Location Update Request @@ -483,7 +483,7 @@ ===== test_reject_cm_during_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_paging_resp_during_lu - Location Update Request @@ -625,7 +625,7 @@ ===== test_reject_paging_resp_during_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_lu_during_cm @@ -865,7 +865,7 @@ ===== test_reject_lu_during_cm: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_cm_during_cm @@ -1110,7 +1110,7 @@ ===== test_reject_cm_during_cm: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_paging_resp_during_cm @@ -1339,7 +1339,7 @@ ===== test_reject_paging_resp_during_cm: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_lu_during_paging_resp @@ -1643,7 +1643,7 @@ ===== test_reject_lu_during_paging_resp: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_accept_cm_during_paging_resp @@ -1971,7 +1971,7 @@ ===== test_accept_cm_during_paging_resp: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_reject_paging_resp_during_paging_resp @@ -2272,8 +2272,8 @@ ===== test_reject_paging_resp_during_paging_resp: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index 51b27db..5e44f31 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_cm_service_without_lu - CM Service Request without a prior Location Updating @@ -65,7 +65,7 @@ ===== test_cm_service_without_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_two_lu - Location Update request causes a GSUP LU request to HLR @@ -408,7 +408,7 @@ ===== test_two_lu: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_lu_unknown_tmsi - Location Update request with unknown TMSI sends ID Request for IMSI @@ -590,8 +590,8 @@ ===== test_lu_unknown_tmsi: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index ca18094..3b324d3 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ss_ussd_mo_geran - Location Update request causes a GSUP LU request to HLR @@ -241,7 +241,7 @@ ===== test_ss_ussd_mo_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_ss_ussd_no_geran - Location Update request causes a GSUP LU request to HLR @@ -507,8 +507,8 @@ ===== test_ss_ussd_no_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index 7f345a1..42ed422 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -1,6 +1,6 @@ DLMGCP MGCP client: using endpoint domain '@mgw' full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -608,7 +608,7 @@ ===== test_umts_authen_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1216,7 +1216,7 @@ ===== test_umts_authen_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_auth_ciph_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -1848,7 +1848,7 @@ ===== test_umts_auth_ciph_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_resync_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2082,7 +2082,7 @@ ===== test_umts_authen_resync_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_resync_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2316,7 +2316,7 @@ ===== test_umts_authen_resync_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_auth_ciph_resync_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2560,7 +2560,7 @@ ===== test_umts_auth_ciph_resync_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_too_short_res_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2678,7 +2678,7 @@ ===== test_umts_authen_too_short_res_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_too_short_res_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2796,7 +2796,7 @@ ===== test_umts_authen_too_short_res_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_too_long_res_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -2914,7 +2914,7 @@ ===== test_umts_authen_too_long_res_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_too_long_res_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3032,7 +3032,7 @@ ===== test_umts_authen_too_long_res_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_only_sres_geran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3150,7 +3150,7 @@ ===== test_umts_authen_only_sres_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 ===== test_umts_authen_only_sres_utran - Location Update request causes a GSUP Send Auth Info request to HLR @@ -3268,8 +3268,8 @@ ===== test_umts_authen_only_sres_utran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 full talloc report on 'msgb' (total 0 bytes in 1 blocks) -talloc_total_blocks(tall_bsc_ctx) == 20 +talloc_total_blocks(tall_bsc_ctx) == 21 diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c index 21af3ca..07a3927 100644 --- a/tests/msc_vlr/msc_vlr_tests.c +++ b/tests/msc_vlr/msc_vlr_tests.c @@ -1049,31 +1049,32 @@ talloc_report_full(msgb_ctx, stderr); /* Expecting these to stick around in msc_vlr_tests_ctx: * full talloc report on 'msgb' (total 0 bytes in 1 blocks) - * talloc_total_blocks(tall_bsc_ctx) == 20 - * full talloc report on 'msc_vlr_tests_ctx' (total 6556 bytes in 20 blocks) - * struct osmo_gsup_client contains 264 bytes in 1 blocks (ref 0) 0x613000000260 - * struct gsm_network contains 4791 bytes in 12 blocks (ref 0) 0x6190000000e0 - * struct mgcp_client contains 688 bytes in 1 blocks (ref 0) 0x6180000000e0 - * struct sccp_ran_inst contains 152 bytes in 1 blocks (ref 0) 0x611000000320 - * struct sccp_ran_inst contains 152 bytes in 1 blocks (ref 0) 0x6110000001e0 - * struct gsup_client_mux contains 152 bytes in 2 blocks (ref 0) 0x6100000001a0 - * struct ipaccess_unit contains 64 bytes in 1 blocks (ref 0) 0x60e000023180 - * struct vlr_instance contains 264 bytes in 2 blocks (ref 0) 0x6130000000a0 - * struct osmo_nri_ranges contains 16 bytes in 1 blocks (ref 0) 0x60b000000360 - * no_gsup_server contains 15 bytes in 1 blocks (ref 0) 0x60b0000002b0 - * ../../../src/libosmocore/src/stat_item.c:96 contains 144 bytes in 2 blocks (ref 0) 0x60d000000170 - * ../../../src/libosmocore/src/stat_item.c:118 contains 96 bytes in 1 blocks (ref 0) 0x6100000000a0 - * ../../../src/libosmocore/src/rate_ctr.c:234 contains 2352 bytes in 1 blocks (ref 0) 0x61e0000000e0 - * logging contains 1501 bytes in 5 blocks (ref 0) 0x60b000000200 - * struct log_target contains 244 bytes in 2 blocks (ref 0) 0x6120000000a0 - * struct log_category contains 76 bytes in 1 blocks (ref 0) 0x60f0000000a0 - * struct log_info contains 1256 bytes in 2 blocks (ref 0) 0x60d0000000a0 - * struct log_info_cat contains 1216 bytes in 1 blocks (ref 0) 0x61a0000000e0 - * msgb contains 0 bytes in 1 blocks (ref 0) 0x608000000180 + * talloc_total_blocks(tall_bsc_ctx) == 21 + * full talloc report on 'msc_vlr_tests_ctx' (total 6571 bytes in 21 blocks) + * struct osmo_gsup_client contains 264 bytes in 1 blocks (ref 0) 0x5605f2ea2e90 + * struct gsm_network contains 4806 bytes in 13 blocks (ref 0) 0x5605f2ea1b60 + * struct mgcp_client contains 688 bytes in 1 blocks (ref 0) 0x5605f2ea3200 + * struct sccp_ran_inst contains 152 bytes in 1 blocks (ref 0) 0x5605f2ea3100 + * struct sccp_ran_inst contains 152 bytes in 1 blocks (ref 0) 0x5605f2ea3000 + * struct gsup_client_mux contains 152 bytes in 2 blocks (ref 0) 0x5605f2ea2d20 + * struct ipaccess_unit contains 64 bytes in 1 blocks (ref 0) 0x5605f2ea2de0 + * struct vlr_instance contains 264 bytes in 2 blocks (ref 0) 0x5605f2ea2b40 + * struct osmo_nri_ranges contains 16 bytes in 1 blocks (ref 0) 0x5605f2ea2ca0 + * no_gsup_server contains 15 bytes in 1 blocks (ref 0) 0x5605f2ea2ac0 + * stat_item.c:96 contains 144 bytes in 2 blocks (ref 0) 0x5605f2ea2950 + * stat_item.c:118 contains 96 bytes in 1 blocks (ref 0) 0x5605f2ea29f0 + * rate_ctr.c:234 contains 2352 bytes in 1 blocks (ref 0) 0x5605f2ea1fb0 + * sms.db contains 7 bytes in 1 blocks (ref 0) 0x5605f2ea1f40 + * logging contains 1501 bytes in 5 blocks (ref 0) 0x5605f2ea1360 + * struct log_target contains 244 bytes in 2 blocks (ref 0) 0x5605f2ea1990 + * struct log_category contains 76 bytes in 1 blocks (ref 0) 0x5605f2ea1aa0 + * struct log_info contains 1256 bytes in 2 blocks (ref 0) 0x5605f2ea13d0 + * struct log_info_cat contains 1216 bytes in 1 blocks (ref 0) 0x5605f2ea1460 + * msgb contains 0 bytes in 1 blocks (ref 0) 0x5605f2ea12f0 */ fprintf(stderr, "talloc_total_blocks(tall_bsc_ctx) == %zu\n", talloc_total_blocks(msc_vlr_tests_ctx)); - if (talloc_total_blocks(msc_vlr_tests_ctx) != 20) + if (talloc_total_blocks(msc_vlr_tests_ctx) != 21) talloc_report_full(msc_vlr_tests_ctx, stderr); fprintf(stderr, "\n"); } diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 520f07c..d389675 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -46,6 +46,7 @@ OsmoMSC(config)# msc OsmoMSC(config-msc)# list ... + sms-database PATH assign-tmsi mncc internal mncc external MNCC_SOCKET_PATH -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Fri Aug 28 14:46:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:46:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2//COMMIT_MSG at 18 PS2, Line 18: - due to SAPI=3 link establishment timeout. seems to me these explanations should (instead/also) go in a comment in the ttcn3 code; I see there are some but they are less verbose apparently -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 14:46: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 Fri Aug 28 14:55:04 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:55:04 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 to look at the new patch set (#2). Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... CBSP: rewrite the CBSP link setup and 'cbc' VTY section Firstly, make CBSP server and client mutually exclusive: Do not allow osmo-bsc to be configured as CBC client *and* CBC server at the same time. cbsp_link.c expects at most one CBSP link to be established, and, upon sending CBSP messages, probes whether to send the message to a CBSP server or client link. When both listen-port and remote-ip are configured (regardless of an actual CBSP connection), osmo-bsc gets confused about where to send CBSP messages. One solution would be more accurate probing for an actual established TCP connection. But the simpler and less confusing solution is to force the user to configure only server or only client mode, never both. Introduce 'cbc' / 'mode (server|client|disabled)'. Secondly, clarify the 'cbc' config structure into distinct 'server' and 'client' subnodes. Refactor the 'cbc' VTY node in such a way that the IP addresses for server and client mode can remain configured when the CBSP link is switched between server/client/disabled modes. To implement the above, switch the struct bsc_cbc_link to use osmo_sockaddr_str for address configuration. Related: OS#4702 Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: I9e9760121265b3661f1c179610e975cf7a0873f1 (docker-playground) Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 --- M include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c A tests/cbc.vty 5 files changed, 358 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/19864/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:55:04 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:55:04 +0000 Subject: Change in osmo-bsc[master]: CBSP: add local bind to client mode In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 to look at the new patch set (#2). Change subject: CBSP: add local bind to client mode ...................................................................... CBSP: add local bind to client mode Add the ability to set a local bind address for the CBSP client mode. Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 --- M include/osmocom/bsc/smscb.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c M tests/cbc.vty 4 files changed, 113 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/19865/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 Gerrit-Change-Number: 19865 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 14:55:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 28 Aug 2020 14:55:17 +0000 Subject: Change in osmo-bsc[master]: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19835 ) Change subject: CBSP VTY: fix doc: CBC listen IP defaults to 127.0.0.1 not 0.0.0.0 ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If439729a97104019d7088f26cf741e156b14cba7 Gerrit-Change-Number: 19835 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 15:14:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 15:14:35 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 to look at the new patch set (#3). Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 --- M src/osmo_ss7.c 1 file changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/52/19852/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Fri Aug 28 15:14:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 15:14:36 +0000 Subject: Change in libosmo-sccp[master]: vty: log and return warning if adding ss7 host to set fails References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 ) Change subject: vty: log and return warning if adding ss7 host to set fails ...................................................................... vty: log and return warning if adding ss7 host to set fails Change-Id: Ib86ef3c3db6096a1e38690b9e598a58387e6b38e --- M src/osmo_ss7_vty.c 1 file changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/78/19878/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 9c31c00..686105e 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -628,7 +628,10 @@ "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); + if (osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]) != 0) { + vty_out(vty, "%% Failed adding host '%s' to set%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } @@ -638,7 +641,10 @@ "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); + if (osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]) != 0) { + vty_out(vty, "%% Failed adding host '%s' to set%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib86ef3c3db6096a1e38690b9e598a58387e6b38e Gerrit-Change-Number: 19878 Gerrit-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 Aug 28 15:14:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 15:14:37 +0000 Subject: Change in libosmo-sccp[master]: Revert "Revert "Introduce SS7 IPv6 support"" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 ) Change subject: Revert "Revert "Introduce SS7 IPv6 support"" ...................................................................... Revert "Revert "Introduce SS7 IPv6 support"" Actual fix for the issue is applied in next commit. This reverts commit ee8128929755d88ace4e1e566448a14a970b1b40. Change-Id: I8b66dd97f47f1b2b72c101b9ce4444e75eb744c0 --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 38 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/79/19879/1 diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 5b0c84f..64874da 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,3 +20,4 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 + local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index e904469..ff8103a 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,16 +1741,18 @@ - + - + + - + - + + @@ -1787,10 +1789,11 @@ config-cs7-listen - + - + + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 686105e..4591156 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,9 +470,10 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Configure the Local IP Address for xUA\n" - "IP Address to use for XUA\n") + "IPv4 Address to use for XUA\n" + "IPv6 Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -623,9 +624,10 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Specify Local IP Address from which to contact ASP\n" - "Local IP Address from which to contact of ASP\n") + "Local IPv4 Address from which to contact of ASP\n" + "Local IPv6 Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; if (osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]) != 0) { @@ -636,9 +638,10 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip A.B.C.D", + "remote-ip " VTY_IPV46_CMD, "Specify Remote IP Address of ASP\n" - "Remote IP Address of ASP\n") + "Remote IPv4 Address of ASP\n" + "Remote IPv6 Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; if (osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]) != 0) { @@ -1812,10 +1815,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 7411b1f..ee1b3e5 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip A.B.C.D - local-ip A.B.C.D + remote-ip (A.B.C.D|X:X::X:X) + local-ip (A.B.C.D|X:X::X:X) qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index 605bc93..dff26c3 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,7 +111,9 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', + '0000:0000:0000:0000:0000:0000:0000:0001'], + 2905): found = True break else: @@ -122,6 +124,7 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 + # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -129,7 +132,17 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP") + print("Connected to STP through SCTP (IPv4)") + s.close() + # IPv6: + s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) + s.bind(('::1', 0)) + try: + s.connect(('::1',2905)) + except socket.error as msg: + s.close() + self.assertTrue(False) + print("Connected to STP through SCTP (IPv6)") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8b66dd97f47f1b2b72c101b9ce4444e75eb744c0 Gerrit-Change-Number: 19879 Gerrit-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 Aug 28 15:14:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 15:14:37 +0000 Subject: Change in libosmo-sccp[master]: Fix change in ss7 server default listen addr, keeps backward-compatib... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 ) Change subject: Fix change in ss7 server default listen addr, keeps backward-compatibility behavior ...................................................................... Fix change in ss7 server default listen addr, keeps backward-compatibility behavior Previous commit changed the default bind/listen address of the server from NULL (0.0.0.0) to 127.0.0.1, hence breaking some setups where no "local-ip" was defined and hence from then on were only listening on localhost by default. Let's instead bind to "::" if IPv6 is available, which covers any IPv6 and/or IPv4 address. If not available, keep binding to 0.0.0.0. Similarly, if IPv6 is available set default remote to both ::1 and 127.0.0.1 to allow it working against processes listening on IPv4 or IPv6 addresses. Change-Id: Id4718267df2390f70cec519042dc12bac0cd2876 --- M src/osmo_ss7_vty.c 1 file changed, 39 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/80/19880/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 4591156..3035844 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -1801,6 +1802,32 @@ osmo_sccp_vty_write_cs7_node(vty, " ", inst->sccp); } +static bool ipv6_sctp_supported(const char *host, bool bind) +{ + int rc; + struct addrinfo hints; + struct addrinfo *result; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET6; + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_NUMERICHOST; + hints.ai_protocol = 0; /* Any protocol */ + + if (bind) /* For wildcard IP address */ + hints.ai_flags |= AI_PASSIVE; + + /* man getaddrinfo: Either node or service, but not both, may be NULL. */ + OSMO_ASSERT(host); + rc = getaddrinfo(host, NULL, &hints, &result); + if (rc != 0) { + LOGP(DLSS7, LOGL_NOTICE, "Default IPv6 address %s not supported: %s\n", + host, gai_strerror(rc)); + return false; + } else { + freeaddrinfo(result); + return true; + } +} int osmo_ss7_vty_go_parent(struct vty *vty) { @@ -1814,11 +1841,19 @@ case L_CS7_ASP_NODE: asp = vty->index; /* If no local addr was set */ - if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); + if (!asp->cfg.local.host_cnt) { + /* "::" Covers both IPv4 and IPv6 */ + if (ipv6_sctp_supported("::", true)) + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "::"); + else + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "0.0.0.0"); + } /* If no remote addr was set */ - if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); + if (!asp->cfg.remote.host_cnt) { + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + if (ipv6_sctp_supported("::1", false)) + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "::1"); + } osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4718267df2390f70cec519042dc12bac0cd2876 Gerrit-Change-Number: 19880 Gerrit-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 Aug 28 15:14:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 15:14:43 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 15:14:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 16:32:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 16:32:04 +0000 Subject: Change in libosmocore[master]: socker: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19881 ) Change subject: socker: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() ...................................................................... socker: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 --- M src/socket.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 3 files changed, 125 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/19881/1 diff --git a/src/socket.c b/src/socket.c index a5bbddf..e88af16 100644 --- a/src/socket.c +++ b/src/socket.c @@ -983,9 +983,22 @@ unsigned int osmo_sockaddr_to_str_and_uint(char *addr, unsigned int addr_len, uint16_t *port, const struct sockaddr *sa) { - const struct sockaddr_in *sin = (const struct sockaddr_in *)sa; - return osmo_sockaddr_in_to_str_and_uint(addr, addr_len, port, sin); + const struct sockaddr_in6 *sin6; + + switch (sa->sa_family) { + case AF_INET: + return osmo_sockaddr_in_to_str_and_uint(addr, addr_len, port, + (const struct sockaddr_in *)sa); + case AF_INET6: + sin6 = (const struct sockaddr_in6 *)sa; + if (port) + *port = ntohs(sin6->sin6_port); + if (addr && inet_ntop(sa->sa_family, &sin6->sin6_addr, addr, addr_len)) + return strlen(addr); + break; + } + return 0; } /*! Initialize a unix domain socket (including bind/connect) diff --git a/tests/utils/utils_test.c b/tests/utils/utils_test.c index e15cf5f..9ff023b 100644 --- a/tests/utils/utils_test.c +++ b/tests/utils/utils_test.c @@ -775,6 +775,7 @@ bool omit_port; const char *addr; unsigned int addr_len; + int address_family; /* AF_INET / AF_INET6 */ bool omit_addr; unsigned int expect_rc; const char *expect_returned_addr; @@ -785,24 +786,28 @@ .port = 0, .addr = "0.0.0.0", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 7, }, { .port = 65535, .addr = "255.255.255.255", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 15, }, { .port = 1234, .addr = "234.23.42.123", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 13, }, { .port = 1234, .addr = "234.23.42.123", .addr_len = 10, + .address_family = AF_INET, .expect_rc = 13, .expect_returned_addr = "234.23.42", }, @@ -811,11 +816,13 @@ .omit_port = true, .addr = "234.23.42.123", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 13, }, { .port = 1234, .addr = "234.23.42.123", + .address_family = AF_INET, .omit_addr = true, .expect_rc = 0, .expect_returned_addr = "", @@ -824,17 +831,83 @@ .port = 1234, .addr = "234.23.42.123", .addr_len = 0, + .address_family = AF_INET, .expect_rc = 13, .expect_returned_addr = "", }, { .port = 1234, .addr = "234.23.42.123", + .address_family = AF_INET, .omit_port = true, .omit_addr = true, .expect_rc = 0, .expect_returned_addr = "", }, + { + .port = 1234, + .addr = "::", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 2, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 3, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .omit_port = true, + .omit_addr = false, + .expect_rc = 3, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .omit_port = false, + .omit_addr = true, + .expect_rc = 0, + .expect_returned_addr = "", + }, + { + .port = 1234, + .addr = "fd02:db8:1::1", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 13, + }, + { + .port = 1234, + .addr = "2001:db8:1::ab9:C0A8:102", + .addr_len = 40, + .address_family = AF_INET6, + .expect_rc = 24, + .expect_returned_addr = "2001:db8:1::ab9:c0a8:102", + }, + { + .port = 1234, + .addr = "2001:0db8:0001:0000:0000:0ab9:C0A8:0102", + .addr_len = 32, + .address_family = AF_INET6, + .expect_rc = 24, + .expect_returned_addr = "2001:db8:1::ab9:c0a8:102", + }, + { + .port = 1234, + .addr = "::ffff:192.168.20.34", + .addr_len = 32, + .address_family = AF_INET6, + .expect_rc = 20, + .expect_returned_addr = "::ffff:192.168.20.34", + } }; static void osmo_sockaddr_to_str_and_uint_test(void) @@ -846,22 +919,35 @@ struct osmo_sockaddr_to_str_and_uint_test_case *t = &osmo_sockaddr_to_str_and_uint_test_data[i]; - struct sockaddr_in sin = { - .sin_family = AF_INET, - .sin_port = htons(t->port), - }; - inet_aton(t->addr, &sin.sin_addr); + struct sockaddr_storage sa; + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; + sa.ss_family = t->address_family; + switch (t->address_family) { + case AF_INET: + sin = (struct sockaddr_in *)&sa; + OSMO_ASSERT(inet_pton(t->address_family, t->addr, &sin->sin_addr) == 1); + sin->sin_port = htons(t->port); + break; + case AF_INET6: + sin6 = (struct sockaddr_in6 *)&sa; + OSMO_ASSERT(inet_pton(t->address_family, t->addr, &sin6->sin6_addr) == 1); + sin6->sin6_port = htons(t->port); + break; + default: + OSMO_ASSERT(0); + } - char addr[20] = {}; + char addr[INET6_ADDRSTRLEN] = {}; uint16_t port = 0; unsigned int rc; rc = osmo_sockaddr_to_str_and_uint( t->omit_addr? NULL : addr, t->addr_len, t->omit_port? NULL : &port, - (const struct sockaddr*)&sin); + (const struct sockaddr *)&sa); - printf("[%d] %s:%u%s%s addr_len=%u --> %s:%u rc=%u\n", + printf("[%d] [%s]:%u%s%s addr_len=%u --> [%s]:%u rc=%u\n", i, t->addr ? : "-", t->port, diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok index cbab72a..f1b07fa 100644 --- a/tests/utils/utils_test.ok +++ b/tests/utils/utils_test.ok @@ -355,14 +355,22 @@ Testing integer square-root osmo_sockaddr_to_str_and_uint_test -[0] 0.0.0.0:0 addr_len=20 --> 0.0.0.0:0 rc=7 -[1] 255.255.255.255:65535 addr_len=20 --> 255.255.255.255:65535 rc=15 -[2] 234.23.42.123:1234 addr_len=20 --> 234.23.42.123:1234 rc=13 -[3] 234.23.42.123:1234 addr_len=10 --> 234.23.42:1234 rc=13 -[4] 234.23.42.123:1234 (omit port) addr_len=20 --> 234.23.42.123:0 rc=13 -[5] 234.23.42.123:1234 (omit addr) addr_len=0 --> :1234 rc=0 -[6] 234.23.42.123:1234 addr_len=0 --> :1234 rc=13 -[7] 234.23.42.123:1234 (omit addr) (omit port) addr_len=0 --> :0 rc=0 +[0] [0.0.0.0]:0 addr_len=20 --> [0.0.0.0]:0 rc=7 +[1] [255.255.255.255]:65535 addr_len=20 --> [255.255.255.255]:65535 rc=15 +[2] [234.23.42.123]:1234 addr_len=20 --> [234.23.42.123]:1234 rc=13 +[3] [234.23.42.123]:1234 addr_len=10 --> [234.23.42]:1234 rc=13 +[4] [234.23.42.123]:1234 (omit port) addr_len=20 --> [234.23.42.123]:0 rc=13 +[5] [234.23.42.123]:1234 (omit addr) addr_len=0 --> []:1234 rc=0 +[6] [234.23.42.123]:1234 addr_len=0 --> []:1234 rc=13 +[7] [234.23.42.123]:1234 (omit addr) (omit port) addr_len=0 --> []:0 rc=0 +[8] [::]:1234 addr_len=20 --> [::]:1234 rc=2 +[9] [::1]:1234 addr_len=20 --> [::1]:1234 rc=3 +[10] [::1]:1234 (omit port) addr_len=20 --> [::1]:0 rc=3 +[11] [::1]:1234 (omit addr) addr_len=20 --> []:1234 rc=0 +[12] [fd02:db8:1::1]:1234 addr_len=20 --> [fd02:db8:1::1]:1234 rc=13 +[13] [2001:db8:1::ab9:C0A8:102]:1234 addr_len=40 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 +[14] [2001:0db8:0001:0000:0000:0ab9:C0A8:0102]:1234 addr_len=32 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 +[15] [::ffff:192.168.20.34]:1234 addr_len=32 --> [::ffff:192.168.20.34]:1234 rc=20 osmo_str_tolowupper_test osmo_str_tolower("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 Gerrit-Change-Number: 19881 Gerrit-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 Aug 28 16:32:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 16:32:21 +0000 Subject: Change in libosmocore[master]: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/19881 ) Change subject: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() ...................................................................... socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() Related: SYS#4915 Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 --- M src/socket.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 3 files changed, 125 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/19881/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 Gerrit-Change-Number: 19881 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 Fri Aug 28 17:11:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 17:11:34 +0000 Subject: Change in osmo-bsc[master]: Allow storing IPv6 address strings in BSSAP structs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19882 ) Change subject: Allow storing IPv6 address strings in BSSAP structs ...................................................................... Allow storing IPv6 address strings in BSSAP structs Related: SYS#4915 Change-Id: I95601f24e3c658aab328e1c55dc514f553c297b8 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/19882/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1a4a1c4..120c4a4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -117,7 +117,7 @@ uint16_t msc_assigned_cic; - char msc_rtp_addr[INET_ADDRSTRLEN]; + char msc_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_rtp_port; bool use_osmux; uint8_t osmux_cid; @@ -192,7 +192,7 @@ struct gsm0808_cell_id cell_id_target; char cell_id_target_name[64]; uint16_t msc_assigned_cic; - char msc_assigned_rtp_addr[INET_ADDRSTRLEN]; + char msc_assigned_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_assigned_rtp_port; }; @@ -277,7 +277,7 @@ uint16_t msc_assigned_cic; /* RTP address where the MSC expects us to send the RTP stream coming from the BTS. */ - char msc_assigned_rtp_addr[INET_ADDRSTRLEN]; + char msc_assigned_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_assigned_rtp_port; /* The endpoint at the MGW used to join both BTS and MSC side connections, e.g. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I95601f24e3c658aab328e1c55dc514f553c297b8 Gerrit-Change-Number: 19882 Gerrit-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 Aug 28 17:28:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 17:28:49 +0000 Subject: Change in osmo-mgw[master]: mgcp-client: Support IPv6 in osmo_mgcpc_ep_ci_get_crcx_info_to_sockad... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19883 ) Change subject: mgcp-client: Support IPv6 in osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr() implementation ...................................................................... mgcp-client: Support IPv6 in osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr() implementation Change-Id: Ibbfc1c2485636502dc0f3aef3922432cc7fd6170 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 22 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/83/19883/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index ef4da17..c68d8b3 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -27,6 +27,7 @@ #include #include #include +#include #include @@ -517,17 +518,33 @@ bool osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr(const struct osmo_mgcpc_ep_ci *ci, struct sockaddr_storage *dest) { const struct mgcp_conn_peer *rtp_info; + int family; struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; rtp_info = osmo_mgcpc_ep_ci_get_rtp_info(ci); if (!rtp_info) return false; - sin = (struct sockaddr_in *)dest; - - sin->sin_family = AF_INET; - sin->sin_addr.s_addr = inet_addr(rtp_info->addr); - sin->sin_port = osmo_ntohs(rtp_info->port); + family = osmo_ip_str_type(rtp_info->addr); + switch (family) { + case AF_INET: + sin = (struct sockaddr_in *)dest; + sin->sin_family = AF_INET; + sin->sin_port = osmo_ntohs(rtp_info->port); + if (inet_pton(AF_INET, rtp_info->addr, &sin->sin_addr) != 1) + return false; + break; + case AF_INET6: + sin6 = (struct sockaddr_in6 *)dest; + sin6->sin6_family = AF_INET6; + sin6->sin6_port = osmo_ntohs(rtp_info->port); + if (inet_pton(AF_INET6, rtp_info->addr, &sin6->sin6_addr) != 1) + return false; + break; + default: + return false; + } return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibbfc1c2485636502dc0f3aef3922432cc7fd6170 Gerrit-Change-Number: 19883 Gerrit-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 Aug 28 17:47:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 17:47:55 +0000 Subject: Change in libosmocore[master]: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19884 ) Change subject: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo ...................................................................... socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo man getaddrinfo entry doesn't mention PF_UNSPEC, but AF_UNSPEC. Change-Id: Icab676ff7ee9d813d7b7fe807fbe172512f5e397 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/19884/1 diff --git a/src/socket.c b/src/socket.c index e88af16..62a5846 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1419,7 +1419,7 @@ /* Find out the address family (AF_INET or AF_INET6?) */ memset(&addrinfo_hint, '\0', sizeof(addrinfo_hint)); - addrinfo_hint.ai_family = PF_UNSPEC; + addrinfo_hint.ai_family = AF_UNSPEC; addrinfo_hint.ai_flags = AI_NUMERICHOST; rc = getaddrinfo(remote_ip, NULL, &addrinfo_hint, &addrinfo); if (rc) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icab676ff7ee9d813d7b7fe807fbe172512f5e397 Gerrit-Change-Number: 19884 Gerrit-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 Aug 28 18:01:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:01:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874/2/bsc/BSC_Tests.ttcn at 1985 PS2, Line 1985: f_sleep(8.0); /* TODO: reduce this timeout somehow? */ > you can probably start a timer for 8s, and then go into an alt statement. [?] ACK! We can even pass timeout value as a parameter to f_exp_sapi_n_reject(). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 18:01:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 18:03:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:03:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 ) Change subject: library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g ...................................................................... library/GSM_RR_Types: s/MobileAllocation/MobileAllocationLV/g Change-Id: Ica803221e885b4746fd42c17cd2828c0ef35a6aa --- M bts/BTS_Tests.ttcn M library/GSM_RR_Types.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 8 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8a478ba..34fd702 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -248,7 +248,7 @@ /* Frequency hopping parameters (disabled if absent) */ MaioHsn maio_hsn optional, /* MA bitmap to be indicated in RR Immediate Assignment */ - MobileAllocation ma_map, + MobileAllocationLV ma_map, /* The actual Mobile Allocation (ARFCN list) to be used */ L1ctlMA ma } @@ -3546,7 +3546,7 @@ /*********************************************************************** * Immediate Assignment / AGCH ***********************************************************************/ -private const MobileAllocation c_MA_null := { +private const MobileAllocationLV c_MA_null := { len := 0, ma := ''B } diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index cd599f3..470d68c 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -294,7 +294,7 @@ } with { variant "" }; /* 10.5.2.21 */ - type record MobileAllocation { + type record MobileAllocationLV { uint8_t len, bitstring ma } with { @@ -674,7 +674,7 @@ PacketChannelDescription pkt_chan_desc optional, RequestReference req_ref, TimingAdvance timing_advance, - MobileAllocation mobile_allocation, + MobileAllocationLV mobile_allocation, /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" @@ -955,7 +955,7 @@ }; template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, - ChannelDescription ch_desc, MobileAllocation ma) := { + ChannelDescription ch_desc, MobileAllocationLV ma) := { header := ts_RrHeader(IMMEDIATE_ASSIGNMENT, 0), payload := { imm_ass := { @@ -985,7 +985,7 @@ template GsmRrMessage tr_IMM_ASS(template uint8_t ra := ?, template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, - template MobileAllocation ma := ?) := { + template MobileAllocationLV ma := ?) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { @@ -1012,7 +1012,7 @@ template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template PacketChannelDescription ch_desc := ?, - template MobileAllocation ma := ?, + template MobileAllocationLV ma := ?, template IaRestOctets rest := ?) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bb10a77..3c8be30 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2092,7 +2092,7 @@ ia.pkt_chan_desc, " vs ", tr_pkt_chan_desc); } - var MobileAllocation tr_ma := { len := 0, ma := ''B }; + var MobileAllocationLV tr_ma := { len := 0, ma := ''B }; var octetstring ma_oct := bit2oct(ts.ma); /* Calculate length of the useful part of Mobile Allocation */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ica803221e885b4746fd42c17cd2828c0ef35a6aa Gerrit-Change-Number: 19869 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 18:03:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:03:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 ) Change subject: library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types ...................................................................... library/GSM_SystemInformation: move 'MobileAllocationT' to GSM_RR_Types Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 --- M library/GSM_RR_Types.ttcn M library/GSM_SystemInformation.ttcn 2 files changed, 6 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 470d68c..76b03a9 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -302,6 +302,11 @@ variant (ma) "BYTEORDER(first), BITORDER(msb)" }; + type record MobileAllocationTLV { + OCT1 iei ('72'O), + MobileAllocationLV v + } with { variant "" }; + /* 10.5.2.25a */ type record PktChDesc0Ind { uint6_t maio, diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 9113583..85abb7f 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -86,13 +86,6 @@ template ControlChannelDescription t_ControlChannelDescription := { ?, ?, ?, ?, ?, ?, '00'B, ?, ? }; - /* 44.018 10.5.2.21 */ - type record MobileAllocationT { - OCT1 iei, - uint8_t len, - bitstring ma - } with { variant "" }; - /* 44.018 10.5.2.22 */ type octetstring NeighbourCellDescription with { variant "FIELDLENGTH(16)" }; @@ -175,7 +168,7 @@ CellSelectionParameters cell_sel_par, RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, - MobileAllocationT cbch_mobile_alloc optional, + MobileAllocationTLV cbch_mobile_alloc optional, SI4RestOctets rest_octets /* see 10.5.2.35 */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I149cf58c4bc1a8e08c69c52eb567706a0de4f9f1 Gerrit-Change-Number: 19870 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 Fri Aug 28 18:03:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:03:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: share RA generation helpers from BTS_Tests In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 ) Change subject: library/Osmocom_Types: share RA generation helpers from BTS_Tests ...................................................................... library/Osmocom_Types: share RA generation helpers from BTS_Tests Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 --- M bts/BTS_Tests.ttcn M library/Osmocom_Types.ttcn 2 files changed, 49 insertions(+), 49 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 34fd702..d9ad45b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1348,55 +1348,6 @@ * RACH Handling ***********************************************************************/ -/* like L1SAP_IS_PACKET_RACH */ -private function ra_is_ps(OCT1 ra) return boolean { - if ((ra and4b 'F0'O == '70'O) and (ra and4b '0F'O != '0F'O)) { - return true; - } - return false; -} - -private function ra_is_emerg(OCT1 ra) return boolean { - /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ - if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { - return true; - } - return false; -} - -/* generate a random RACH for circuit-switched */ -private function f_rnd_ra_cs() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (ra_is_ps(ra)); - return ra; -} - -/* generate a random RACH for emergency */ -private function f_rnd_ra_emerg() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (not ra_is_emerg(ra)); - return ra; -} - -/* generate a random RACH for packet-switched */ -private function f_rnd_ra_ps() return OCT1 { - var OCT1 ra; - do { - ra := f_rnd_octstring(1); - } while (not ra_is_ps(ra)); - return ra; -} - -/* generate a random 11-bit RA (packet-switched only) */ -private function f_rnd_ra11_ps() return BIT11 { - var integer ra11 := f_rnd_int(bit2int('11111111111'B)); - return int2bit(ra11, 11); -} - /* Send 1000 RACH requests and check their RA+FN on the RSL side */ private function f_TC_rach_content(boolean emerg) runs on test_CT { f_init(); diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 994a0cc..2ee3215 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -198,5 +198,54 @@ } } +/* like L1SAP_IS_PACKET_RACH */ +function ra_is_ps(OCT1 ra) return boolean { + if ((ra and4b 'F0'O == '70'O) and (ra and4b '0F'O != '0F'O)) { + return true; + } + return false; +} + +function ra_is_emerg(OCT1 ra) return boolean { + /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ + if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { + return true; + } + return false; +} + +/* generate a random RACH for circuit-switched */ +function f_rnd_ra_cs() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (ra_is_ps(ra)); + return ra; +} + +/* generate a random RACH for emergency */ +function f_rnd_ra_emerg() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (not ra_is_emerg(ra)); + return ra; +} + +/* generate a random RACH for packet-switched */ +function f_rnd_ra_ps() return OCT1 { + var OCT1 ra; + do { + ra := f_rnd_octstring(1); + } while (not ra_is_ps(ra)); + return ra; +} + +/* generate a random 11-bit RA (packet-switched only) */ +function f_rnd_ra11_ps() return BIT11 { + var integer ra11 := f_rnd_int(bit2int('11111111111'B)); + return int2bit(ra11, 11); +} + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c9c3d243b39bbd3d521009d23c1043df729ee10 Gerrit-Change-Number: 19871 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 Fri Aug 28 18:03:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:03:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSAP_CodecPort: turn conn_id into a template param In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 ) Change subject: library/BSSAP_CodecPort: turn conn_id into a template param ...................................................................... library/BSSAP_CodecPort: turn conn_id into a template param Change-Id: I9b9ccee970b3a5bf608f2bdba51b317e35e678c7 --- M library/BSSAP_CodecPort.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/BSSAP_CodecPort.ttcn b/library/BSSAP_CodecPort.ttcn index fdece08..5339b32 100644 --- a/library/BSSAP_CodecPort.ttcn +++ b/library/BSSAP_CodecPort.ttcn @@ -126,7 +126,7 @@ SCCP_PAR_Importance importance optional } -template BSSAP_N_DATA_ind tr_BSSAP_DATA_ind(SCCP_PAR_Connection_Id conn_id, +template BSSAP_N_DATA_ind tr_BSSAP_DATA_ind(template SCCP_PAR_Connection_Id conn_id, template PDU_BSSAP bssap := *) := { userData := bssap, connectionId := conn_id, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9b9ccee970b3a5bf608f2bdba51b317e35e678c7 Gerrit-Change-Number: 19873 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 18:03:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:03:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 ) Change subject: BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject ...................................................................... BSSMAP_Templates: add tr_BSSMAP_IE_Cause and tr_BSSMAP_SAPInReject Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Related: SYS#5047, OS#4728 --- M library/BSSMAP_Templates.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 2496a1b..694e3e8 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -148,6 +148,22 @@ extensionCauseValue := '0'B, spare1 := omit } +template BSSMAP_IE_Cause tr_BSSMAP_IE_Cause(template (present) myBSSMAP_Cause val) := { + elementIdentifier := '04'O, + lengthIndicator := ?, + causeValue := f_tr_causeValue(val), + extensionCauseValue := ?, + spare1 := * +} +private function f_tr_causeValue(template (present) myBSSMAP_Cause val) +return template (present) BIT7 { + if (istemplatekind(val, "?")) { + return ?; + } else { + var integer int_val := enum2int(valueof(val)); + return int2bit(valueof(int_val), 7); + } +} template (value) BSSMAP_IE_SpeechVersion ts_BSSMAP_IE_SpeechVersion(SpeechVersion val) := { elementIdentifier := '40'O, @@ -1625,6 +1641,34 @@ } } +template PDU_BSSAP tr_BSSMAP_SAPInReject(template (present) GsmSapi sapi := ?, + template BSSMAP_IE_Cause cause := ?) +modifies tr_BSSAP_BSSMAP := { + pdu := { + bssmap := { + sAPInReject := { + messageType := '25'O, + dLCI := { + elementIdentifier := '18'O, + sapiValue := f_tr_SAPI(sapi), + spare := ?, + c1 := ?, c2 := ? + }, + cause := cause + } + } + } +} + +private function f_tr_SAPI(template (present) GsmSapi sapi) +return template (present) BIT3 { + if (istemplatekind(sapi, "?")) { + return ?; + } else { + return int2bit(valueof(sapi), 3); + } +} + } with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibf80419df4d198a1aa6f52087bd9356231de65f5 Gerrit-Change-Number: 19872 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 Aug 28 18:47:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:47:46 +0000 Subject: Change in libosmocore[master]: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19885 ) Change subject: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() ...................................................................... socket: Fix stack-buffer-overflow in osmo_sock_local_ip() On IPv6 sockets, getsockname() and inet_ntop() would act upon a structure struct sockaddr_in. First getsockname() would succeed but truncate the address, and later on inet_ntop would read out of the scope of the structure. Change-Id: If781d56680758a97643b1b38e78d3431ea649020 --- M src/socket.c 1 file changed, 17 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/19885/1 diff --git a/src/socket.c b/src/socket.c index 62a5846..df37ab8 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1413,7 +1413,9 @@ int rc; struct addrinfo addrinfo_hint; struct addrinfo *addrinfo = NULL; - struct sockaddr_in local_addr; + struct sockaddr_storage local_addr; + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; socklen_t local_addr_len; uint16_t family; @@ -1442,12 +1444,21 @@ close(sfd); if (rc < 0) return -EINVAL; - if (local_addr.sin_family == AF_INET) - inet_ntop(AF_INET, &local_addr.sin_addr, local_ip, INET_ADDRSTRLEN); - else if (local_addr.sin_family == AF_INET6) - inet_ntop(AF_INET6, &local_addr.sin_addr, local_ip, INET6_ADDRSTRLEN); - else + + switch (local_addr.ss_family) { + case AF_INET: + sin = (struct sockaddr_in*)&local_addr; + if (!inet_ntop(AF_INET, &sin->sin_addr, local_ip, INET_ADDRSTRLEN)) + return -EINVAL; + break; + case AF_INET6: + sin6 = (struct sockaddr_in6*)&local_addr; + if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET_ADDRSTRLEN)) + return -EINVAL; + break; + default: return -EINVAL; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If781d56680758a97643b1b38e78d3431ea649020 Gerrit-Change-Number: 19885 Gerrit-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 Aug 28 18:50:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:50:26 +0000 Subject: Change in osmo-mgw[master]: mgcp-client: Fix trailing whitespace in mgcp_client_fsm.h References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19886 ) Change subject: mgcp-client: Fix trailing whitespace in mgcp_client_fsm.h ...................................................................... mgcp-client: Fix trailing whitespace in mgcp_client_fsm.h Change-Id: Iad9ee764c1b6d7960a810a3eef95b207596e4796 --- M include/osmocom/mgcp_client/mgcp_client_fsm.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/86/19886/1 diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index c763d74..a1ebbb6 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -8,7 +8,7 @@ * (either remote or local). It is used to pass parameters (local) to the FSM * and get responses (remote) from the FSM as pointer attached to the FSM * event. - * + * * When modifiying a connection, the endpoint and call_id members may be left * unpopulated. The call_id field is ignored in this case. If an endpoint * identifier is supplied it is checked against the internal state to make -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iad9ee764c1b6d7960a810a3eef95b207596e4796 Gerrit-Change-Number: 19886 Gerrit-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 Aug 28 18:50:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:50:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Use INET6_ADDRSTRLEN to store addresses in str format References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19887 ) Change subject: mgcp_client: Use INET6_ADDRSTRLEN to store addresses in str format ...................................................................... mgcp_client: Use INET6_ADDRSTRLEN to store addresses in str format Warning: This breaks libosmo-mgcp-cli ABI! Related: SYS#4915 Change-Id: Ib778e9a72764103b52a462ea3c7fb56b23c1bcd6 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client.c 4 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/87/19887/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index e44305b..8c7cd96 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -25,3 +25,4 @@ # #library what description / commit summary line osmo-mgw update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include +libosmo-mgcp-client mgcp_response, mgcp_conn_peer struct size change, breaks ABI diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index d4dd2d9..8914cc2 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -75,7 +75,7 @@ char *body; struct mgcp_response_head head; uint16_t audio_port; - char audio_ip[INET_ADDRSTRLEN]; + char audio_ip[INET6_ADDRSTRLEN]; unsigned int ptime; enum mgcp_codecs codecs[MGCP_MAX_CODECS]; unsigned int codecs_len; diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index a1ebbb6..e315753 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -15,7 +15,7 @@ * sure it is correct. */ struct mgcp_conn_peer { /*! RTP connection IP-Address (optional, string e.g. "127.0.0.1") */ - char addr[INET_ADDRSTRLEN]; + char addr[INET6_ADDRSTRLEN]; /*! RTP connection IP-Port (optional) */ uint16_t port; diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index b1909f0..146a59d 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1121,7 +1121,7 @@ { unsigned int i; int rc = 0; - char local_ip[INET_ADDRSTRLEN]; + char local_ip[INET6_ADDRSTRLEN]; const char *codec; unsigned int pt; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib778e9a72764103b52a462ea3c7fb56b23c1bcd6 Gerrit-Change-Number: 19887 Gerrit-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 Aug 28 18:50:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:50:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... mgcp_client: Allow submitting and parsing IPv6 addr in SDP Existing mgcp_client_test code required the '.' to trigger the same code path, since with this commit we do extra checks and without a dot the address is not accepted as IPv4 by osmo_ip_str_type(). Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c 2 files changed, 33 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/88/19888/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 146a59d..ae07e92 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -370,20 +371,27 @@ /* Parse a line like "c=IN IP4 10.11.12.13" */ static int mgcp_parse_audio_ip(struct mgcp_response *r, const char *line) { - struct in_addr ip_test; + struct in6_addr ip_test; + int family; - if (strlen(line) < 16) + if (strncmp("c=IN IP", line, 7) != 0) goto response_parse_failure; - - /* The current implementation strictly supports IPV4 only ! */ - if (memcmp("c=IN IP4 ", line, 9) != 0) + line += 7; + if (*line != '4' && *line != '6') goto response_parse_failure; + line++; + if (*line != ' ') + goto response_parse_failure; + line++; /* Extract IP-Address */ - osmo_strlcpy(r->audio_ip, line + 9, sizeof(r->audio_ip)); + osmo_strlcpy(r->audio_ip, line, sizeof(r->audio_ip)); /* Check IP-Address */ - if (inet_aton(r->audio_ip, &ip_test) == 0) + family = osmo_ip_str_type(r->audio_ip); + if (family == AF_UNSPEC) + goto response_parse_failure; + if (inet_pton(family, r->audio_ip, &ip_test) != 1) goto response_parse_failure; return 0; @@ -1122,6 +1130,7 @@ unsigned int i; int rc = 0; char local_ip[INET6_ADDRSTRLEN]; + int local_ip_family, audio_ip_family; const char *codec; unsigned int pt; @@ -1138,10 +1147,21 @@ msgb_free(msg); return -2; } + local_ip_family = osmo_ip_str_type(local_ip); + if (local_ip_family == AF_UNSPEC) { + msgb_free(msg); + return -2; + } + audio_ip_family = osmo_ip_str_type(mgcp_msg->audio_ip); + if (audio_ip_family == AF_UNSPEC) { + msgb_free(msg); + return -2; + } /* Add owner/creator (SDP) */ - rc += msgb_printf(msg, "o=- %x 23 IN IP4 %s\r\n", - mgcp_msg->call_id, local_ip); + rc += msgb_printf(msg, "o=- %x 23 IN IP%c %s\r\n", mgcp_msg->call_id, + local_ip_family == AF_INET6 ? '6' : '4', + local_ip); /* Add session name (none) */ rc += msgb_printf(msg, "s=-\r\n"); @@ -1159,7 +1179,9 @@ msgb_free(msg); return -2; } - rc += msgb_printf(msg, "c=IN IP4 %s\r\n", mgcp_msg->audio_ip); + rc += msgb_printf(msg, "c=IN IP%c %s\r\n", + audio_ip_family == AF_INET6 ? '6' : '4', + mgcp_msg->audio_ip); /* Add time description, active time (SDP) */ rc += msgb_printf(msg, "t=0 0\r\n"); diff --git a/tests/mgcp_client/mgcp_client_test.c b/tests/mgcp_client/mgcp_client_test.c index db9f4f8..0f305b7 100644 --- a/tests/mgcp_client/mgcp_client_test.c +++ b/tests/mgcp_client/mgcp_client_test.c @@ -294,6 +294,7 @@ MGCP_MSG_PRESENCE_CONN_ID | MGCP_MSG_PRESENCE_CONN_MODE | MGCP_MSG_PRESENCE_AUDIO_IP | MGCP_MSG_PRESENCE_AUDIO_PORT); memset(audio_ip_overflow, 'X', sizeof(audio_ip_overflow)); + audio_ip_overflow[1] = '.'; audio_ip_overflow[sizeof(audio_ip_overflow) - 1] = '\0'; mgcp_msg.audio_ip = audio_ip_overflow; msg = mgcp_msg_gen(mgcp, &mgcp_msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-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 Aug 28 18:50:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 18:50:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 28 Aug 2020 18:50: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 Fri Aug 28 18:53:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:53:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 to look at the new patch set (#2). Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... mgcp_client: Allow submitting and parsing IPv6 addr in SDP Existing mgcp_client_test code required the '.' to trigger the same code path, since with this commit we do extra checks and without a dot the address is not accepted as IPv4 by osmo_ip_str_type(). Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.ok 3 files changed, 58 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/88/19888/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 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 Aug 28 18:57:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Aug 2020 18:57:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 2: New test addded is expected to fail until this fix in libosmocore API implementation is merged: https://gerrit.osmocom.org/c/libosmocore/+/19885 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Aug 2020 18:57: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 Fri Aug 28 19:03:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 19:03:37 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-msc/+/19875/4/include/osmocom/msc/gsm_data.h File include/osmocom/msc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-msc/+/19875/4/include/osmocom/msc/gsm_data.h at 33 PS4, Line 33: FILE_PATH "sms.db" It looks more like a FILE_NAME rather than a path... https://gerrit.osmocom.org/c/osmo-msc/+/19875/4/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/c/osmo-msc/+/19875/4/src/libmsc/msc_vty.c at 743 PS4, Line 743: gsmnet->sms_db_file_path It's always non-NULL, right? Not critical. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Aug 2020 19:03: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 Aug 28 19:30:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 19:30:07 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19864 ) Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19864/2/src/osmo-bsc/cbsp_link.c File src/osmo-bsc/cbsp_link.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19864/2/src/osmo-bsc/cbsp_link.c at 42 PS2, Line 42: {} It's more usual to see { 0, NULL } here. The script that checks if value-string arrays are properly terminated seems to support this style, but not { 0x00, NULL }? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 19:30: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 Aug 28 19:37:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 19:37:04 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19864 ) Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 19:37:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 28 19:38:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 28 Aug 2020 19:38:57 +0000 Subject: Change in osmo-bsc[master]: CBSP: add local bind to client mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19865 ) Change subject: CBSP: add local bind to client mode ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 Gerrit-Change-Number: 19865 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Aug 2020 19:38:57 +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 Aug 29 01:51:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:51:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f49b4a44fe46_6a032aad0a3625f486974f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 432s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 432s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 432s] ar: `u' modifier ignored since `D' is the default (see `U') [ 432s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 432s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 432s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 432s] Makefile:535: recipe for target 'libifd_remsim_client.la' failed [ 432s] make[4]: *** [libifd_remsim_client.la] Error 1 [ 432s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 432s] Makefile:535: recipe for target 'all-recursive' failed [ 432s] make[3]: *** [all-recursive] Error 1 [ 432s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 432s] Makefile:483: recipe for target 'all-recursive' failed [ 432s] make[2]: *** [all-recursive] Error 1 [ 432s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 432s] Makefile:407: recipe for target 'all' failed [ 432s] make[1]: *** [all] Error 2 [ 432s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 432s] dh_auto_build: make -j1 returned exit code 2 [ 432s] debian/rules:14: recipe for target 'build' failed [ 432s] make: *** [build] Error 2 [ 432s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 432s] ### VM INTERACTION START ### [ 435s] [ 416.330785] sysrq: Power Off [ 435s] [ 416.335127] reboot: Power down [ 435s] ### VM INTERACTION END ### [ 435s] [ 435s] cloud130 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 01:50:50 UTC 2020. [ 435s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 01:52:28 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:52:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f49b4dfd722c_6a032aad0a3625f4870360@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/i586 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 350s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 350s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 350s] ar: `u' modifier ignored since `D' is the default (see `U') [ 350s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 350s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 350s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 350s] Makefile:535: recipe for target 'libifd_remsim_client.la' failed [ 350s] make[4]: *** [libifd_remsim_client.la] Error 1 [ 350s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 350s] Makefile:535: recipe for target 'all-recursive' failed [ 350s] make[3]: *** [all-recursive] Error 1 [ 350s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 350s] Makefile:483: recipe for target 'all-recursive' failed [ 350s] make[2]: *** [all-recursive] Error 1 [ 350s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 350s] Makefile:407: recipe for target 'all' failed [ 350s] make[1]: *** [all] Error 2 [ 350s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 350s] dh_auto_build: make -j1 returned exit code 2 [ 350s] debian/rules:14: recipe for target 'build' failed [ 350s] make: *** [build] Error 2 [ 350s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 350s] ### VM INTERACTION START ### [ 353s] [ 342.885584] sysrq: Power Off [ 353s] [ 342.891761] reboot: Power down [ 353s] ### VM INTERACTION END ### [ 353s] [ 353s] lamb12 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 01:52:16 UTC 2020. [ 353s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 01:52:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:52:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5f49b4f9ed91a_6a032aad0a3625f48704d7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 327s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 327s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 327s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 327s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed [ 327s] make[5]: *** [libosmo-gsup-client.la] Error 1 [ 327s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 327s] Makefile:656: recipe for target 'all-recursive' failed [ 327s] make[4]: *** [all-recursive] Error 1 [ 327s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 327s] Makefile:479: recipe for target 'all' failed [ 327s] make[3]: *** [all] Error 2 [ 327s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 327s] Makefile:487: recipe for target 'all-recursive' failed [ 327s] make[2]: *** [all-recursive] Error 1 [ 327s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 327s] Makefile:409: recipe for target 'all' failed [ 327s] make[1]: *** [all] Error 2 [ 327s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 327s] dh_auto_build: make -j1 returned exit code 2 [ 327s] debian/rules:7: recipe for target 'build' failed [ 327s] make: *** [build] Error 2 [ 327s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 327s] ### VM INTERACTION START ### [ 330s] [ 319.552402] sysrq: Power Off [ 330s] [ 319.558768] reboot: Power down [ 330s] ### VM INTERACTION END ### [ 330s] [ 330s] lamb53 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 01:52:31 UTC 2020. [ 330s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 01:54:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:54:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f49b555978af_6a032aad0a3625f48708ee@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 588s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 588s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 588s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 589s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/i386-linux-gnu/libosmogsm.so /usr/lib/i386-linux-gnu/libosmocore.so /usr/lib/i386-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 589s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 589s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 589s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 589s] ar: `u' modifier ignored since `D' is the default (see `U') [ 589s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 589s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 589s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 589s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 589s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 589s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 589s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 589s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 589s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 589s] make[1]: *** [Makefile:407: all] Error 2 [ 589s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 589s] dh_auto_build: make -j1 returned exit code 2 [ 589s] make: *** [debian/rules:14: build] Error 2 [ 589s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 589s] ### VM INTERACTION START ### [ 592s] [ 581.561235] sysrq: Power Off [ 592s] [ 581.571344] reboot: Power down [ 592s] ### VM INTERACTION END ### [ 592s] [ 592s] lamb58 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 01:54:09 UTC 2020. [ 592s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 01:54:44 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:54:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5f49b570247d3_6a032aad0a3625f4870913@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_9.0/i586 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 329s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 329s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 329s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 329s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed [ 329s] make[5]: *** [libosmo-gsup-client.la] Error 1 [ 329s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 329s] Makefile:656: recipe for target 'all-recursive' failed [ 329s] make[4]: *** [all-recursive] Error 1 [ 329s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 329s] Makefile:479: recipe for target 'all' failed [ 329s] make[3]: *** [all] Error 2 [ 329s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 329s] Makefile:487: recipe for target 'all-recursive' failed [ 329s] make[2]: *** [all-recursive] Error 1 [ 329s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 329s] Makefile:409: recipe for target 'all' failed [ 329s] make[1]: *** [all] Error 2 [ 329s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 329s] dh_auto_build: make -j1 returned exit code 2 [ 329s] debian/rules:7: recipe for target 'build' failed [ 329s] make: *** [build] Error 2 [ 329s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 329s] ### VM INTERACTION START ### [ 332s] [ 319.548462] sysrq: Power Off [ 332s] [ 319.552959] reboot: Power down [ 332s] ### VM INTERACTION END ### [ 332s] [ 332s] cloud115 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 01:54:34 UTC 2020. [ 332s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 01:55:18 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 01:55:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5f49b591a2b6c_6a032aad0a3625f487103b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 434s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I../../include -pthread -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -version-info 0:0:0 -no-undefined -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o libosmo-gsup-client.la -rpath /usr/lib/i386-linux-gnu cni_peer_id.lo gsup_client.lo gsup_req.lo -ltalloc -ltalloc -losmocore -losmoabis [ 434s] libtool: link: gcc -shared -fPIC -DPIC .libs/cni_peer_id.o .libs/gsup_client.o .libs/gsup_req.o -ltalloc /usr/lib/i386-linux-gnu/libosmocore.so /usr/lib/i386-linux-gnu/libosmoabis.so -pthread -g -O2 -fstack-protector-strong -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libosmo-gsup-client.so.0 -o .libs/libosmo-gsup-client.so.0.0.0 [ 435s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so.0" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so.0") [ 435s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so") [ 435s] libtool: link: ar cru .libs/libosmo-gsup-client.a cni_peer_id.o gsup_client.o gsup_req.o [ 435s] ar: `u' modifier ignored since `D' is the default (see `U') [ 435s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 435s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 435s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 435s] make[5]: *** [Makefile:468: libosmo-gsup-client.la] Error 1 [ 435s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 435s] make[4]: *** [Makefile:676: all-recursive] Error 1 [ 435s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 435s] make[3]: *** [Makefile:493: all] Error 2 [ 435s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 435s] make[2]: *** [Makefile:487: all-recursive] Error 1 [ 435s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 435s] make[1]: *** [Makefile:409: all] Error 2 [ 435s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 435s] dh_auto_build: make -j1 returned exit code 2 [ 435s] make: *** [debian/rules:7: build] Error 2 [ 435s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 435s] ### VM INTERACTION START ### [ 438s] [ 422.065195] sysrq: Power Off [ 438s] [ 422.084397] reboot: Power down [ 438s] ### VM INTERACTION END ### [ 438s] [ 438s] cloud108 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 01:55:08 UTC 2020. [ 438s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 02:08:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 02:08:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/i586 In-Reply-To: References: Message-ID: <5f49b8beb269a_6a032aad0a3625f48737a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/i586 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 430s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 430s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 430s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 430s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/i386-linux-gnu/libosmogsm.so /usr/lib/i386-linux-gnu/libosmocore.so /usr/lib/i386-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 430s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 430s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 430s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 430s] ar: `u' modifier ignored since `D' is the default (see `U') [ 430s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 430s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 430s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 430s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 430s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 430s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 430s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 430s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 430s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 430s] make[1]: *** [Makefile:407: all] Error 2 [ 430s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 430s] dh_auto_build: make -j1 returned exit code 2 [ 430s] make: *** [debian/rules:14: build] Error 2 [ 430s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 430s] ### VM INTERACTION START ### [ 433s] [ 415.325455] sysrq: Power Off [ 433s] [ 415.330941] reboot: Power down [ 433s] ### VM INTERACTION END ### [ 433s] [ 433s] cloud131 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 02:08:42 UTC 2020. [ 433s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 02:17:00 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 02:17:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_10/i586 In-Reply-To: References: Message-ID: <5f49baba29f18_6a032aad0a3625f48747ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_10/i586 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 669s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I../../include -pthread -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -version-info 0:0:0 -no-undefined -Wl,-z,relro -Wl,-z,now -o libosmo-gsup-client.la -rpath /usr/lib/i386-linux-gnu cni_peer_id.lo gsup_client.lo gsup_req.lo -ltalloc -ltalloc -losmocore -losmoabis [ 669s] libtool: link: gcc -shared -fPIC -DPIC .libs/cni_peer_id.o .libs/gsup_client.o .libs/gsup_req.o -ltalloc /usr/lib/i386-linux-gnu/libosmocore.so /usr/lib/i386-linux-gnu/libosmoabis.so -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libosmo-gsup-client.so.0 -o .libs/libosmo-gsup-client.so.0.0.0 [ 669s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so.0" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so.0") [ 669s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so") [ 669s] libtool: link: ar cru .libs/libosmo-gsup-client.a cni_peer_id.o gsup_client.o gsup_req.o [ 669s] ar: `u' modifier ignored since `D' is the default (see `U') [ 669s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 669s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 669s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 669s] make[5]: *** [Makefile:468: libosmo-gsup-client.la] Error 1 [ 669s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 669s] make[4]: *** [Makefile:676: all-recursive] Error 1 [ 669s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 669s] make[3]: *** [Makefile:493: all] Error 2 [ 669s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 669s] make[2]: *** [Makefile:487: all-recursive] Error 1 [ 669s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 669s] make[1]: *** [Makefile:409: all] Error 2 [ 669s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 669s] dh_auto_build: make -j1 returned exit code 2 [ 669s] make: *** [debian/rules:7: build] Error 2 [ 669s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 669s] ### VM INTERACTION START ### [ 672s] [ 653.710773] sysrq: Power Off [ 672s] [ 653.740139] reboot: Power down [ 672s] ### VM INTERACTION END ### [ 672s] [ 672s] lamb54 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 02:16:48 UTC 2020. [ 672s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 02:19:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 02:19:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f49bb4e5ee92_6a032aad0a3625f48755be@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: [ 185s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 186s] [COMPILING libboard/qmod/source/card_pres.c] [ 186s] [COMPILING libboard/qmod/source/wwan_led.c] [ 186s] [COMPILING libboard/qmod/source/i2c.c] [ 186s] [COMPILING libboard/qmod/source/board_qmod.c] [ 186s] [COMPILING apps/dfu/main.c] [ 186s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 186s] [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: 16588 B 16 KB 101.25% [ 187s] 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' [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 187s] collect2: error: ld returned 1 exit status [ 187s] % [ 187s] make[2]: *** [Makefile:234: 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] [ 181.494591] sysrq: Power Off [ 190s] [ 181.501942] reboot: Power down [ 190s] ### VM INTERACTION END ### [ 190s] [ 190s] lamb22 failed "build simtrace2_0.7.0.63.39070.dsc" at Sat Aug 29 02:19:29 UTC 2020. [ 190s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 04:05:02 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 04:05:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f49d407b615b_6a032aad0a3625f4898282@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 439s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 439s] /bin/sed: can't read /usr/lib/aarch64-linux-gnu/libosmo-e1d.la: No such file or directory [ 439s] libtool: error: '/usr/lib/aarch64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 439s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed [ 439s] make[5]: *** [libosmo-gsup-client.la] Error 1 [ 439s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 439s] Makefile:656: recipe for target 'all-recursive' failed [ 439s] make[4]: *** [all-recursive] Error 1 [ 439s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 439s] Makefile:479: recipe for target 'all' failed [ 439s] make[3]: *** [all] Error 2 [ 439s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 440s] Makefile:487: recipe for target 'all-recursive' failed [ 440s] make[2]: *** [all-recursive] Error 1 [ 440s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 440s] Makefile:409: recipe for target 'all' failed [ 440s] make[1]: *** [all] Error 2 [ 440s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 440s] dh_auto_build: make -j1 returned exit code 2 [ 440s] debian/rules:7: recipe for target 'build' failed [ 440s] make: *** [build] Error 2 [ 440s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 440s] ### VM INTERACTION START ### [ 443s] [ 425.764373] sysrq: Power Off [ 443s] [ 425.813138] reboot: Power down [ 443s] ### VM INTERACTION END ### [ 443s] [ 443s] obs-arm-8 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 04:04:56 UTC 2020. [ 443s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 04:19:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 04:19:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f49d7696130e_6a032aad0a3625f490284f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_10/aarch64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 543s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I../../include -pthread -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -version-info 0:0:0 -no-undefined -Wl,-z,relro -Wl,-z,now -o libosmo-gsup-client.la -rpath /usr/lib/aarch64-linux-gnu cni_peer_id.lo gsup_client.lo gsup_req.lo -ltalloc -ltalloc -losmocore -losmoabis [ 544s] libtool: link: gcc -shared -fPIC -DPIC .libs/cni_peer_id.o .libs/gsup_client.o .libs/gsup_req.o -ltalloc /usr/lib/aarch64-linux-gnu/libosmocore.so /usr/lib/aarch64-linux-gnu/libosmoabis.so -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libosmo-gsup-client.so.0 -o .libs/libosmo-gsup-client.so.0.0.0 [ 544s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so.0" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so.0") [ 544s] libtool: link: (cd ".libs" && rm -f "libosmo-gsup-client.so" && ln -s "libosmo-gsup-client.so.0.0.0" "libosmo-gsup-client.so") [ 544s] libtool: link: ar cru .libs/libosmo-gsup-client.a cni_peer_id.o gsup_client.o gsup_req.o [ 544s] ar: `u' modifier ignored since `D' is the default (see `U') [ 544s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 544s] /bin/sed: can't read /usr/lib/aarch64-linux-gnu/libosmo-e1d.la: No such file or directory [ 544s] libtool: error: '/usr/lib/aarch64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 544s] make[5]: *** [Makefile:468: libosmo-gsup-client.la] Error 1 [ 544s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 544s] make[4]: *** [Makefile:676: all-recursive] Error 1 [ 544s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 544s] make[3]: *** [Makefile:493: all] Error 2 [ 544s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 544s] make[2]: *** [Makefile:487: all-recursive] Error 1 [ 544s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 544s] make[1]: *** [Makefile:409: all] Error 2 [ 544s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 544s] dh_auto_build: make -j1 returned exit code 2 [ 544s] make: *** [debian/rules:7: build] Error 2 [ 544s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 544s] ### VM INTERACTION START ### [ 547s] [ 514.560180] sysrq: Power Off [ 547s] [ 514.562006] reboot: Power down [ 547s] ### VM INTERACTION END ### [ 547s] [ 547s] obs-arm-8 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 04:19:19 UTC 2020. [ 547s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 05:04:10 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 05:04:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f49e1d0e1c5b_6a032aad0a3625f4920143@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 382s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 382s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 382s] ar: `u' modifier ignored since `D' is the default (see `U') [ 382s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 382s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 382s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 382s] Makefile:535: recipe for target 'libifd_remsim_client.la' failed [ 382s] make[4]: *** [libifd_remsim_client.la] Error 1 [ 382s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 382s] Makefile:535: recipe for target 'all-recursive' failed [ 382s] make[3]: *** [all-recursive] Error 1 [ 382s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 382s] Makefile:483: recipe for target 'all-recursive' failed [ 382s] make[2]: *** [all-recursive] Error 1 [ 382s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 382s] Makefile:407: recipe for target 'all' failed [ 382s] make[1]: *** [all] Error 2 [ 382s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 382s] dh_auto_build: make -j1 returned exit code 2 [ 382s] debian/rules:14: recipe for target 'build' failed [ 382s] make: *** [build] Error 2 [ 382s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 382s] ### VM INTERACTION START ### [ 385s] [ 371.894922] sysrq: Power Off [ 385s] [ 371.899311] reboot: Power down [ 385s] ### VM INTERACTION END ### [ 385s] [ 385s] lamb52 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 05:03:59 UTC 2020. [ 385s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 05:59:54 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 05:59:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5f49eef3c42fd_6a032aad0a3625f49384fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 979s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 979s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 979s] ar: `u' modifier ignored since `D' is the default (see `U') [ 979s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 979s] /bin/sed: can't read /usr/lib/aarch64-linux-gnu/libosmo-e1d.la: No such file or directory [ 979s] libtool: error: '/usr/lib/aarch64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 979s] Makefile:535: recipe for target 'libifd_remsim_client.la' failed [ 979s] make[4]: *** [libifd_remsim_client.la] Error 1 [ 979s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 979s] Makefile:535: recipe for target 'all-recursive' failed [ 979s] make[3]: *** [all-recursive] Error 1 [ 979s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 979s] Makefile:483: recipe for target 'all-recursive' failed [ 979s] make[2]: *** [all-recursive] Error 1 [ 979s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 979s] Makefile:407: recipe for target 'all' failed [ 979s] make[1]: *** [all] Error 2 [ 979s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 979s] dh_auto_build: make -j1 returned exit code 2 [ 979s] debian/rules:14: recipe for target 'build' failed [ 979s] make: *** [build] Error 2 [ 979s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 979s] ### VM INTERACTION START ### [ 982s] [ 956.842024] sysrq: Power Off [ 982s] [ 956.853525] reboot: Power down [ 983s] ### VM INTERACTION END ### [ 983s] [ 983s] obs-arm-1 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 05:59:51 UTC 2020. [ 983s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 06:41:36 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 06:41:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/aarch64 In-Reply-To: References: Message-ID: <5f49f8ad34033_6a032aad0a3625f49585a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/aarch64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 1496s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 1496s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 1496s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 1497s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/aarch64-linux-gnu/libosmogsm.so /usr/lib/aarch64-linux-gnu/libosmocore.so /usr/lib/aarch64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 1497s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 1497s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 1497s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 1497s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1497s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 1498s] /bin/sed: can't read /usr/lib/aarch64-linux-gnu/libosmo-e1d.la: No such file or directory [ 1498s] libtool: error: '/usr/lib/aarch64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 1498s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 1498s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 1498s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 1498s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 1498s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 1498s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1498s] make[1]: *** [Makefile:407: all] Error 2 [ 1498s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1498s] dh_auto_build: make -j1 returned exit code 2 [ 1498s] make: *** [debian/rules:14: build] Error 2 [ 1498s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1498s] ### VM INTERACTION START ### [ 1501s] [ 1436.131136] sysrq: Power Off [ 1501s] [ 1436.144353] reboot: Power down [ 1501s] ### VM INTERACTION END ### [ 1501s] [ 1501s] obs-arm-3 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 06:41:26 UTC 2020. [ 1501s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 07:05:37 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:05:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5f49fe4bb1ad4_6a032aad0a3625f496372c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 234s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 234s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 234s] ar: `u' modifier ignored since `D' is the default (see `U') [ 234s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 234s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 234s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 234s] Makefile:535: recipe for target 'libifd_remsim_client.la' failed [ 234s] make[4]: *** [libifd_remsim_client.la] Error 1 [ 234s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 234s] Makefile:535: recipe for target 'all-recursive' failed [ 234s] make[3]: *** [all-recursive] Error 1 [ 234s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 234s] Makefile:483: recipe for target 'all-recursive' failed [ 234s] make[2]: *** [all-recursive] Error 1 [ 234s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 234s] Makefile:407: recipe for target 'all' failed [ 234s] make[1]: *** [all] Error 2 [ 234s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 234s] dh_auto_build: make -j1 returned exit code 2 [ 234s] debian/rules:14: recipe for target 'build' failed [ 234s] make: *** [build] Error 2 [ 234s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 234s] ### VM INTERACTION START ### [ 237s] [ 229.875364] sysrq: Power Off [ 237s] [ 229.879529] reboot: Power down [ 237s] ### VM INTERACTION END ### [ 237s] [ 237s] sheep87 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:05:31 UTC 2020. [ 237s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 07:07:35 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:07:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5f49fec685b8b_6a032aad0a3625f49641de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 374s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 374s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 374s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 374s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 374s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 374s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 374s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 374s] ar: `u' modifier ignored since `D' is the default (see `U') [ 374s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 374s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 374s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 374s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 374s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 374s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 374s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 375s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 375s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 375s] make[1]: *** [Makefile:407: all] Error 2 [ 375s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 375s] dh_auto_build: make -j1 returned exit code 2 [ 375s] make: *** [debian/rules:14: build] Error 255 [ 375s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 375s] ### VM INTERACTION START ### [ 378s] [ 364.245776] sysrq: Power Off [ 378s] [ 364.248491] reboot: Power down [ 378s] ### VM INTERACTION END ### [ 378s] [ 378s] old-atreju3 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:07:22 UTC 2020. [ 378s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 07:08:27 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:08:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5f49feffb51ea_6a032aad0a3625f49645cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 611s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 611s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 611s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 611s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 611s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 611s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 611s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 611s] ar: `u' modifier ignored since `D' is the default (see `U') [ 611s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 611s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 611s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 611s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 611s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 611s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 611s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 611s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 611s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 611s] make[1]: *** [Makefile:407: all] Error 2 [ 611s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 611s] dh_auto_build: make -j1 returned exit code 2 [ 611s] make: *** [debian/rules:14: build] Error 2 [ 611s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 611s] ### VM INTERACTION START ### [ 615s] [ 597.557553] sysrq: Power Off [ 615s] [ 597.563430] reboot: Power down [ 615s] ### VM INTERACTION END ### [ 615s] [ 615s] lamb60 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:08:20 UTC 2020. [ 615s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 07:09:01 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:09:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5f49ff2583236_6a032aad0a3625f49646ea@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 369s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 369s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 369s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 370s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 370s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 370s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 370s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 370s] ar: `u' modifier ignored since `D' is the default (see `U') [ 370s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 370s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 370s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 370s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 370s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 370s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 370s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 370s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 370s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 370s] make[1]: *** [Makefile:407: all] Error 2 [ 370s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 370s] dh_auto_build: make -j1 returned exit code 2 [ 370s] make: *** [debian/rules:14: build] Error 2 [ 370s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 370s] ### VM INTERACTION START ### [ 373s] [ 361.252141] sysrq: Power Off [ 373s] [ 361.255181] reboot: Power down [ 373s] ### VM INTERACTION END ### [ 373s] [ 373s] build74 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:08:50 UTC 2020. [ 373s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Aug 29 07:09:53 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:09:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5f49ff5a39c11_6a032aad0a3625f49649a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_10/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 413s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 413s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 413s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 414s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 414s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 414s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 414s] libtool: link: ar cru .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 414s] ar: `u' modifier ignored since `D' is the default (see `U') [ 414s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 414s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 414s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 414s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 414s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 414s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 414s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 414s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 414s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 414s] make[1]: *** [Makefile:407: all] Error 2 [ 414s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 414s] dh_auto_build: make -j1 returned exit code 2 [ 414s] make: *** [debian/rules:14: build] Error 2 [ 414s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 414s] ### VM INTERACTION START ### [ 417s] [ 391.719687] sysrq: Power Off [ 417s] [ 391.724911] reboot: Power down [ 417s] ### VM INTERACTION END ### [ 417s] [ 417s] cloud136 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:09:45 UTC 2020. [ 417s] -- 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 Aug 29 07:48:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:48:15 +0000 Subject: Change in osmo-mgw[master]: mgcp-client: Support IPv6 in osmo_mgcpc_ep_ci_get_crcx_info_to_sockad... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19883 ) Change subject: mgcp-client: Support IPv6 in osmo_mgcpc_ep_ci_get_crcx_info_to_sockaddr() implementation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibbfc1c2485636502dc0f3aef3922432cc7fd6170 Gerrit-Change-Number: 19883 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:48:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:48:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:48:22 +0000 Subject: Change in osmo-mgw[master]: mgcp-client: Fix trailing whitespace in mgcp_client_fsm.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19886 ) Change subject: mgcp-client: Fix trailing whitespace in mgcp_client_fsm.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iad9ee764c1b6d7960a810a3eef95b207596e4796 Gerrit-Change-Number: 19886 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:48: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 Aug 29 07:48:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:48:41 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Use INET6_ADDRSTRLEN to store addresses in str format In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19887 ) Change subject: mgcp_client: Use INET6_ADDRSTRLEN to store addresses in str format ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib778e9a72764103b52a462ea3c7fb56b23c1bcd6 Gerrit-Change-Number: 19887 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:48:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:49:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:49:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c at a375 PS2, Line 375: if (st you're removing any length checks in this function. Who or what ensures that all of your pointer arithmetic and string compares don't go out-of-bounds here? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:49: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 Sat Aug 29 07:51:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:51:11 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/19876/1//COMMIT_MSG at 13 PS1, Line 13: ones in th system) and IPv4-only addresses on the remote side. > Well anything reusing IPv4 inside Ipv6 sounds odd, but that's how it is. [?] IPv6 has always worked that way, AFAICT. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 Aug 2020 07:51:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:51:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:51:56 +0000 Subject: Change in libosmocore[master]: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19881 ) Change subject: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 Gerrit-Change-Number: 19881 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:51:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:52:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:52:04 +0000 Subject: Change in libosmocore[master]: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19884 ) Change subject: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icab676ff7ee9d813d7b7fe807fbe172512f5e397 Gerrit-Change-Number: 19884 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07: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 Aug 29 07:52:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:52:21 +0000 Subject: Change in libosmocore[master]: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19885 ) Change subject: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If781d56680758a97643b1b38e78d3431ea649020 Gerrit-Change-Number: 19885 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:52:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:53:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:53:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 29 Aug 2020 07:53:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:53:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:53:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add TC_rll_{rel_ind, err_ind, timeout}_sapi_n_reject In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 ) Change subject: BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject ...................................................................... BSC_Tests: add TC_rll_{rel_ind,err_ind,timeout}_sapi_n_reject The idea of these new test cases is to verify that the IUT does send BSSMAP SAPI N Reject in the following cases respectively: - on receipt of an unexpected RLL RELease INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - on receipt of an unexpected RLL ERROR INDication message in response to RLL ESTablish REQuest (for SAPI=3 link); - due to SAPI=3 link establishment timeout. Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Related: SYS#5047, OS#4728 --- M bsc/BSC_Tests.ttcn 1 file changed, 116 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 61b700c..dce9ae9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1881,6 +1881,117 @@ setverdict(pass); } +private function f_exp_sapi_n_reject(template (present) GsmSapi sapi := ?, + template myBSSMAP_Cause cause := ?, + float T_val := 2.0) +runs on test_CT { + var BSSAP_N_DATA_ind rx_di; + timer T; + + var template BSSMAP_IE_Cause tr_cause := tr_BSSMAP_IE_Cause(cause); + var template PDU_BSSAP tr_pdu := tr_BSSMAP_SAPInReject(sapi); + + T.start(T_val); + alt { + [] BSSAP.receive(tr_BSSAP_DATA_ind(?, tr_pdu)) -> value rx_di { + var BSSMAP_IE_Cause rx_cause := rx_di.userData.pdu.bssmap.sAPInReject.cause; + if (not match(rx_cause, tr_cause)) { + setverdict(fail, "Rx unexpected Cause IE: ", + rx_cause, " vs expected ", tr_cause); + } + setverdict(pass); + } + [] BSSAP.receive(BSSAP_N_DATA_ind:?) -> value rx_di { + setverdict(fail, "Rx unexpected BSSAP PDU: ", rx_di); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSMAP SAPI N Reject"); + } + } +} + +/* Check if we get SAPI N Reject on receipt of unexpected RLL RELease INDication */ +testcase TC_rll_rel_ind_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* MS sends unexpected RELease INDication on SAPI=3 */ + f_ipa_tx(0, ts_RSL_REL_IND(dt.rsl_chan_nr, ts_RslLinkID_DCCH(3))); + /* We expect to receive BSSMAP SAPI N Reject message from the BSC */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_MS_NOT_EQUIPPED); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + +/* Check if we get SAPI N Reject on receipt of unexpected RLL ERROR INDication */ +testcase TC_rll_err_ind_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* BTS sends unexpected ERROR INDication on SAPI=3 */ + f_ipa_tx(0, ts_RSL_ERROR_IND(dt.rsl_chan_nr, ts_RslLinkID_DCCH(3), ''O)); + /* We expect to receive BSSMAP SAPI N Reject message from the BSC */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + +/* Check if we get SAPI N Reject due to a SAPI=3 link establishment timeout */ +testcase TC_rll_timeout_sapi_n_reject() runs on test_CT { + var octetstring rnd_data := f_rnd_octstring(16); + var RSL_Message rx_rsl; + var DchanTuple dt; + + f_init(1); + + /* MS establishes a SAPI=0 link on DCCH */ + dt := f_est_dchan(f_rnd_ra_cs(), 23, rnd_data); + + /* MSC sends some data on (not yet established) SAPI=3 link */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSAP_DTAP(rnd_data, '03'O))); + /* BSC attempts to establish a SAPI=3 link on DCCH */ + rx_rsl := f_exp_ipa_rx(0, tr_RSL_EST_REQ(dt.rsl_chan_nr, tr_RslLinkID_DCCH(3))); + + /* MS does not respond, so the link establishment timeout triggers SAPI N Reject */ + f_exp_sapi_n_reject(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED, T_val := 8.0); + + /* Clean up the connection */ + BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0)); + f_expect_chan_rel(0, dt.rsl_chan_nr, expect_rll_rel_req := false); + + setverdict(pass); +} + testcase TC_si_default() runs on test_CT { f_init(0); f_init_bts_and_check_sysinfo(0, expect_si := SystemInformationConfig_default); @@ -6446,6 +6557,11 @@ execute( TC_rll_est_ind_inval_sapi3() ); execute( TC_rll_est_ind_inval_sacch() ); + /* SAPI N Reject triggered by RLL establishment failures */ + execute( TC_rll_rel_ind_sapi_n_reject() ); + execute( TC_rll_err_ind_sapi_n_reject() ); + execute( TC_rll_timeout_sapi_n_reject() ); + /* Paging related tests */ execute( TC_paging_imsi_nochan() ); execute( TC_paging_tmsi_nochan() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00489e2af3befe5780380f64b09fb01e726c8df5 Gerrit-Change-Number: 19874 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Aug 29 07:52:45 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:52:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5f4a096cb4dc8_6a032aad0a3625f4984147@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 603s] /bin/bash ../../libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" -DPACKAGE_STRING=\"osmo-remsim\ 0.2.2.101-3f65\" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c -o libifd_remsim_client_la-debug.lo `test -f '../debug.c' || echo './'`../debug.c [ 603s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -fPIC -DPIC -o .libs/libifd_remsim_client_la-debug.o [ 603s] libtool: compile: gcc -DPACKAGE_NAME=\"osmo-remsim\" -DPACKAGE_TARNAME=\"osmo-remsim\" -DPACKAGE_VERSION=\"0.2.2.101-3f65\" "-DPACKAGE_STRING=\"osmo-remsim 0.2.2.101-3f65\"" -DPACKAGE_BUGREPORT=\"simtrace at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-remsim\" -DVERSION=\"0.2.2.101-3f65\" -DBUILD_SERVER=1 -DBUILD_BANKD=1 -DHAVE_CSV_H=1 -DBUILD_CLIENT_ST2=1 -DBUILD_CLIENT_IFDHANDLER=1 -DSTDC_HEADERS=1 -I. -pthread -I/usr/include/PCSC -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -c ../debug.c -o libifd_remsim_client_la-debug.o >/dev/null 2>&1 [ 603s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I../../include -I/../../include -I../../src -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -pthread -I/usr/include/PCSC -I/usr/include/libusb-1.0 -I/usr/include/ -I../../include/osmocom/rspro -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -no-undefined -Wl,-z,relro -Wl,-z,now -o libifd_remsim_client.la -rpath /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux libifd_remsim_client_la-user_ifdhandler.lo libifd_remsim_client_la-remsim_client.lo libifd_remsim_client_la-main_fsm.lo libifd_remsim_client_la-rspro_client_fsm.lo libifd_remsim_client_la-debug.lo -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis ../../src/libosmo-rspro.la [ 604s] libtool: link: gcc -shared -fPIC -DPIC .libs/libifd_remsim_client_la-user_ifdhandler.o .libs/libifd_remsim_client_la-remsim_client.o .libs/libifd_remsim_client_la-main_fsm.o .libs/libifd_remsim_client_la-rspro_client_fsm.o .libs/libifd_remsim_client_la-debug.o -Wl,-rpath -Wl,/usr/src/packages/BUILD/src/.libs -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so ../../src/.libs/libosmo-rspro.so -pthread -pthread -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libifd_remsim_client.so.0 -o .libs/libifd_remsim_client.so.0.0.0 [ 604s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so.0" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so.0") [ 604s] libtool: link: (cd ".libs" && rm -f "libifd_remsim_client.so" && ln -s "libifd_remsim_client.so.0.0.0" "libifd_remsim_client.so") [ 604s] libtool: link: ar cr .libs/libifd_remsim_client.a libifd_remsim_client_la-user_ifdhandler.o libifd_remsim_client_la-remsim_client.o libifd_remsim_client_la-main_fsm.o libifd_remsim_client_la-rspro_client_fsm.o libifd_remsim_client_la-debug.o [ 604s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 604s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 604s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 604s] make[4]: *** [Makefile:601: libifd_remsim_client.la] Error 1 [ 604s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/client' [ 604s] make[3]: *** [Makefile:543: all-recursive] Error 1 [ 604s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 604s] make[2]: *** [Makefile:483: all-recursive] Error 1 [ 604s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 604s] make[1]: *** [Makefile:407: all] Error 2 [ 604s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 604s] dh_auto_build: error: make -j1 returned exit code 2 [ 604s] make: *** [debian/rules:14: build] Error 25 [ 604s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 604s] ### VM INTERACTION START ### [ 605s] Powering off. [ 605s] [ 573.326240] reboot: Power down [ 605s] ### VM INTERACTION END ### [ 605s] [ 605s] cloud127 failed "build osmo-remsim_0.2.2.101.3f65.dsc" at Sat Aug 29 07:52:30 UTC 2020. [ 605s] -- 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 Aug 29 07:53:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:53:59 +0000 Subject: Change in osmo-bsc[master]: Allow storing IPv6 address strings in BSSAP structs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19882 ) Change subject: Allow storing IPv6 address strings in BSSAP structs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I95601f24e3c658aab328e1c55dc514f553c297b8 Gerrit-Change-Number: 19882 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:53:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:54:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:02 +0000 Subject: Change in osmo-bsc[master]: Allow storing IPv6 address strings in BSSAP structs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19882 ) Change subject: Allow storing IPv6 address strings in BSSAP structs ...................................................................... Allow storing IPv6 address strings in BSSAP structs Related: SYS#4915 Change-Id: I95601f24e3c658aab328e1c55dc514f553c297b8 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1a4a1c4..120c4a4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -117,7 +117,7 @@ uint16_t msc_assigned_cic; - char msc_rtp_addr[INET_ADDRSTRLEN]; + char msc_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_rtp_port; bool use_osmux; uint8_t osmux_cid; @@ -192,7 +192,7 @@ struct gsm0808_cell_id cell_id_target; char cell_id_target_name[64]; uint16_t msc_assigned_cic; - char msc_assigned_rtp_addr[INET_ADDRSTRLEN]; + char msc_assigned_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_assigned_rtp_port; }; @@ -277,7 +277,7 @@ uint16_t msc_assigned_cic; /* RTP address where the MSC expects us to send the RTP stream coming from the BTS. */ - char msc_assigned_rtp_addr[INET_ADDRSTRLEN]; + char msc_assigned_rtp_addr[INET6_ADDRSTRLEN]; uint16_t msc_assigned_rtp_port; /* The endpoint at the MGW used to join both BTS and MSC side connections, e.g. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I95601f24e3c658aab328e1c55dc514f553c297b8 Gerrit-Change-Number: 19882 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:54:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:13 +0000 Subject: Change in libosmo-sccp[master]: vty: log and return warning if adding ss7 host to set fails In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 ) Change subject: vty: log and return warning if adding ss7 host to set fails ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib86ef3c3db6096a1e38690b9e598a58387e6b38e Gerrit-Change-Number: 19878 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:54:13 +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 Aug 29 07:53:53 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 07:53:53 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5f4a09ab3dfa5_6a032aad0a3625f4984350@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 213s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 213s] /bin/sed: can't read /usr/lib/x86_64-linux-gnu/libosmo-e1d.la: No such file or directory [ 213s] libtool: error: '/usr/lib/x86_64-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 213s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed [ 213s] make[5]: *** [libosmo-gsup-client.la] Error 1 [ 213s] make[5]: Leaving directory '/usr/src/packages/BUILD/src/gsupclient' [ 213s] Makefile:656: recipe for target 'all-recursive' failed [ 213s] make[4]: *** [all-recursive] Error 1 [ 213s] make[4]: Leaving directory '/usr/src/packages/BUILD/src' [ 213s] Makefile:479: recipe for target 'all' failed [ 213s] make[3]: *** [all] Error 2 [ 213s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 213s] Makefile:487: recipe for target 'all-recursive' failed [ 213s] make[2]: *** [all-recursive] Error 1 [ 213s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 213s] Makefile:409: recipe for target 'all' failed [ 213s] make[1]: *** [all] Error 2 [ 213s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 213s] dh_auto_build: make -j1 returned exit code 2 [ 213s] debian/rules:7: recipe for target 'build' failed [ 213s] make: *** [build] Error 2 [ 213s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 213s] ### VM INTERACTION START ### [ 216s] [ 207.752168] sysrq: Power Off [ 216s] [ 207.754116] reboot: Power down [ 216s] ### VM INTERACTION END ### [ 216s] [ 216s] wildcard2 failed "build osmo-hlr_1.2.0.58.ed18.dsc" at Sat Aug 29 07:53:42 UTC 2020. [ 216s] -- 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 Aug 29 07:54:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:24 +0000 Subject: Change in libosmo-sccp[master]: Revert "Revert "Introduce SS7 IPv6 support"" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 ) Change subject: Revert "Revert "Introduce SS7 IPv6 support"" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8b66dd97f47f1b2b72c101b9ce4444e75eb744c0 Gerrit-Change-Number: 19879 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:54: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 Aug 29 07:54:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:35 +0000 Subject: Change in libosmo-sccp[master]: Fix change in ss7 server default listen addr, keeps backward-compatib... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 ) Change subject: Fix change in ss7 server default listen addr, keeps backward-compatibility behavior ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4718267df2390f70cec519042dc12bac0cd2876 Gerrit-Change-Number: 19880 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:54: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 Aug 29 07:54:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:40 +0000 Subject: Change in libosmo-sccp[master]: vty: log and return warning if adding ss7 host to set fails In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 ) Change subject: vty: log and return warning if adding ss7 host to set fails ...................................................................... vty: log and return warning if adding ss7 host to set fails Change-Id: Ib86ef3c3db6096a1e38690b9e598a58387e6b38e --- M src/osmo_ss7_vty.c 1 file changed, 8 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 9c31c00..686105e 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -628,7 +628,10 @@ "Local IP Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]); + if (osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]) != 0) { + vty_out(vty, "%% Failed adding host '%s' to set%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } @@ -638,7 +641,10 @@ "Remote IP Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]); + if (osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]) != 0) { + vty_out(vty, "%% Failed adding host '%s' to set%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ib86ef3c3db6096a1e38690b9e598a58387e6b38e Gerrit-Change-Number: 19878 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:54:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:40 +0000 Subject: Change in libosmo-sccp[master]: Revert "Revert "Introduce SS7 IPv6 support"" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 ) Change subject: Revert "Revert "Introduce SS7 IPv6 support"" ...................................................................... Revert "Revert "Introduce SS7 IPv6 support"" Actual fix for the issue is applied in next commit. This reverts commit ee8128929755d88ace4e1e566448a14a970b1b40. Change-Id: I8b66dd97f47f1b2b72c101b9ce4444e75eb744c0 --- M doc/examples/osmo-stp-multihome.cfg M doc/manuals/vty/osmo-stp_vty_reference.xml M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty M tests/vty/vty_test_runner.py 5 files changed, 38 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index 5b0c84f..64874da 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -20,3 +20,4 @@ accept-asp-connections dynamic-permitted local-ip 127.0.0.2 local-ip 127.0.0.1 + local-ip ::1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index e904469..ff8103a 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -1741,16 +1741,18 @@ - + - + + - + - + + @@ -1787,10 +1789,11 @@ config-cs7-listen - + - + + diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 686105e..4591156 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -470,9 +470,10 @@ } DEFUN(xua_local_ip, xua_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Configure the Local IP Address for xUA\n" - "IP Address to use for XUA\n") + "IPv4 Address to use for XUA\n" + "IPv6 Address to use for XUA\n") { struct osmo_xua_server *xs = vty->index; @@ -623,9 +624,10 @@ } DEFUN(asp_local_ip, asp_local_ip_cmd, - "local-ip A.B.C.D", + "local-ip " VTY_IPV46_CMD, "Specify Local IP Address from which to contact ASP\n" - "Local IP Address from which to contact of ASP\n") + "Local IPv4 Address from which to contact of ASP\n" + "Local IPv6 Address from which to contact of ASP\n") { struct osmo_ss7_asp *asp = vty->index; if (osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]) != 0) { @@ -636,9 +638,10 @@ } DEFUN(asp_remote_ip, asp_remote_ip_cmd, - "remote-ip A.B.C.D", + "remote-ip " VTY_IPV46_CMD, "Specify Remote IP Address of ASP\n" - "Remote IP Address of ASP\n") + "Remote IPv4 Address of ASP\n" + "Remote IPv6 Address of ASP\n") { struct osmo_ss7_asp *asp = vty->index; if (osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]) != 0) { @@ -1812,10 +1815,10 @@ asp = vty->index; /* If no local addr was set */ if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL); + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); /* If no remote addr was set */ if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 7411b1f..ee1b3e5 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -215,8 +215,8 @@ ss7_asp_vty_test(config-cs7-asp)# list ... description .TEXT - remote-ip A.B.C.D - local-ip A.B.C.D + remote-ip (A.B.C.D|X:X::X:X) + local-ip (A.B.C.D|X:X::X:X) qos-class <0-255> role (sg|asp|ipsp) sctp-role (client|server) diff --git a/tests/vty/vty_test_runner.py b/tests/vty/vty_test_runner.py index 605bc93..dff26c3 100755 --- a/tests/vty/vty_test_runner.py +++ b/tests/vty/vty_test_runner.py @@ -111,7 +111,9 @@ # first check if STP is listening in required addresses: found = False for i in range(5): - if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2'], 2905): + if self.check_sctp_sock_local(['127.0.0.1', '127.0.0.2', + '0000:0000:0000:0000:0000:0000:0000:0001'], + 2905): found = True break else: @@ -122,6 +124,7 @@ proto = socket.IPPROTO_SCTP except AttributeError: # it seems to be not defined under python2? proto = 132 + # IPv4: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, proto) s.bind(('127.0.0.3', 0)) try: @@ -129,7 +132,17 @@ except socket.error as msg: s.close() self.assertTrue(False) - print("Connected to STP through SCTP") + print("Connected to STP through SCTP (IPv4)") + s.close() + # IPv6: + s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, proto) + s.bind(('::1', 0)) + try: + s.connect(('::1',2905)) + except socket.error as msg: + s.close() + self.assertTrue(False) + print("Connected to STP through SCTP (IPv6)") s.close() if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I8b66dd97f47f1b2b72c101b9ce4444e75eb744c0 Gerrit-Change-Number: 19879 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:54:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:54:42 +0000 Subject: Change in libosmo-sccp[master]: Fix change in ss7 server default listen addr, keeps backward-compatib... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 ) Change subject: Fix change in ss7 server default listen addr, keeps backward-compatibility behavior ...................................................................... Fix change in ss7 server default listen addr, keeps backward-compatibility behavior Previous commit changed the default bind/listen address of the server from NULL (0.0.0.0) to 127.0.0.1, hence breaking some setups where no "local-ip" was defined and hence from then on were only listening on localhost by default. Let's instead bind to "::" if IPv6 is available, which covers any IPv6 and/or IPv4 address. If not available, keep binding to 0.0.0.0. Similarly, if IPv6 is available set default remote to both ::1 and 127.0.0.1 to allow it working against processes listening on IPv4 or IPv6 addresses. Change-Id: Id4718267df2390f70cec519042dc12bac0cd2876 --- M src/osmo_ss7_vty.c 1 file changed, 39 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 4591156..3035844 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -1801,6 +1802,32 @@ osmo_sccp_vty_write_cs7_node(vty, " ", inst->sccp); } +static bool ipv6_sctp_supported(const char *host, bool bind) +{ + int rc; + struct addrinfo hints; + struct addrinfo *result; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET6; + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_NUMERICHOST; + hints.ai_protocol = 0; /* Any protocol */ + + if (bind) /* For wildcard IP address */ + hints.ai_flags |= AI_PASSIVE; + + /* man getaddrinfo: Either node or service, but not both, may be NULL. */ + OSMO_ASSERT(host); + rc = getaddrinfo(host, NULL, &hints, &result); + if (rc != 0) { + LOGP(DLSS7, LOGL_NOTICE, "Default IPv6 address %s not supported: %s\n", + host, gai_strerror(rc)); + return false; + } else { + freeaddrinfo(result); + return true; + } +} int osmo_ss7_vty_go_parent(struct vty *vty) { @@ -1814,11 +1841,19 @@ case L_CS7_ASP_NODE: asp = vty->index; /* If no local addr was set */ - if (!asp->cfg.local.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "localhost"); + if (!asp->cfg.local.host_cnt) { + /* "::" Covers both IPv4 and IPv6 */ + if (ipv6_sctp_supported("::", true)) + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "::"); + else + osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, "0.0.0.0"); + } /* If no remote addr was set */ - if (!asp->cfg.remote.host_cnt) - osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "localhost"); + if (!asp->cfg.remote.host_cnt) { + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1"); + if (ipv6_sctp_supported("::1", false)) + osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "::1"); + } osmo_ss7_asp_restart(asp); vty->node = L_CS7_NODE; vty->index = asp->inst; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id4718267df2390f70cec519042dc12bac0cd2876 Gerrit-Change-Number: 19880 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:55:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:55:26 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 Aug 2020 07:55: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 Sat Aug 29 07:55:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:55:35 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 29 Aug 2020 07:55: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 Aug 29 07:55:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:55:38 +0000 Subject: Change in libosmo-sccp[master]: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_ho... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 ) Change subject: Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() ...................................................................... Validate correctly against IPv6 addresses in osmo_ss7_asp_peer_set_hosts() Until now, host list validation was only taking into account a set of ipv4-only addresses. As a set can contain now IPv4 and Ipv6 addresses at the same time, we need to do ANYADDAR validation against addresses of that specific version inside the set. Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 --- M src/osmo_ss7.c 1 file changed, 21 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index bae9904..b58de34 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -1137,6 +1138,16 @@ return 0; } +/* Is string formatted IPv4/v6 addr considered IN(6)ADDR_ANY? */ +static inline bool host_is_ip_anyaddr(const char *host, bool is_v6) +{ + /* NULL addr is resolved as 0.0.0.0 (IPv4) by getaddrinfo(), most + * probably for backward-compatibility reasons. + */ + return is_v6 ? (host && !strcmp(host, "::")) + : (!host || !strcmp(host, "0.0.0.0")); +} + /*! \brief Append (copy) address to a given ASP peer. Previous addresses are kept. * \param[in] peer Application Server Process peer the address is appened to. * \param[in] talloc_ctx talloc context used to allocate new address. @@ -1146,28 +1157,28 @@ { int i; - bool new_is_any = !host || !strcmp(host, "0.0.0.0"); - bool iter_is_any; + bool new_is_v6 = osmo_ip_str_type(host) == AF_INET6; + bool new_is_any = host_is_ip_anyaddr(host, new_is_v6); + bool iter_is_v6; if (peer->host_cnt >= ARRAY_SIZE(peer->host)) return -EINVAL; - /* Makes no sense to have INET_ANY many times, or INET_ANY together with - specific addresses: */ + /* Makes no sense to have INET(6)_ANY many times, or INET(6)_ANY + together with specific addresses, be it of same or different + IP version:*/ if (new_is_any && peer->host_cnt != 0) return -EINVAL; - /* Makes no sense to add specific address to set if INET_ANY is - already set: */ if (!new_is_any) { + /* Makes no sense to add specific address to set if INET(6)_ANY + is already set, be it from same or different IP version: */ for (i = 0; i < peer->host_cnt; i++) { - iter_is_any = !peer->host[i] || - !strcmp(peer->host[i], "0.0.0.0"); - if (iter_is_any) + iter_is_v6 = osmo_ip_str_type(peer->host[i]) == AF_INET6; + if (host_is_ip_anyaddr(peer->host[i], iter_is_v6)) return -EINVAL; } } - osmo_talloc_replace_string(talloc_ctx, &peer->host[peer->host_cnt], host); peer->host_cnt++; return 0; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I18f3cc59149d478259d7afc456bdc5213c1406e5 Gerrit-Change-Number: 19851 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:55:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:55:38 +0000 Subject: Change in libosmo-sccp[master]: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 ) Change subject: Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr ...................................................................... Fix matching IPv6 anyaddr :: in osmo_ss7_asp_find_by_socket_addr Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 --- M src/osmo_ss7.c 1 file changed, 19 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index b58de34..7639c41 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1241,6 +1241,7 @@ socklen_t sa_len_r = sizeof(sa_r); char hostbuf_l[64], hostbuf_r[64]; uint16_t local_port, remote_port; + bool loc_is_v6, rem_is_v6; int rc; int i; @@ -1272,6 +1273,8 @@ */ chop_v4_mapped_on_v6_prefix(hostbuf_l); chop_v4_mapped_on_v6_prefix(hostbuf_r); + loc_is_v6 = osmo_ip_str_type(hostbuf_l) == AF_INET6; + rem_is_v6 = osmo_ip_str_type(hostbuf_r) == AF_INET6; /* check all instances for any ASP definition matching the * address combination of local/remote ip/port */ @@ -1284,8 +1287,14 @@ continue; for (i = 0; i < asp->cfg.local.host_cnt; i++) { - bool is_any = !asp->cfg.local.host[i] || !strcmp(asp->cfg.local.host[i], "0.0.0.0"); - if (is_any || !strcmp(asp->cfg.local.host[i], hostbuf_l)) + bool iter_is_v6 = osmo_ip_str_type(asp->cfg.local.host[i]) == AF_INET6; + bool iter_is_anyaddr = host_is_ip_anyaddr(asp->cfg.local.host[i], iter_is_v6); + /* "::" (v6) covers "0.0.0.0" (v4), but not otherwise */ + if (iter_is_v6 != loc_is_v6 && + !(iter_is_v6 && iter_is_anyaddr)) + continue; + if (iter_is_anyaddr || + !strcmp(asp->cfg.local.host[i], hostbuf_l)) break; } if (i == asp->cfg.local.host_cnt) @@ -1294,7 +1303,14 @@ /* If no remote host was set, it's probably a server and hence we match any cli src */ if (asp->cfg.remote.host_cnt) { for (i = 0; i < asp->cfg.remote.host_cnt; i++) { - if (!asp->cfg.remote.host[i] || !strcmp(asp->cfg.remote.host[i], hostbuf_r)) + bool iter_is_v6 = osmo_ip_str_type(asp->cfg.remote.host[i]) == AF_INET6; + bool iter_is_anyaddr = host_is_ip_anyaddr(asp->cfg.remote.host[i], iter_is_v6); + /* "::" (v6) covers "0.0.0.0" (v4), but not otherwise */ + if (iter_is_v6 != rem_is_v6 && + !(iter_is_v6 && iter_is_anyaddr)) + continue; + if (iter_is_anyaddr || + !strcmp(asp->cfg.remote.host[i], hostbuf_r)) break; } if (i == asp->cfg.remote.host_cnt) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/19852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I36dd8f1978e3b7b785660745378c9cf77a21a566 Gerrit-Change-Number: 19852 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Aug 29 07:56:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:56:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 29 Aug 2020 07:56: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 Aug 29 07:56:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:56:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 ) Change subject: pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE ...................................................................... pcu: Test Downlink UNIT_DATA messages from SGSN containing IMSI IE osmo-pcu.git 0052051c07af63da98137c9f8e3b3119642eb587 introduced a bug (fixed in 1d68cdff928f32941aff36c70e4543203c283d15) where no MS could GMM attach to the network, but no test showed the issue. This couple test verifies both correct behavior and also ensures wrong IMSI is detected and reported. Related: OS#4729 Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 116 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index a518268..3aeba8f 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1077,7 +1077,7 @@ template PDU_BSSGP ts_BSSGP_STATUS(template BssgpBvci bvci, template BssgpCause cause, PDU_BSSGP pdu) := { pDU_BSSGP_STATUS := { - bssgpPduType := '0A'O, + bssgpPduType := '41'O, cause := t_BSSGP_CAUSE(cause), bVCI := t_BSSGP_BVCI(bvci), pDU_in_Error := { @@ -1091,6 +1091,23 @@ } } + template PDU_BSSGP tr_BSSGP_STATUS(template BVCI bvci := ?, template BssgpCause cause := ?, + template octetstring pdu := ?) := { + pDU_BSSGP_STATUS := { + bssgpPduType := '41'O, + cause := t_BSSGP_CAUSE(cause), + bVCI := bvci, + pDU_in_Error := { + iEI := '15'O, + ext := '1'B, + lengthIndicator := { + length1 := ? + }, + erroneous_BSSGP_PDU := pdu + } + } + } + private function f_presence_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { if (istemplatekind(mscap_gprs, "omit")) { return '0'B; @@ -1202,7 +1219,9 @@ } } - template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { + template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, + template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit, + template (omit) IMSI_BSSGP imsi := omit) := { pDU_BSSGP_DL_UNITDATA := { bssgpPduType := '00'O, tLLI_current := tlli, @@ -1211,7 +1230,7 @@ mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap), priority := omit, dRX_Parameters := omit, - iMSI := omit, + iMSI := imsi, tLLI_old := omit, pFI := omit, lSA_Information := omit, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3c8be30..9bcf9c6 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1831,6 +1831,98 @@ f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); } +/* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ +testcase TC_bssgp_dl_unitdata_with_valid_imsi() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn; + 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 */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Fake GMM GPRS Attach or similar, PCU doesn't care about upper layers here */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, imsi := ts_BSSGP_IMSI(ms.imsi))); + 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, data, 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 osmo-pcu acts on incorrect IMSI IE content in DL UNIT_DATA from SGSN. See OS#4729 */ +testcase TC_bssgp_dl_unitdata_with_invalid_imsi() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data := f_rnd_octstring(10); + var uint32_t sched_fn; + 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 */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); + + /* Fake GMM GPRS Attach or similar, PCU doesn't care about upper layers here */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data with an invalid IMSI */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, imsi := ts_BSSGP_IMSI('1122'H))); + + BSSGP_SIG[0].receive(tr_BSSGP_STATUS(omit, BSSGP_CAUSE_CONDITIONAL_IE_ERROR, ?)); + + /* TODO: make sure no data is sent over PCU -> MS */ + + f_shutdown(__BFILE__, __LINE__, final := true); +} + private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, template GsmRrMessage t_imm_ass := ?, PCUIF_BurstType bt := BURST_TYPE_1) @@ -2359,6 +2451,8 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + execute( TC_bssgp_dl_unitdata_with_valid_imsi() ); + execute( TC_bssgp_dl_unitdata_with_invalid_imsi() ); /* EGPRS specific test cases */ execute( TC_egprs_pkt_chan_req_signalling() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54 Gerrit-Change-Number: 19854 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Aug 29 07:57:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:57:59 +0000 Subject: Change in osmo-bsc[master]: CBSP: rewrite the CBSP link setup and 'cbc' VTY section In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19864 ) Change subject: CBSP: rewrite the CBSP link setup and 'cbc' VTY section ...................................................................... CBSP: rewrite the CBSP link setup and 'cbc' VTY section Firstly, make CBSP server and client mutually exclusive: Do not allow osmo-bsc to be configured as CBC client *and* CBC server at the same time. cbsp_link.c expects at most one CBSP link to be established, and, upon sending CBSP messages, probes whether to send the message to a CBSP server or client link. When both listen-port and remote-ip are configured (regardless of an actual CBSP connection), osmo-bsc gets confused about where to send CBSP messages. One solution would be more accurate probing for an actual established TCP connection. But the simpler and less confusing solution is to force the user to configure only server or only client mode, never both. Introduce 'cbc' / 'mode (server|client|disabled)'. Secondly, clarify the 'cbc' config structure into distinct 'server' and 'client' subnodes. Refactor the 'cbc' VTY node in such a way that the IP addresses for server and client mode can remain configured when the CBSP link is switched between server/client/disabled modes. To implement the above, switch the struct bsc_cbc_link to use osmo_sockaddr_str for address configuration. Related: OS#4702 Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: I9e9760121265b3661f1c179610e975cf7a0873f1 (docker-playground) Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 --- M include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c A tests/cbc.vty 5 files changed, 358 insertions(+), 110 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index 22a258d..c7002f6 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -27,21 +28,25 @@ uint8_t slot_count); void bts_cbch_timer_schedule(struct gsm_bts *bts); +enum bsc_cbc_link_mode { + BSC_CBC_LINK_MODE_DISABLED = 0, + BSC_CBC_LINK_MODE_SERVER, + BSC_CBC_LINK_MODE_CLIENT, +}; + +extern const struct value_string bsc_cbc_link_mode_names[]; +static inline const char *bsc_cbc_link_mode_name(enum bsc_cbc_link_mode val) +{ return get_value_string(bsc_cbc_link_mode_names, val); } + +extern const struct osmo_sockaddr_str bsc_cbc_default_server_local_addr; + /* cbsp_link.c */ struct bsc_cbc_link { struct gsm_network *net; - struct { - /* hostname/IP of CBC */ - char *cbc_hostname; - /* TCP port (Default: 48049) of CBC */ - int cbc_port; - /* local listening port (0 for disabling local server) */ - int listen_port; - /* local listening hostname/IP */ - char *listen_hostname; - } config; + enum bsc_cbc_link_mode mode; /* for handling inbound TCP connections */ struct { + struct osmo_sockaddr_str local_addr; struct osmo_stream_srv *srv; struct osmo_stream_srv_link *link; char *sock_name; @@ -49,6 +54,7 @@ } server; /* for handling outbound TCP connections */ struct { + struct osmo_sockaddr_str remote_addr; struct osmo_stream_cli *cli; char *sock_name; struct msgb *msg; diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 10ce16b..ba44f5e 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -25,6 +25,8 @@ OM2K_CON_GROUP_NODE, BSC_NODE, CBC_NODE, + CBC_SERVER_NODE, + CBC_CLIENT_NODE, }; struct log_info; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 22eba50..e722199 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -129,11 +129,11 @@ osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); net->cbc->net = net; - /* no cbc_hostname: client not started by default */ - net->cbc->config.cbc_port = CBSP_TCP_PORT; - /* listen_port == -1: server not started by default */ - net->cbc->config.listen_port = -1; - net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); + net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; + net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; + /* For CBSP client mode: default remote CBSP server port is CBSP_TCP_PORT == 48049. Leave the IP address unset. + * Also leave the local bind for the CBSP client disabled (unconfigured). */ + net->cbc->client.remote_addr = (struct osmo_sockaddr_str){ .port = CBSP_TCP_PORT, }; return net; diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index d93bd1a..d587675 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -35,6 +35,19 @@ * TCP port, we expect the CBC to connect to us. If neither of the two is configured, * CBSP is effectively disabled */ +const struct value_string bsc_cbc_link_mode_names[] = { + { BSC_CBC_LINK_MODE_DISABLED, "disabled" }, + { BSC_CBC_LINK_MODE_SERVER, "server" }, + { BSC_CBC_LINK_MODE_CLIENT, "client" }, + {} +}; + +const struct osmo_sockaddr_str bsc_cbc_default_server_local_addr = { + .af = AF_INET, + .ip = "127.0.0.1", + .port = CBSP_TCP_PORT, +}; + /********************************************************************************* * CBSP Server (inbound TCP connection from CBC) *********************************************************************************/ @@ -195,7 +208,7 @@ struct bsc_cbc_link *cbc = bsc_gsmnet->cbc; /* shut down client, if no longer configured */ - if (cbc->client.cli && !cbc->config.cbc_hostname) { + if (cbc->client.cli && cbc->mode != BSC_CBC_LINK_MODE_CLIENT) { LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP client\n"); osmo_stream_cli_close(cbc->client.cli); osmo_stream_cli_destroy(cbc->client.cli); @@ -203,7 +216,7 @@ } /* shut down server, if no longer configured */ - if (cbc->config.listen_port == -1) { + if (cbc->mode != BSC_CBC_LINK_MODE_SERVER) { if (cbc->server.srv || cbc->server.link) LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP server\n"); if (cbc->server.srv) { @@ -217,10 +230,16 @@ } } - /* start client, if configured */ - if (cbc->config.cbc_hostname) { - LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at %s:%u)\n", - cbc->config.cbc_hostname, cbc->config.cbc_port); + switch (cbc->mode) { + case BSC_CBC_LINK_MODE_CLIENT: + if (!osmo_sockaddr_str_is_nonzero(&cbc->client.remote_addr)) { + LOGP(DCBS, LOGL_ERROR, + "Cannot start CBSP in client mode: invalid remote-ip or -port in 'cbc' / 'client')\n"); + return -1; + } + + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr)); if (!cbc->client.cli) { cbc->client.cli = osmo_stream_cli_create(cbc); osmo_stream_cli_set_data(cbc->client.cli, cbc); @@ -229,32 +248,44 @@ osmo_stream_cli_set_read_cb(cbc->client.cli, cbsp_client_read_cb); } /* CBC side */ - osmo_stream_cli_set_addr(cbc->client.cli, cbc->config.cbc_hostname); - osmo_stream_cli_set_port(cbc->client.cli, cbc->config.cbc_port); + osmo_stream_cli_set_addr(cbc->client.cli, cbc->client.remote_addr.ip); + osmo_stream_cli_set_port(cbc->client.cli, cbc->client.remote_addr.port); /* Close/Reconnect? */ - osmo_stream_cli_open(cbc->client.cli); - } + if (osmo_stream_cli_open(cbc->client.cli) < 0) { + LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP client link to " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr)); + return -1; + } + return 0; - /* start server, if configured */ - if (cbc->config.listen_port != -1) { - LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (bound to %s:%u)\n", - cbc->config.listen_hostname, cbc->config.listen_port); + case BSC_CBC_LINK_MODE_SERVER: + if (!osmo_sockaddr_str_is_set(&cbc->server.local_addr)) { + LOGP(DCBS, LOGL_ERROR, + "Cannot start CBSP in server mode: invalid local-ip or -port in 'cbc' / 'server')\n"); + return -1; + } + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (listening at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr)); if (!cbc->server.link) { LOGP(DCBS, LOGL_NOTICE, "Creating CBSP Server\n"); cbc->server.link = osmo_stream_srv_link_create(cbc); osmo_stream_srv_link_set_data(cbc->server.link, cbc); osmo_stream_srv_link_set_accept_cb(cbc->server.link, cbsp_srv_link_accept_cb); - osmo_stream_srv_link_set_addr(cbc->server.link, cbc->config.listen_hostname); - osmo_stream_srv_link_set_port(cbc->server.link, cbc->config.listen_port); + osmo_stream_srv_link_set_addr(cbc->server.link, cbc->server.local_addr.ip); + osmo_stream_srv_link_set_port(cbc->server.link, cbc->server.local_addr.port); if (osmo_stream_srv_link_open(cbc->server.link) < 0) { - LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP Server link on %s:%u\n", - cbc->config.listen_hostname, cbc->config.listen_port); + LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP Server link at " OSMO_SOCKADDR_STR_FMT ")\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr)); + return -1; } } + return 0; + + default: + return 0; } - return 0; } /*! Encode + Transmit a 'decoded' CBSP message over given CBC link @@ -301,60 +332,71 @@ return CMD_SUCCESS; } -DEFUN(cfg_cbc_remote_ip, cfg_cbc_remote_ip_cmd, - "remote-ip A.B.C.D", - "IP Address of the Cell Broadcast Centre\n" - "IP Address of the Cell Broadcast Centre\n") +DEFUN(cfg_cbc_mode, cfg_cbc_mode_cmd, + "mode (server|client|disabled)", + "Set OsmoBSC as CBSP server or client\n" + "CBSP Server: listen for inbound TCP connections from a remote Cell Broadcast Centre\n" + "CBSP Client: establish outbound TCP connection to a remote Cell Broadcast Centre\n" + "Disable CBSP link\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); - return CMD_SUCCESS; -} -DEFUN(cfg_cbc_no_remote_ip, cfg_cbc_no_remote_ip_cmd, - "no remote-ip", - NO_STR "Remove IP address of CBC; disables outbound CBSP connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - talloc_free(cbc->config.cbc_hostname); - cbc->config.cbc_hostname = NULL; + cbc->mode = get_string_value(bsc_cbc_link_mode_names, argv[0]); + OSMO_ASSERT(cbc->mode >= 0); + bsc_cbc_link_restart(); return CMD_SUCCESS; } -DEFUN(cfg_cbc_remote_port, cfg_cbc_remote_port_cmd, +DEFUN(cfg_cbc_server, cfg_cbc_server_cmd, + "server", "Configure OsmoBSC's CBSP server role\n") +{ + vty->node = CBC_SERVER_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_server_local_ip, cfg_cbc_server_local_ip_cmd, + "local-ip " VTY_IPV46_CMD, + "Set IP Address to listen on for inbound CBSP from a Cell Broadcast Centre\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->server.local_addr, argv[0], cbc->server.local_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_server_local_port, cfg_cbc_server_local_port_cmd, + "local-port <1-65535>", + "Set TCP port to listen on for inbound CBSP from a Cell Broadcast Centre\n" + "CBSP port number (Default: " OSMO_STRINGIFY_VAL(CBSP_TCP_PORT) ")\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->server.local_addr.port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client, cfg_cbc_client_cmd, + "client", "Configure OsmoBSC's CBSP client role\n") +{ + vty->node = CBC_CLIENT_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_remote_ip, cfg_cbc_client_remote_ip_cmd, + "remote-ip " VTY_IPV46_CMD, + "Set IP Address of the Cell Broadcast Centre, to establish CBSP link to\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->client.remote_addr, argv[0], cbc->client.remote_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_remote_port, cfg_cbc_client_remote_port_cmd, "remote-port <1-65535>", - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n" - "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n") + "Set TCP port of the Cell Broadcast Centre, to establish CBSP link to\n" + "CBSP port number (Default: " OSMO_STRINGIFY_VAL(CBSP_TCP_PORT) ")\n") { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.cbc_port = atoi(argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_cbc_listen_port, cfg_cbc_listen_port_cmd, - "listen-port <1-65535>", - "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n" - "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.listen_port = atoi(argv[0]); - return CMD_SUCCESS; -} -DEFUN(cfg_cbc_no_listen_port, cfg_cbc_no_listen_port_cmd, - "no listen-port", - NO_STR "Remove CBSP Listen Port; disables inbound CBSP connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - cbc->config.listen_port = -1; - return CMD_SUCCESS; -} - -DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, - "listen-ip A.B.C.D", - "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n" - "Local IP Address where BSC listens for incoming CBC connections\n") -{ - struct bsc_cbc_link *cbc = vty_cbc_data(vty); - osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); + cbc->client.remote_addr.port = atoi(argv[0]); return CMD_SUCCESS; } @@ -364,23 +406,56 @@ 1, }; +static struct cmd_node cbc_server_node = { + CBC_SERVER_NODE, + "%s(config-cbc-server)# ", + 1, +}; + +static struct cmd_node cbc_client_node = { + CBC_CLIENT_NODE, + "%s(config-cbc-client)# ", + 1, +}; + static int config_write_cbc(struct vty *vty) { struct bsc_cbc_link *cbc = vty_cbc_data(vty); + bool default_server_local; + bool default_client_remote; + + default_server_local = !osmo_sockaddr_str_cmp(&cbc->server.local_addr, + &bsc_cbc_default_server_local_addr); + default_client_remote = !osmo_sockaddr_str_is_set(&cbc->client.remote_addr); + + /* If all reflects default values, skip the 'cbc' section */ + if (cbc->mode == BSC_CBC_LINK_MODE_DISABLED + && default_server_local + && default_client_remote) + return 0; + vty_out(vty, "cbc%s", VTY_NEWLINE); + vty_out(vty, " mode %s%s", bsc_cbc_link_mode_name(cbc->mode), VTY_NEWLINE); - if (cbc->config.cbc_hostname) { - vty_out(vty, " remote-ip %s%s", cbc->config.cbc_hostname, VTY_NEWLINE); - vty_out(vty, " remote-port %u%s", cbc->config.cbc_port, VTY_NEWLINE); - } else - vty_out(vty, " no remote-ip%s", VTY_NEWLINE); + if (!default_server_local) { + vty_out(vty, " server%s", VTY_NEWLINE); - if (cbc->config.listen_port >= 0) { - vty_out(vty, " listen-port %u%s", cbc->config.listen_port, VTY_NEWLINE); - vty_out(vty, " listen-ip %s%s", cbc->config.listen_hostname, VTY_NEWLINE); - } else - vty_out(vty, " no listen-port%s", VTY_NEWLINE); + if (strcmp(cbc->server.local_addr.ip, bsc_cbc_default_server_local_addr.ip)) + vty_out(vty, " local-ip %s%s", cbc->server.local_addr.ip, VTY_NEWLINE); + if (cbc->server.local_addr.port != bsc_cbc_default_server_local_addr.port) + vty_out(vty, " local-port %u%s", cbc->server.local_addr.port, VTY_NEWLINE); + } + + if (!default_client_remote) { + vty_out(vty, " client%s", VTY_NEWLINE); + + if (osmo_sockaddr_str_is_set(&cbc->client.remote_addr)) { + vty_out(vty, " remote-ip %s%s", cbc->client.remote_addr.ip, VTY_NEWLINE); + if (cbc->client.remote_addr.port != CBSP_TCP_PORT) + vty_out(vty, " remote-port %u%s", cbc->client.remote_addr.port, VTY_NEWLINE); + } + } return 0; } @@ -391,34 +466,43 @@ { struct bsc_cbc_link *cbc = vty_cbc_data(vty); - if (!cbc->config.cbc_hostname) - vty_out(vty, "CBSP Client Config: Disabled%s", VTY_NEWLINE); - else { - vty_out(vty, "CBSP Client Config: CBC IP=%s, CBC Port=%u%s", - cbc->config.cbc_hostname, cbc->config.cbc_port, VTY_NEWLINE); - vty_out(vty, "CBSP Client Connection: %s%s", - cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); - } - if (cbc->config.listen_port < 0) - vty_out(vty, "CBSP Server Config: Disabled%s\n", VTY_NEWLINE); - else { - vty_out(vty, "CBSP Server Config: Listen IP=%s, Port=%u%s\n", - cbc->config.listen_hostname, cbc->config.listen_port, VTY_NEWLINE); + switch (cbc->mode) { + case BSC_CBC_LINK_MODE_DISABLED: + vty_out(vty, "CBSP link is disabled%s", VTY_NEWLINE); + break; + + case BSC_CBC_LINK_MODE_SERVER: + vty_out(vty, "OsmoBSC is configured as CBSP Server on " OSMO_SOCKADDR_STR_FMT "%s", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->server.local_addr), VTY_NEWLINE); vty_out(vty, "CBSP Server Connection: %s%s", cbc->server.sock_name ? cbc->server.sock_name : "Disconnected", VTY_NEWLINE); + break; + + case BSC_CBC_LINK_MODE_CLIENT: + vty_out(vty, "OsmoBSC is configured as CBSP Client to remote CBC at " OSMO_SOCKADDR_STR_FMT "%s", + OSMO_SOCKADDR_STR_FMT_ARGS(&cbc->client.remote_addr), VTY_NEWLINE); + vty_out(vty, "CBSP Client Connection: %s%s", + cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); + break; } return CMD_SUCCESS; } void cbc_vty_init(void) { - install_element(VIEW_NODE, &show_cbc_cmd); + install_element_ve(&show_cbc_cmd); + install_element(CONFIG_NODE, &cfg_cbc_cmd); install_node(&cbc_node, config_write_cbc); - install_element(CBC_NODE, &cfg_cbc_remote_ip_cmd); - install_element(CBC_NODE, &cfg_cbc_no_remote_ip_cmd); - install_element(CBC_NODE, &cfg_cbc_remote_port_cmd); - install_element(CBC_NODE, &cfg_cbc_listen_port_cmd); - install_element(CBC_NODE, &cfg_cbc_no_listen_port_cmd); - install_element(CBC_NODE, &cfg_cbc_listen_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_mode_cmd); + + install_element(CBC_NODE, &cfg_cbc_server_cmd); + install_node(&cbc_server_node, NULL); + install_element(CBC_SERVER_NODE, &cfg_cbc_server_local_ip_cmd); + install_element(CBC_SERVER_NODE, &cfg_cbc_server_local_port_cmd); + + install_element(CBC_NODE, &cfg_cbc_client_cmd); + install_node(&cbc_client_node, NULL); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_port_cmd); } diff --git a/tests/cbc.vty b/tests/cbc.vty new file mode 100644 index 0000000..2cad609 --- /dev/null +++ b/tests/cbc.vty @@ -0,0 +1,156 @@ +OsmoBSC> ### CBSP link config + +OsmoBSC> list +... + show cbc +... + +OsmoBSC> enable +OsmoBSC# list +... + show cbc +... + +OsmoBSC# show running-config +... !cbc + +OsmoBSC# show cbc +CBSP link is disabled + +OsmoBSC# configure terminal +OsmoBSC(config)# cbc + +OsmoBSC(config-cbc)# list +... + mode (server|client|disabled) + server + client + +OsmoBSC(config-cbc)# ? +... + mode Set OsmoBSC as CBSP server or client + server Configure OsmoBSC's CBSP server role + client Configure OsmoBSC's CBSP client role + +OsmoBSC(config-cbc)# mode ? + server CBSP Server: listen for inbound TCP connections from a remote Cell Broadcast Centre + client CBSP Client: establish outbound TCP connection to a remote Cell Broadcast Centre + disabled Disable CBSP link + +OsmoBSC(config-cbc)# server +OsmoBSC(config-cbc-server)# list +... + local-ip (A.B.C.D|X:X::X:X) + local-port <1-65535> + +OsmoBSC(config-cbc-server)# ? +... + local-ip Set IP Address to listen on for inbound CBSP from a Cell Broadcast Centre + local-port Set TCP port to listen on for inbound CBSP from a Cell Broadcast Centre + +OsmoBSC(config-cbc-server)# local-ip ? + A.B.C.D IPv4 address + X:X::X:X IPv6 address +OsmoBSC(config-cbc-server)# local-port ? + <1-65535> CBSP port number (Default: 48049) + +OsmoBSC(config-cbc-server)# local-ip 1.2.3.4 +OsmoBSC(config-cbc-server)# local-port 12345 +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip 1.2.3.4 + local-port 12345 +... + +OsmoBSC(config-cbc-server)# local-port 48049 + +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip 1.2.3.4 +... !local-port + +OsmoBSC(config-cbc-server)# local-ip ::1 +OsmoBSC(config-cbc-server)# show running-config +... +cbc + mode disabled + server + local-ip ::1 +... + +OsmoBSC(config-cbc-server)# do show cbc +CBSP link is disabled + +OsmoBSC(config-cbc-server)# exit + +OsmoBSC(config-cbc)# client +OsmoBSC(config-cbc-client)# list +... + remote-ip (A.B.C.D|X:X::X:X) + remote-port <1-65535> + +OsmoBSC(config-cbc-client)# ? +... + remote-ip Set IP Address of the Cell Broadcast Centre, to establish CBSP link to + remote-port Set TCP port of the Cell Broadcast Centre, to establish CBSP link to + +OsmoBSC(config-cbc-client)# remote-ip ? + A.B.C.D IPv4 address + X:X::X:X IPv6 address +OsmoBSC(config-cbc-client)# remote-port ? + <1-65535> CBSP port number (Default: 48049) + +OsmoBSC(config-cbc-client)# remote-ip 1.2.3.4 +OsmoBSC(config-cbc-client)# remote-port 12345 +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1.2.3.4 + remote-port 12345 +... + +OsmoBSC(config-cbc-client)# remote-port 48049 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1.2.3.4 +... !remote-port + +OsmoBSC(config-cbc-client)# remote-ip 1:2:3:4::5 +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 +... + +OsmoBSC(config-cbc-client)# do show cbc +CBSP link is disabled + +OsmoBSC(config-cbc-client)# exit + +OsmoBSC(config-cbc)# mode server +OsmoBSC(config-cbc)# do show cbc +OsmoBSC is configured as CBSP Server on [::1]:48049 +CBSP Server Connection: Disconnected + +OsmoBSC(config-cbc)# mode client +OsmoBSC(config-cbc)# do show cbc +OsmoBSC is configured as CBSP Client to remote CBC at [1:2:3:4::5]:48049 +CBSP Client Connection: Disconnected + +OsmoBSC(config-cbc)# mode disabled +OsmoBSC(config-cbc)# do show cbc +CBSP link is disabled -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icaa2775cc20a99227dabe38a775ff808b374cf98 Gerrit-Change-Number: 19864 Gerrit-PatchSet: 3 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 Aug 29 07:57:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:57:59 +0000 Subject: Change in osmo-bsc[master]: CBSP: add local bind to client mode In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19865 ) Change subject: CBSP: add local bind to client mode ...................................................................... CBSP: add local bind to client mode Add the ability to set a local bind address for the CBSP client mode. Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 --- M include/osmocom/bsc/smscb.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/cbsp_link.c M tests/cbc.vty 4 files changed, 113 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h index c7002f6..f48c1a1 100644 --- a/include/osmocom/bsc/smscb.h +++ b/include/osmocom/bsc/smscb.h @@ -55,6 +55,7 @@ /* for handling outbound TCP connections */ struct { struct osmo_sockaddr_str remote_addr; + struct osmo_sockaddr_str local_addr; struct osmo_stream_cli *cli; char *sock_name; struct msgb *msg; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index e722199..1460af4 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -134,6 +134,7 @@ /* For CBSP client mode: default remote CBSP server port is CBSP_TCP_PORT == 48049. Leave the IP address unset. * Also leave the local bind for the CBSP client disabled (unconfigured). */ net->cbc->client.remote_addr = (struct osmo_sockaddr_str){ .port = CBSP_TCP_PORT, }; + net->cbc->client.local_addr = (struct osmo_sockaddr_str){}; return net; diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index d587675..e5e72de 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -250,6 +250,11 @@ /* CBC side */ osmo_stream_cli_set_addr(cbc->client.cli, cbc->client.remote_addr.ip); osmo_stream_cli_set_port(cbc->client.cli, cbc->client.remote_addr.port); + /* local side */ + if (osmo_sockaddr_str_is_set(&cbc->client.local_addr)) { + osmo_stream_cli_set_local_addr(cbc->client.cli, cbc->client.local_addr.ip); + osmo_stream_cli_set_local_port(cbc->client.cli, cbc->client.local_addr.port); + } /* Close/Reconnect? */ if (osmo_stream_cli_open(cbc->client.cli) < 0) { LOGP(DCBS, LOGL_ERROR, "Cannot open CBSP client link to " OSMO_SOCKADDR_STR_FMT "\n", @@ -400,6 +405,44 @@ return CMD_SUCCESS; } +DEFUN(cfg_cbc_client_local_ip, cfg_cbc_client_local_ip_cmd, + "local-ip " VTY_IPV46_CMD, + "Set local bind address for the outbound CBSP link to the Cell Broadcast Centre\n" + "IPv4 address\n" "IPv6 address\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_sockaddr_str_from_str(&cbc->client.local_addr, argv[0], cbc->client.local_addr.port); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_local_port, cfg_cbc_client_local_port_cmd, + "local-port <1-65535>", + "Set local bind port for the outbound CBSP link to the Cell Broadcast Centre\n" + "port number\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr.port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_no_local_ip, cfg_cbc_client_no_local_ip_cmd, + "no local-ip", + NO_STR "Remove local IP address bind config for the CBSP client mode\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr = (struct osmo_sockaddr_str){ .port = cbc->client.local_addr.port }; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_client_no_local_port, cfg_cbc_client_no_local_port_cmd, + "no local-port", + NO_STR "Remove local TCP port bind config for the CBSP client mode\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->client.local_addr.port = 0; + return CMD_SUCCESS; +} + static struct cmd_node cbc_node = { CBC_NODE, "%s(config-cbc)# ", @@ -424,15 +467,17 @@ bool default_server_local; bool default_client_remote; + bool default_client_local; default_server_local = !osmo_sockaddr_str_cmp(&cbc->server.local_addr, &bsc_cbc_default_server_local_addr); default_client_remote = !osmo_sockaddr_str_is_set(&cbc->client.remote_addr); + default_client_local = !osmo_sockaddr_str_is_set(&cbc->client.local_addr); /* If all reflects default values, skip the 'cbc' section */ if (cbc->mode == BSC_CBC_LINK_MODE_DISABLED && default_server_local - && default_client_remote) + && default_client_remote && default_client_local) return 0; vty_out(vty, "cbc%s", VTY_NEWLINE); @@ -447,7 +492,7 @@ vty_out(vty, " local-port %u%s", cbc->server.local_addr.port, VTY_NEWLINE); } - if (!default_client_remote) { + if (!(default_client_remote && default_client_local)) { vty_out(vty, " client%s", VTY_NEWLINE); if (osmo_sockaddr_str_is_set(&cbc->client.remote_addr)) { @@ -455,6 +500,11 @@ if (cbc->client.remote_addr.port != CBSP_TCP_PORT) vty_out(vty, " remote-port %u%s", cbc->client.remote_addr.port, VTY_NEWLINE); } + + if (cbc->client.local_addr.ip[0]) + vty_out(vty, " local-ip %s%s", cbc->client.local_addr.ip, VTY_NEWLINE); + if (cbc->client.local_addr.port) + vty_out(vty, " local-port %u%s", cbc->client.local_addr.port, VTY_NEWLINE); } return 0; @@ -505,4 +555,8 @@ install_node(&cbc_client_node, NULL); install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_ip_cmd); install_element(CBC_CLIENT_NODE, &cfg_cbc_client_remote_port_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_local_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_local_port_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_no_local_ip_cmd); + install_element(CBC_CLIENT_NODE, &cfg_cbc_client_no_local_port_cmd); } diff --git a/tests/cbc.vty b/tests/cbc.vty index 2cad609..7a4031f 100644 --- a/tests/cbc.vty +++ b/tests/cbc.vty @@ -94,11 +94,18 @@ ... remote-ip (A.B.C.D|X:X::X:X) remote-port <1-65535> + local-ip (A.B.C.D|X:X::X:X) + local-port <1-65535> + no local-ip + no local-port OsmoBSC(config-cbc-client)# ? ... remote-ip Set IP Address of the Cell Broadcast Centre, to establish CBSP link to remote-port Set TCP port of the Cell Broadcast Centre, to establish CBSP link to + local-ip Set local bind address for the outbound CBSP link to the Cell Broadcast Centre + local-port Set local bind port for the outbound CBSP link to the Cell Broadcast Centre + no Negate a command or set its defaults OsmoBSC(config-cbc-client)# remote-ip ? A.B.C.D IPv4 address @@ -106,6 +113,10 @@ OsmoBSC(config-cbc-client)# remote-port ? <1-65535> CBSP port number (Default: 48049) +OsmoBSC(config-cbc-client)# no ? + local-ip Remove local IP address bind config for the CBSP client mode + local-port Remove local TCP port bind config for the CBSP client mode + OsmoBSC(config-cbc-client)# remote-ip 1.2.3.4 OsmoBSC(config-cbc-client)# remote-port 12345 OsmoBSC(config-cbc-client)# show running-config @@ -136,6 +147,50 @@ remote-ip 1:2:3:4::5 ... +OsmoBSC(config-cbc-client)# local-ip 1.2.3.4 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-ip 1.2.3.4 +... !local-port + +OsmoBSC(config-cbc-client)# local-port 12345 + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-ip 1.2.3.4 + local-port 12345 +... + +OsmoBSC(config-cbc-client)# no local-ip + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 + local-port 12345 +... !local + +OsmoBSC(config-cbc-client)# no local-port + +OsmoBSC(config-cbc-client)# show running-config +... +cbc +... + client + remote-ip 1:2:3:4::5 +... !local + OsmoBSC(config-cbc-client)# do show cbc CBSP link is disabled -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56a420d204a9a487b27dd460f4cc52e0b4093d69 Gerrit-Change-Number: 19865 Gerrit-PatchSet: 3 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 Aug 29 07:58:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:58:22 +0000 Subject: Change in docker-playground[master]: bsc CBSP: apply new cbc config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19866 ) Change subject: bsc CBSP: apply new cbc config ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 Gerrit-Change-Number: 19866 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 07:58:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:58:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:58:25 +0000 Subject: Change in docker-playground[master]: bsc CBSP: apply new cbc config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19866 ) Change subject: bsc CBSP: apply new cbc config ...................................................................... bsc CBSP: apply new cbc config Adjust osmo-bsc.cfg to work with osmo-bsc Icaa2775cc20a99227dabe38a775ff808b374cf98 and osmo-ttcn3-hacks I7eea0dd39de50ed80af79e0f10c836b8685d8644. Related: Icaa2775cc20a99227dabe38a775ff808b374cf98 (osmo-bsc) Related: I7eea0dd39de50ed80af79e0f10c836b8685d8644 (osmo-ttcn3-hacks) Related: OS#4702 Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 --- M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg 2 files changed, 7 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index bce5941..879c95a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -428,7 +428,10 @@ ctrl bind 0.0.0.0 cbc - remote-ip 172.18.2.203 - remote-port 48049 - listen-ip 172.18.2.20 - listen-port 48050 + mode disabled + client + remote-ip 172.18.2.203 + remote-port 48049 + server + local-ip 172.18.2.20 + local-port 48050 diff --git a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg index 2ced140..a68e9d7 100644 --- a/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg +++ b/ttcn3-bsc-test/pre-mscpool-osmo-bsc.cfg @@ -393,8 +393,3 @@ no missing-msc-text ctrl bind 0.0.0.0 -cbc - remote-ip 172.18.2.203 - remote-port 48049 - listen-ip 172.18.2.20 - listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I9e9760121265b3661f1c179610e975cf7a0873f1 Gerrit-Change-Number: 19866 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 07:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:58:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 ) Change subject: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 29 Aug 2020 07:58: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 Aug 29 07:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 07:58:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client ... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 ) Change subject: BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes ...................................................................... BSC CBSP: apply changes to 'cbc' vty section, switch server<->client modes With Icaa2775cc20a99227dabe38a775ff808b374cf98, osmo-bsc no longer allows configuring CBSP as both server and client at the same time, and the 'cbc' VTY section has a different structure. Adjust the 'cbc' section in osmo-bsc.cfg. For each CBSP test init, switch osmo-bsc's CBSP link to server or client mode by new vty command 'cbc' / 'mode (server|client|disabled)'. Related: Icaa2775cc20a99227dabe38a775ff808b374cf98 (osmo-bsc) Related: I9e9760121265b3661f1c179610e975cf7a0873f1 (docker-playground) Related: OS#4702 Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 --- M bsc/BSC_Tests_CBSP.ttcn M bsc/osmo-bsc.cfg 2 files changed, 23 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 498f484..3dd6f02 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -37,6 +37,9 @@ import from CBSP_Adapter all; import from CBSP_CodecPort all; +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + modulepar { charstring mp_cbc_ip := "0.0.0.0"; integer mp_cbc_port := 48049; @@ -102,6 +105,14 @@ } } +private function f_vty_set_cbsp_mode(TELNETasp_PT pt, charstring mode) { + f_vty_enter_config(pt); + f_vty_transceive(pt, "cbc"); + f_vty_transceive(pt, "mode " & mode); + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); +} + private function f_init(float guard_timeout := 30.0) runs on cbsp_test_CT { BSC_Tests.f_init(guard_timeout := guard_timeout); activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, @@ -111,9 +122,9 @@ } private function f_cbsp_init_client() runs on cbsp_test_CT { f_init(); + f_vty_set_cbsp_mode(BSCVTY, "server"); CBSP_Adapter.f_connect(mp_bsc_ip, mp_bsc_cbsp_port, "", -1); - /* FIXME: osmo-bsc should probably still send a CBSP RESTART, but to get the current tests running, let's first - * ignore this aspect */ + CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_CBS, ?))); setverdict(pass); } @@ -122,6 +133,9 @@ timer T := 10.0; f_init(guard_timeout := guard_timeout); + + f_vty_set_cbsp_mode(BSCVTY, "client"); + CBSP_Adapter.f_bind(mp_cbc_ip, mp_cbc_port); T.start; diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index f8be2cd..8dd6655 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -424,6 +424,10 @@ ctrl bind 127.0.0.1 cbc - remote-ip 127.0.0.1 - remote-port 48049 - listen-port 48050 + mode disabled + client + remote-ip 127.0.0.1 + remote-port 48049 + server + local-ip 127.0.0.1 + local-port 48050 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7eea0dd39de50ed80af79e0f10c836b8685d8644 Gerrit-Change-Number: 19831 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder 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 Aug 29 08:06:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 08:06:13 +0000 Subject: Change in libosmo-abis[master]: Revert "debian: Build libosmo-abis with osmo-e1d support" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19889 ) Change subject: Revert "debian: Build libosmo-abis with osmo-e1d support" ...................................................................... Revert "debian: Build libosmo-abis with osmo-e1d support" This reverts commit f62da4798c271ff56a8f2a2aebefdf5281231dde. It introduced lots of fall-uot in osmo-remsim, smo-hlr, simtrace2 OBS builds: [ 432s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 432s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 432s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 327s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 327s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 327s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 327s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed Change-Id: I63596664ae709e0059312c65b79d4bd8e53d56e2 --- M debian/control M debian/rules 2 files changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/89/19889/1 diff --git a/debian/control b/debian/control index 842207c..c304139 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,6 @@ libdpkg-perl, git, libosmocore-dev (>= 1.4.0), - libosmo-e1d-dev, pkg-config, libortp-dev Standards-Version: 3.9.7 diff --git a/debian/rules b/debian/rules index b229005..f59ca1e 100755 --- a/debian/rules +++ b/debian/rules @@ -11,12 +11,6 @@ %: dh $@ --with autoreconf --fail-missing -# debmake generated override targets -# Set options for ./configure -CONFIGURE_FLAGS += --enable-e1d -override_dh_auto_configure: - dh_auto_configure -- $(CONFIGURE_FLAGS) - override_dh_strip: dh_strip --dbg-package=libosmo-abis-dbg -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I63596664ae709e0059312c65b79d4bd8e53d56e2 Gerrit-Change-Number: 19889 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 Aug 29 08:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 08:06:38 +0000 Subject: Change in libosmo-abis[master]: Revert "debian: Build libosmo-abis with osmo-e1d support" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19889 ) Change subject: Revert "debian: Build libosmo-abis with osmo-e1d support" ...................................................................... Revert "debian: Build libosmo-abis with osmo-e1d support" This reverts commit f62da4798c271ff56a8f2a2aebefdf5281231dde. It introduced lots of fall-uot in osmo-remsim, smo-hlr, simtrace2 OBS builds: [ 432s] libtool: link: ranlib .libs/libifd_remsim_client.a [ 432s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 432s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 327s] libtool: link: ranlib .libs/libosmo-gsup-client.a [ 327s] /bin/sed: can't read /usr/lib/i386-linux-gnu/libosmo-e1d.la: No such file or directory [ 327s] libtool: error: '/usr/lib/i386-linux-gnu/libosmo-e1d.la' is not a valid libtool archive [ 327s] Makefile:456: recipe for target 'libosmo-gsup-client.la' failed Change-Id: I63596664ae709e0059312c65b79d4bd8e53d56e2 --- M debian/control M debian/rules 2 files changed, 0 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/debian/control b/debian/control index 842207c..c304139 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,6 @@ libdpkg-perl, git, libosmocore-dev (>= 1.4.0), - libosmo-e1d-dev, pkg-config, libortp-dev Standards-Version: 3.9.7 diff --git a/debian/rules b/debian/rules index b229005..f59ca1e 100755 --- a/debian/rules +++ b/debian/rules @@ -11,12 +11,6 @@ %: dh $@ --with autoreconf --fail-missing -# debmake generated override targets -# Set options for ./configure -CONFIGURE_FLAGS += --enable-e1d -override_dh_auto_configure: - dh_auto_configure -- $(CONFIGURE_FLAGS) - override_dh_strip: dh_strip --dbg-package=libosmo-abis-dbg -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I63596664ae709e0059312c65b79d4bd8e53d56e2 Gerrit-Change-Number: 19889 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 29 08:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 08:06:35 +0000 Subject: Change in libosmo-abis[master]: Revert "debian: Build libosmo-abis with osmo-e1d support" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/19889 ) Change subject: Revert "debian: Build libosmo-abis with osmo-e1d support" ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/19889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I63596664ae709e0059312c65b79d4bd8e53d56e2 Gerrit-Change-Number: 19889 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 29 Aug 2020 08:06: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 Aug 29 09:41:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 29 Aug 2020 09:41:36 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19890 ) Change subject: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() ...................................................................... abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() Currently osmo-bsc encodes the IAR Rest Octets as follows: IAR Rest Octets 0... .... = Extended RA: Not Present .0.. .... = Extended RA: Not Present ..1. .... = Extended RA: Present ...0 1011 = Extended_RA: 11 0... .... = Extended RA: Not Present .L.. .... = Additions in Rel-13: Not Present Padding Bits: default padding This is not really critical, but still may look confusing as this is only relevant for the PS domain (11-bit RA), while osmo-bsc is responding to a CHANNEL REQUEST in the CS domain. Change-Id: I30a43efc70345a4bb0571127c239a24422b7fd2c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/19890/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 6787511..d3f7de2 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1305,7 +1305,15 @@ /* we need to subtract 1 byte from sizeof(*iar) since ia includes the l2_plen field */ iar->l2_plen = GSM48_LEN2PLEN((sizeof(*iar)-1)); - return rsl_imm_assign_cmd(bts, sizeof(*iar), (uint8_t *) iar); + /* IAR Rest Octets: + * 0... .... = Extended RA: Not Present + * .0.. .... = Extended RA: Not Present + * ..0. .... = Extended RA: Not Present + * ...0 .... = Extended RA: Not Present + * .... L... = Additions in Rel-13: Not Present */ + iar->rest[0] = GSM_MACBLOCK_PADDING & 0x0f; + + return rsl_imm_assign_cmd(bts, sizeof(*iar) + 1, buf); } int rsl_tx_imm_ass_rej(struct gsm_bts *bts, struct gsm48_req_ref *rqd_ref) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I30a43efc70345a4bb0571127c239a24422b7fd2c Gerrit-Change-Number: 19890 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 Aug 29 09:52:16 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 29 Aug 2020 09:52:16 +0000 Subject: Change in osmo-msc[master]: vty: allow configuring db path from cfg file In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/19875 ) Change subject: vty: allow configuring db path from cfg file ...................................................................... Patch Set 4: > (2 comments) So, both of these issues you point to come from following https://gerrit.osmocom.org/plugins/gitiles/osmo-hlr/+/5857c595b3288906665cbc3e1e0576f50e90634d I'm never sure how much effort to spend on trying to (collectively) polish something to absolute perfection, and to have some kind of (collective) consistency. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I18d954c30fcceb0b36a620b927fd3a93dcc79f49 Gerrit-Change-Number: 19875 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 29 Aug 2020 09:52: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 Sat Aug 29 09:56:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 09:56:43 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19890 ) Change subject: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I30a43efc70345a4bb0571127c239a24422b7fd2c Gerrit-Change-Number: 19890 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 29 Aug 2020 09:56: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 Sat Aug 29 09:56:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 29 Aug 2020 09:56:45 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19890 ) Change subject: abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() ...................................................................... abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() Currently osmo-bsc encodes the IAR Rest Octets as follows: IAR Rest Octets 0... .... = Extended RA: Not Present .0.. .... = Extended RA: Not Present ..1. .... = Extended RA: Present ...0 1011 = Extended_RA: 11 0... .... = Extended RA: Not Present .L.. .... = Additions in Rel-13: Not Present Padding Bits: default padding This is not really critical, but still may look confusing as this is only relevant for the PS domain (11-bit RA), while osmo-bsc is responding to a CHANNEL REQUEST in the CS domain. Change-Id: I30a43efc70345a4bb0571127c239a24422b7fd2c --- M src/osmo-bsc/abis_rsl.c 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 6787511..d3f7de2 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1305,7 +1305,15 @@ /* we need to subtract 1 byte from sizeof(*iar) since ia includes the l2_plen field */ iar->l2_plen = GSM48_LEN2PLEN((sizeof(*iar)-1)); - return rsl_imm_assign_cmd(bts, sizeof(*iar), (uint8_t *) iar); + /* IAR Rest Octets: + * 0... .... = Extended RA: Not Present + * .0.. .... = Extended RA: Not Present + * ..0. .... = Extended RA: Not Present + * ...0 .... = Extended RA: Not Present + * .... L... = Additions in Rel-13: Not Present */ + iar->rest[0] = GSM_MACBLOCK_PADDING & 0x0f; + + return rsl_imm_assign_cmd(bts, sizeof(*iar) + 1, buf); } int rsl_tx_imm_ass_rej(struct gsm_bts *bts, struct gsm48_req_ref *rqd_ref) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I30a43efc70345a4bb0571127c239a24422b7fd2c Gerrit-Change-Number: 19890 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 Sat Aug 29 10:11:22 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Aug 2020 10:11:22 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f4a29e3c21d3_6a032aad0a3625f4103578a@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: [ 185s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 186s] [COMPILING libboard/qmod/source/card_pres.c] [ 186s] [COMPILING libboard/qmod/source/wwan_led.c] [ 186s] [COMPILING libboard/qmod/source/i2c.c] [ 186s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16588 B 16 KB 101.25% [ 187s] 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' [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 187s] collect2: error: ld returned 1 exit status [ 187s] % [ 187s] make[2]: *** [Makefile:234: 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] [ 181.032551] sysrq: Power Off [ 190s] [ 181.035505] reboot: Power down [ 190s] ### VM INTERACTION END ### [ 190s] [ 190s] build71 failed "build simtrace2_0.7.0.63.39070.dsc" at Sat Aug 29 10:11:18 UTC 2020. [ 190s] -- 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 Aug 29 18:23:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 29 Aug 2020 18:23:37 +0000 Subject: Change in osmo-bsc[master]: vty: add a command to clear hopping ARFCN list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19891 ) Change subject: vty: add a command to clear hopping ARFCN list ...................................................................... vty: add a command to clear hopping ARFCN list Change-Id: I05b0adc407a2808e5fdfac1cf9cd4dba67daa0f0 Related: SYS#4868, OS#4545 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/19891/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index fc7dd16..56d52f9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -4667,6 +4667,19 @@ return CMD_SUCCESS; } +DEFUN(cfg_ts_arfcn_del_all, + cfg_ts_arfcn_del_all_cmd, + "hopping arfcn del-all", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete all previously configured entries\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + bitvec_zero(&ts->hopping.arfcns); + + return CMD_SUCCESS; +} + DEFUN(cfg_ts_e1_subslot, cfg_ts_e1_subslot_cmd, "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", @@ -6561,6 +6574,7 @@ install_element(TS_NODE, &cfg_ts_maio_cmd); install_element(TS_NODE, &cfg_ts_arfcn_add_cmd); install_element(TS_NODE, &cfg_ts_arfcn_del_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_del_all_cmd); install_element(TS_NODE, &cfg_ts_e1_subslot_cmd); install_element(ENABLE_NODE, &drop_bts_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I05b0adc407a2808e5fdfac1cf9cd4dba67daa0f0 Gerrit-Change-Number: 19891 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 Aug 30 00:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:35 +0000 Subject: Change in osmo-bsc[master]: cosmetic: dissolve error-goto with single source in handover_start() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19893 ) Change subject: cosmetic: dissolve error-goto with single source in handover_start() ...................................................................... cosmetic: dissolve error-goto with single source in handover_start() Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 --- M src/osmo-bsc/handover_fsm.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/19893/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 90fa20b..bb5dcb1 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -330,8 +330,10 @@ ho->target_cell = req->target_nik; if (find_handover_target_cell(&local_target_cell, &remote_target_cell, - conn, search_for, true)) - goto no_handover; + conn, search_for, true)) { + handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); + return; + } if (local_target_cell) { ho->new_bts = local_target_cell; @@ -346,9 +348,6 @@ /* should never reach this, because find_handover_target_cell() would have returned error. */ OSMO_ASSERT(false); - -no_handover: - handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); } /*! Hand over the specified logical channel to the specified new BTS and possibly change the lchan type. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 Gerrit-Change-Number: 19893 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:34 +0000 Subject: Change in osmo-bsc[master]: cosmetic: use local var in handover_start_intra_bsc() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19892 ) Change subject: cosmetic: use local var in handover_start_intra_bsc() ...................................................................... cosmetic: use local var in handover_start_intra_bsc() Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed --- M src/osmo-bsc/handover_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/19892/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 78dbd33..90fa20b 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -365,7 +365,7 @@ OSMO_ASSERT(ho->new_lchan_type != GSM_LCHAN_NONE); OSMO_ASSERT(!ho->new_lchan); - ho->scope = (ho->new_bts == conn->lchan->ts->trx->bts) ? HO_INTRA_CELL : HO_INTRA_BSC; + ho->scope = (ho->new_bts == bts) ? HO_INTRA_CELL : HO_INTRA_BSC; ho->ho_ref = g_next_ho_ref++; ho->async = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed Gerrit-Change-Number: 19892 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:36 +0000 Subject: Change in osmo-bsc[master]: ho counters: count invalid target cell as 'error', not 'no_channel' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19894 ) Change subject: ho counters: count invalid target cell as 'error', not 'no_channel' ...................................................................... ho counters: count invalid target cell as 'error', not 'no_channel' Related: OS#4736 Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb --- M src/osmo-bsc/handover_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/19894/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index bb5dcb1..4b54bb7 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -331,7 +331,7 @@ if (find_handover_target_cell(&local_target_cell, &remote_target_cell, conn, search_for, true)) { - handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); + handover_end(conn, HO_RESULT_ERROR); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb Gerrit-Change-Number: 19894 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:37 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... fix 'handover:*' counters: remove bogus increments To handle cases of unknown handover type (like failure to find the target cell), return -1 as counter code; treat -1 as skipping in ho_count_bsc() and ho_count_bts(). The handover:* counters indicate overall counts, without knowing whether inter- or intra-BSC, or whether the target ARFCN even exists. So they need to be counted separately, and must not serve as fallback category in result_counter_bsc() and result_counter_bts(). Related: OS#4736 Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a --- M src/osmo-bsc/handover_fsm.c 1 file changed, 19 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/19895/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 4b54bb7..86f17ec 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -81,23 +81,29 @@ /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * This is a macro to preserve the source file and line number in logging. */ #define ho_count_bsc(counter) do { \ - LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ - bsc_ctr_description[counter].name, \ - bsc_ctr_description[counter].description); \ - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ + /* If a handover target could not be found, the counter may be -1. */ \ + if (counter >= 0) { \ + LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ + bsc_ctr_description[counter].name, \ + bsc_ctr_description[counter].description); \ + rate_ctr_inc(&conn->network->bsc_ctrs->ctr[counter]); \ + } \ } while(0) /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * Handles bts == NULL gracefully * This is a macro to preserve the source file and line number in logging. */ #define ho_count_bts(bts, counter) do { \ - LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ - bts_ctr_description[counter].name, \ - bts_ctr_description[counter].description); \ - if (bts) \ - rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ - else \ - rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ + /* If a handover target could not be found, the counter may be -1. */ \ + if (counter >= 0) { \ + LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ + bts_ctr_description[counter].name, \ + bts_ctr_description[counter].description); \ + if (bts) \ + rate_ctr_inc(&bts->bts_ctrs->ctr[counter]); \ + else \ + rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[counter]); \ + } \ } while(0) #define ho_count(bts, counter) do { \ @@ -722,11 +728,7 @@ { switch (scope) { default: - LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", - handover_scope_name(scope)); - /* use "normal" HO counter... */ - case HO_NO_HANDOVER: - return result_counter_BSC_HANDOVER(result); + return -1; case HO_INTRA_CELL: return result_counter_BSC_INTRA_CELL_HO(result); case HO_INTRA_BSC: @@ -761,11 +763,7 @@ { switch (scope) { default: - LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", - handover_scope_name(scope)); - /* use "normal" HO counter... */ - case HO_NO_HANDOVER: - return result_counter_BTS_HANDOVER(result); + return -1; case HO_INTRA_CELL: return result_counter_BTS_INTRA_CELL_HO(result); case HO_INTRA_BSC: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:38 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: add missing / move increments References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19896 ) Change subject: fix 'handover:*' counters: add missing / move increments ...................................................................... fix 'handover:*' counters: add missing / move increments Move initial 'handover:attempted' counts from bsc_subscr_conn_fsm.c to handover_fsm.c, where all the other counters are handled. Add missing increments for the overall 'handover:*' counts. Related: OS#4736 Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 4 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/19896/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 6871c4c..281ab71 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -382,13 +382,6 @@ return; case GSCON_EV_HANDOVER_START: - bts = conn_get_bts(conn); - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); - if (bts) - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); - else - rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); - /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) LOGPFSML(fi, LOGL_ERROR, "Cannot transition to HANDOVER state, discarding\n"); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 86f17ec..8fb8443 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -329,6 +329,7 @@ * is to always create a handover_fsm instance, even if the target cell is not resolved yet. Any failure should * then call handover_end(), which ensures that the conn snaps back to a valid state. */ handover_fsm_alloc(conn); + ho_count(conn_get_bts(conn), CTR_HANDOVER_ATTEMPTED); ho->from_hodec_id = req->from_hodec_id; ho->new_lchan_type = req->new_lchan_type == GSM_LCHAN_NONE ? @@ -635,6 +636,7 @@ break; } + ho_count(ho->new_bts, CTR_HANDOVER_ATTEMPTED); ho_count(ho->new_bts, CTR_INTER_BSC_HO_IN_ATTEMPTED); if (!ho->new_bts) { @@ -917,7 +919,9 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); + ho_count_bsc(result_counter_BSC_HANDOVER(result)); ho_count_bsc(result_counter_bsc(ho->scope, result)); + ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); ho_count_bts(bts, result_counter_bts(ho->scope, result)); LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 Gerrit-Change-Number: 19896 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:38 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... fix HO inter-BSC-IN target bts for counters Related: OS#4736 Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace --- M src/osmo-bsc/handover_fsm.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/19897/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8fb8443..957d4fa 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -919,6 +919,11 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); + /* HO_INTER_BSC_IN has the source BTS on a remote BSS, so count all of those on the target BTS; also count + * errors onto the HO target BTS if no lchan was obtained. */ + if (ho->scope & HO_INTER_BSC_IN) + bts = ho->new_bts; + ho_count_bsc(result_counter_BSC_HANDOVER(result)); ho_count_bsc(result_counter_bsc(ho->scope, result)); ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:38 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure So far, during inter-BSC outgoing handover, when receiving an RR Handover Failure from the MS, it would be counted as 'error'. Instead, add the 'failed' counter like for all other HO types. It may make sense to omit the 'failed' counter for inter-BSC *incoming* handover, because then we won't receive an RR Handover Failure message. I probably got those two mixed up during initial development. Related: OS#4736 Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/handover_fsm.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/19898/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index dc51d17..5506a86 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -93,6 +93,7 @@ BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, BTS_CTR_INTER_BSC_HO_OUT_STOPPED, BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_FAILED, BTS_CTR_INTER_BSC_HO_OUT_ERROR, BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, BTS_CTR_INTER_BSC_HO_IN_COMPLETED, @@ -190,6 +191,7 @@ "Handover to remote BSS completed"}, [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BTS_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", "Handover to remote BSS failed for other reason"}, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 120c4a4..09c0214 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -987,6 +987,7 @@ BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, BSC_CTR_INTER_BSC_HO_OUT_STOPPED, BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BSC_CTR_INTER_BSC_HO_OUT_FAILED, BSC_CTR_INTER_BSC_HO_OUT_ERROR, BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, BSC_CTR_INTER_BSC_HO_IN_COMPLETED, @@ -1044,6 +1045,7 @@ "Handover to remote BSS completed"}, [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", "Handover to remote BSS failed for other reason"}, diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 957d4fa..834b8b4 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -716,6 +716,8 @@ switch (result) { case HO_RESULT_OK: return BSC_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_RR_HO_FAIL: + return BSC_CTR_INTER_BSC_HO_OUT_FAILED; case HO_RESULT_FAIL_TIMEOUT: return BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT; case HO_RESULT_CONN_RELEASE: @@ -751,6 +753,8 @@ switch (result) { case HO_RESULT_OK: return BTS_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_RR_HO_FAIL: + return BTS_CTR_INTER_BSC_HO_OUT_FAILED; case HO_RESULT_FAIL_TIMEOUT: return BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT; case HO_RESULT_CONN_RELEASE: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:39 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... bssap: do not send a Clear Request after a Clear Command During handover cleanup due to a Clear Command from the MSC, do not send another Clear Request to the MSC. Only send that when no Clear Command was received yet. Add a flag rx_clear_command per gscon instance, indicating whether a Clear Command was received, and exit early in gscon_bssmap_clear() when true. This is part of patches fixing the rate counters around handover, which uncover some bugs: - Another patch enables proper handover result handling when receiving a Clear Command. - After that, the handover_end() handling would always cause sending a Clear Request, even if a Clear Command was already received. - This patch removes the extraneous Clear Request, for this scenario and for all other corner cases that might still exist. Related: OS#4736 Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/19899/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 09c0214..ca96c56 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -303,6 +303,8 @@ /* MS Power Class, TS 05.05 sec 4.1.1 "Mobile station". 0 means unset. */ uint8_t ms_power_class:3; + + bool rx_clear_command; }; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 281ab71..e7c6efe 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -141,6 +141,11 @@ struct msgb *resp; int rc; + if (conn->rx_clear_command) { + LOGPFSML(conn->fi, LOGL_DEBUG, "Not sending BSSMAP CLEAR REQUEST, already got CLEAR COMMAND from MSC\n"); + return; + } + LOGPFSML(conn->fi, LOGL_DEBUG, "Tx BSSMAP CLEAR REQUEST(%s) to MSC\n", gsm0808_cause_name(cause)); resp = gsm0808_create_clear_rqst(cause); if (!resp) { @@ -764,6 +769,8 @@ /* Regular allstate event processing */ switch (event) { case GSCON_EV_A_CLEAR_CMD: + conn->rx_clear_command = true; + OSMO_ASSERT(data); ccd = data; if (conn->lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:39 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... handover_fsm: signal Clear from gscon, for proper HO result counts An inter-BSC-OUT handover ends with a Clear Command, which HO_OUT_ST_WAIT_CLEAR waits for. Actually tell the handover_fsm.c about an incoming Clear Command, so that the inter-BSC-OUT success can be counted. Similarly, count failing handover results for an unexpected Clear Command from the MSC. Related: OS#4736 Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/19900/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index e7c6efe..b6ea59f 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -771,6 +771,11 @@ case GSCON_EV_A_CLEAR_CMD: conn->rx_clear_command = true; + /* Give the handover_fsm a chance to book this as handover success before tearing down everything, + * making it look like a sudden death failure. */ + if (conn->ho.fi) + osmo_fsm_inst_dispatch(conn->ho.fi, HO_EV_CONN_RELEASING, NULL); + OSMO_ASSERT(data); ccd = data; if (conn->lchan) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 834b8b4..72c3c97 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -1269,6 +1269,8 @@ { struct gsm_subscriber_connection *conn = ho_fi_conn(fi); switch (event) { + /* See also ho_fsm_allstate_action() for ho_success() on HO_EV_CONN_RELEASING */ + case HO_EV_RR_HO_FAIL: ho_fail(HO_RESULT_FAIL_RR_HO_FAIL, "Received RR Handover Failure message"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:20:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:20:39 +0000 Subject: Change in osmo-bsc[master]: handover: fix detection for ambiguous HO neighbor ident References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... handover: fix detection for ambiguous HO neighbor ident Adding rate counter checks to TC_ho_neighbor_config_1 (1.c) uncovers that the test passes for the wrong reason. The ambiguous cell identification should be the cause for the handover error, but the log shows that instead a handover is attempted to BTS 3 which is not connected. find_handover_target_cell() first tries to find a precise match of values, and in a second pass applies wildcards like BSIC_ANY and NEIGHBOR_IDENT_KEY_ANY_BTS. That second pass lacks detection of ambiguous matches. Use the same code for both passes, by encapsulating in a loop of two, which first runs with exact_match == true and then false. Proper detection of the ambiguous target cell identification in TC_ho_neighbor_config_1() is shown by the resulting 'handover:error' count, see I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks). Related: OS#4736 Related: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks) Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 --- M src/osmo-bsc/handover_logic.c 1 file changed, 21 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/19901/1 diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index 071228e..ade330d 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -183,32 +183,34 @@ /* No explicit neighbor entries exist for this BTS. Hence apply the legacy default behavior that all * local cells are neighbors. */ struct gsm_bts *bts; - struct gsm_bts *wildcard_match = NULL; + int i; LOG_HO(conn, LOGL_DEBUG, "No explicit neighbors, regarding all local cells as neighbors\n"); - 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, true)) { - 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), - local_target_cell->nr, bts->nr); - return -EINVAL; + /* For i == 0, look for an exact 1:1 match of all ident_key fields. + * For i == 1, interpret wildcard values, when no exact match exists. */ + 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)) { + 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), + local_target_cell->nr, bts->nr); + return -EINVAL; + } + local_target_cell = bts; } - local_target_cell = bts; } - if (neighbor_ident_key_match(&bts_key, search_for, false)) - wildcard_match = bts; + if (local_target_cell) + break; } - if (!local_target_cell) - local_target_cell = wildcard_match; - if (!local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot Handover, no cell matches %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:22:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 ) Change subject: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() ...................................................................... comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 --- M library/Osmocom_CTRL_Functions.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/19902/1 diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 60c66c0..d26dc89 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -166,14 +166,14 @@ * * // run some tests that increment rate counters in the program, * // and increment expected counters accordingly: - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 1, "mscpool:subscr:new", 7); - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 2, "mscpool:subscr:attach_lost", 3); + * f_counter_name_vals_list_add(my_counters, instance_nr := 1, "mscpool:subscr:new", 7); + * f_counter_name_vals_list_add(my_counters, instance_nr := 2, "mscpool:subscr:attach_lost", 3); * * // verify that the program reflects the expected counters: * f_counter_name_vals_expect_n(instance_name := "msc", my_counters); * * // run some more tests... - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 0, "mscpool:subscr:known"); + * f_counter_name_vals_list_add(my_counters, instance_nr := 0, "mscpool:subscr:known"); * // and verify again * f_counter_name_vals_expect_n(instance_name := "msc", my_counters); */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 Gerrit-Change-Number: 19902 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:22:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL funcs: on rate counter mismatch, show all mismatches References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 ) Change subject: CTRL funcs: on rate counter mismatch, show all mismatches ...................................................................... CTRL funcs: on rate counter mismatch, show all mismatches When rate counters have unexpected counts, show all mismatches instead of just the first mismatch. That saves many iterations when fixing rate counter expectations. Change-Id: I70b319adcecc3ff7a85a0206b8dc2285133943c1 --- M library/Osmocom_CTRL_Functions.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/03/19903/1 diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index d26dc89..73fd05b 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -249,16 +249,23 @@ function f_counter_name_vals_expect(IPA_CTRL_PT pt, charstring instance_name, integer instance_nr, CounterNameVals vals) { var CounterNameVals now := f_counter_name_vals_get(pt, instance_name, instance_nr, vals); + var boolean all_match := true; for (var integer i := 0; i < lengthof(vals); i := i + 1) { if (now[i].name != vals[i].name) { setverdict(fail, "Internal error"); } if (now[i].val != vals[i].val) { - setverdict(fail, "Rate counter mismatch: ", instance_name, " ", instance_nr, + all_match := false; + log("Rate counter mismatch: ", instance_name, " ", instance_nr, " ", vals[i].name, " is at ", now[i].val, " but expected ", vals[i].val); } } - setverdict(pass); + + if (all_match) { + setverdict(pass); + } else { + setverdict(fail, "Rate counter mismatch, see log"); + } } /* For N instances, call f_counter_name_vals_get() and compare with expected counter values. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70b319adcecc3ff7a85a0206b8dc2285133943c1 Gerrit-Change-Number: 19903 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:22:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: verify handover rate counters References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 ) Change subject: bsc: verify handover rate counters ...................................................................... bsc: verify handover rate counters This will break the 'latest' builds for most handover tests until Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 is released. Depends: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 (osmo-bsc) Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 --- M bsc/BSC_Tests.ttcn 1 file changed, 406 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/19904/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dce9ae9..4560957 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -93,6 +93,56 @@ { "mscpool:subscr:paged", 0 } }; +/* Default list of counters for 'bsc' and 'bts' entities. */ +const CounterNameVals counternames_bsc_bts_handover := { + { "assignment:attempted", 0 }, + { "assignment:completed", 0 }, + { "assignment:stopped", 0 }, + { "assignment:no_channel", 0 }, + { "assignment:timeout", 0 }, + { "assignment:failed", 0 }, + { "assignment:error", 0 }, + + { "handover:attempted", 0 }, + { "handover:completed", 0 }, + { "handover:stopped", 0 }, + { "handover:no_channel", 0 }, + { "handover:timeout", 0 }, + { "handover:failed", 0 }, + { "handover:error", 0 }, + + { "intra_cell_ho:attempted", 0 }, + { "intra_cell_ho:completed", 0 }, + { "intra_cell_ho:stopped", 0 }, + { "intra_cell_ho:no_channel", 0 }, + { "intra_cell_ho:timeout", 0 }, + { "intra_cell_ho:failed", 0 }, + { "intra_cell_ho:error", 0 }, + + { "intra_bsc_ho:attempted", 0 }, + { "intra_bsc_ho:completed", 0 }, + { "intra_bsc_ho:stopped", 0 }, + { "intra_bsc_ho:no_channel", 0 }, + { "intra_bsc_ho:timeout", 0 }, + { "intra_bsc_ho:failed", 0 }, + { "intra_bsc_ho:error", 0 }, + + { "interbsc_ho_out:attempted", 0 }, + { "interbsc_ho_out:completed", 0 }, + { "interbsc_ho_out:stopped", 0 }, + { "interbsc_ho_out:timeout", 0 }, + { "interbsc_ho_out:failed", 0 }, + { "interbsc_ho_out:error", 0 }, + + { "interbsc_ho_in:attempted", 0 }, + { "interbsc_ho_in:completed", 0 }, + { "interbsc_ho_in:stopped", 0 }, + { "interbsc_ho_in:no_channel", 0 }, + { "interbsc_ho_in:timeout", 0 }, + { "interbsc_ho_in:failed", 0 }, + { "interbsc_ho_in:error", 0 } +}; + /* Set of all System Information received during one RSL port's startup. * Note that some System Information may be sent on RSL, but lacking actual SI data, to indicate that the BTS should not * broadcast that SI type. That will be reflected as 'omit' here. @@ -498,6 +548,8 @@ timer T_guard := 30.0; var CounterNameValsList g_ctr_msc; + var CounterNameValsList g_ctr_bsc; + var CounterNameValsList g_ctr_bts; /* System Information bytes as received during RSL startup, for each RSL[idx]. */ var SystemInformationConfig_list g_system_information := {}; @@ -611,6 +663,78 @@ f_ctrs_msc_verify(); } +/* Convenience functions for rate counters using g_ctr_bts, always also including g_ctr_bsc. */ + +private function f_ctrs_bsc_and_bts_init(integer bts_count := NUM_BTS, CounterNameVals counternames := counternames_bsc_bts_handover) runs on test_CT { + g_ctr_bts := f_counter_name_vals_get_n(IPA_CTRL, "bts", bts_count, counternames); + log("initial bts rate counters: ", g_ctr_bts); + f_ctrs_bsc_init(counternames); +} + +private function f_ctrs_bsc_and_bts_add(integer bts_nr, charstring countername, integer val := 1) runs on test_CT { + f_counter_name_vals_list_add(g_ctr_bts, bts_nr, countername, val); + f_ctrs_bsc_add(countername, val); +} + +/* f_ctrs_bsc_and_bts_init(); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_do_other(on_bts := 1); + * f_ctrs_bsc_and_bts_add(0, "thing", 2); + * f_ctrs_bsc_and_bts_add(1, "other"); + * f_ctrs_bsc_and_bts_verify(); + */ +private function f_ctrs_bsc_and_bts_verify() runs on test_CT { + f_counter_name_vals_expect_n(IPA_CTRL, "bts", g_ctr_bts); + f_ctrs_bsc_verify(); +} + +/* convenience: f_ctrs_bsc_and_bts_add() and f_ctrs_bsc_and_bts_verify() in one call. + * f_ctrs_bsc_and_bts_init(); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_ctrs_bsc_and_bts_expect(0, "thing", 3); + */ +private function f_ctrs_bsc_and_bts_expect(integer bts_nr, charstring countername, integer val := 1) runs on test_CT { + f_ctrs_bsc_and_bts_add(bts_nr, countername, val); + f_ctrs_bsc_and_bts_verify(); +} + + +/* Convenience functions for rate counters using g_ctr_bsc. */ + +private function f_ctrs_bsc_init(CounterNameVals counternames := counternames_bsc_bts_handover) runs on test_CT { + g_ctr_bsc := f_counter_name_vals_get_n(IPA_CTRL, "bsc", 1, counternames); + log("initial bsc rate counters: ", g_ctr_bsc); +} + +private function f_ctrs_bsc_add(charstring countername, integer val := 1) runs on test_CT { + f_counter_name_vals_list_add(g_ctr_bsc, 0, countername, val); +} + +/* f_ctrs_bsc_init(); + * f_do_thing(); + * f_do_thing(); + * f_do_other(); + * f_ctrs_bsc_add("thing", 2); + * f_ctrs_bsc_add("other"); + * f_ctrs_bsc_verify(); + */ +private function f_ctrs_bsc_verify() runs on test_CT { + f_counter_name_vals_expect_n(IPA_CTRL, "bsc", g_ctr_bsc); +} + +/* convenience: f_ctrs_bsc_add() and f_ctrs_bsc_verify() in one call. + * f_ctrs_bsc_init(); + * f_do_thing(); + * f_ctrs_bsc_expect("thing", 1); + */ +private function f_ctrs_bsc_expect(charstring countername, integer val := 1) runs on test_CT { + f_ctrs_bsc_add(countername, val); + f_ctrs_bsc_verify(); +} + private function f_shutdown_helper() runs on test_CT { all component.stop; @@ -4112,8 +4236,21 @@ var MSC_ConnHdlr vc_conn; f_init(2, true); f_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_int)); vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from handover */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:completed"); + f_ctrs_bsc_and_bts_verify(); } /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ @@ -4211,8 +4348,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_of_this_bsc)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC HO, but the MSC decides that it won't happen and @@ -4258,8 +4405,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_no_msc_response)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC HO, receives BSSMAP Handover Command, but MS reports @@ -4342,8 +4499,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_rr_ho_failure)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:failed"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC-out HO, receives BSSMAP Handover Command, but then no reply is received about HO outcome @@ -4429,8 +4596,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_no_result_after_ho_cmd)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr { @@ -4503,11 +4680,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_into_this_bsc), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:completed"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_in_fail_msc_clears(charstring id) runs on MSC_ConnHdlr { @@ -4576,11 +4761,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_msc_clears), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:stopped"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:stopped"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_in_fail_msc_clears_after_ho_detect(charstring id) runs on MSC_ConnHdlr { @@ -4656,11 +4849,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_msc_clears_after_ho_detect), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:stopped"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:stopped"); + f_ctrs_bsc_and_bts_verify(); } /* The new BSS's lchan times out before the MSC decides that handover failed. */ @@ -4737,11 +4938,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_no_detect), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:error"); + f_ctrs_bsc_and_bts_verify(); } /* Same as f_tc_ho_in_fail_no_detect, but MSC fails to send a Clear Command */ @@ -4808,11 +5017,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_no_detect2), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:error"); + f_ctrs_bsc_and_bts_verify(); } type record of charstring Commands; @@ -4994,6 +5211,43 @@ "handover any to arfcn 871 bsic 11", true); } +testcase TC_ho_neighbor_config_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 60.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_1)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 1.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 1.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 1.c */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 1.d */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_2(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5016,6 +5270,33 @@ "handover any to arfcn 871 bsic 12", false); } +testcase TC_ho_neighbor_config_2() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_2)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 2.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 2.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_3(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5037,6 +5318,33 @@ "handover any to arfcn 871 bsic 12", true); } +testcase TC_ho_neighbor_config_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_3)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 3.a */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 3.b */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_4(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5061,6 +5369,37 @@ "handover any to arfcn 123 bsic 45", true, true); } +testcase TC_ho_neighbor_config_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_4)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 4.a */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 4.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 4.c */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_5(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5079,6 +5418,29 @@ "handover any to arfcn 871 bsic 12", true, true); } +testcase TC_ho_neighbor_config_5() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_5)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 5 */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_6(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5098,6 +5460,27 @@ "handover any to arfcn 871 bsic 12", false); } +testcase TC_ho_neighbor_config_6() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_6)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 6.a */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_7(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5120,55 +5503,35 @@ "handover any to arfcn 123 bsic 45", true, true); } - -testcase TC_ho_neighbor_config_1() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 60.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_1)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_2() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_2)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_3() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_3)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_4() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_4)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_5() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_5)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_6() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_6)); - vc_conn.done; -} testcase TC_ho_neighbor_config_7() runs on test_CT { var MSC_ConnHdlr vc_conn; f_init(3, true, guard_timeout := 50.0); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_7)); vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 7.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 7.b */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); } /* OS#3041: Open and close N connections in a normal fashion, and expect no -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 Gerrit-Change-Number: 19904 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:27:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:27:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: verify handover rate counters In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 ) Change subject: bsc: verify handover rate counters ...................................................................... bsc: verify handover rate counters This will break the 'latest' builds for most handover tests until Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 is released. Move the TC_ho_neighbor_config_* closer to the f_tc_ho_neighbor_config_* functions, so that it is easier to read the added counters, relating to the expected handovers. Depends: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 (osmo-bsc) Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 --- M bsc/BSC_Tests.ttcn 1 file changed, 406 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/19904/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 Gerrit-Change-Number: 19904 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:35:43 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... fix HO inter-BSC-IN target bts for counters Related: OS#4736 Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace --- M src/osmo-bsc/handover_fsm.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/19897/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:35:43 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure So far, during inter-BSC outgoing handover, when receiving an RR Handover Failure from the MS, it would be counted as 'error'. Instead, add the 'failed' counter like for all other HO types. It may make sense to omit the 'failed' counter for inter-BSC *incoming* handover, because then we won't receive an RR Handover Failure message. I probably got those two mixed up during initial development. Related: OS#4736 Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/handover_fsm.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/19898/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:35:43 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... bssap: do not send a Clear Request after a Clear Command During handover cleanup due to a Clear Command from the MSC, do not send another Clear Request to the MSC. Only send that when no Clear Command was received yet. Add a flag rx_clear_command per gscon instance, indicating whether a Clear Command was received, and exit early in gscon_bssmap_clear() when true. This is part of patches fixing the rate counters around handover, which uncover some bugs: - Another patch enables proper handover result handling when receiving a Clear Command. - After that, the handover_end() handling would always cause sending a Clear Request, even if a Clear Command was already received. - This patch removes the extraneous Clear Request, for this scenario and for all other corner cases that might still exist. Related: OS#4736 Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/19899/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:35:43 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... handover_fsm: signal Clear from gscon, for proper HO result counts An inter-BSC-OUT handover ends with a Clear Command, which HO_OUT_ST_WAIT_CLEAR waits for. Actually tell the handover_fsm.c about an incoming Clear Command, so that the inter-BSC-OUT success can be counted. Similarly, count failing handover results for an unexpected Clear Command from the MSC. Related: OS#4736 Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/19900/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 00:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 00:35:43 +0000 Subject: Change in osmo-bsc[master]: handover: fix detection for ambiguous HO neighbor ident In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... handover: fix detection for ambiguous HO neighbor ident Adding rate counter checks to TC_ho_neighbor_config_1 (1.c) uncovers that the test passes for the wrong reason. The ambiguous cell identification should be the cause for the handover error, but the log shows that instead a handover is attempted to BTS 3 which is not connected. find_handover_target_cell() first tries to find a precise match of values, and in a second pass applies wildcards like BSIC_ANY and NEIGHBOR_IDENT_KEY_ANY_BTS. That second pass lacks detection of ambiguous matches. Use the same code for both passes, by encapsulating in a loop of two, which first runs with exact_match == true and then false. Proper detection of the ambiguous target cell identification in TC_ho_neighbor_config_1() is shown by the resulting 'handover:error' count, see I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks). Related: OS#4736 Related: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks) Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 --- M src/osmo-bsc/handover_logic.c 1 file changed, 21 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/19901/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Aug 30 01:37:47 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Aug 2020 01:37:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f4b030155802_6a032aad0a3625f41259594@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] [ 156s] [COMPILING libboard/qmod/source/card_pres.c] [ 156s] [COMPILING libboard/qmod/source/wwan_led.c] [ 156s] [COMPILING libboard/qmod/source/i2c.c] [ 156s] [COMPILING libboard/qmod/source/board_qmod.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] [ 157s] Memory region Used Size Region Size %age Used [ 157s] rom: 16588 B 16 KB 101.25% [ 157s] 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' [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 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] [ 152.120932] sysrq: Power Off [ 160s] [ 152.128179] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb28 failed "build simtrace2_0.7.0.63.39070.dsc" at Sun Aug 30 01:37:34 UTC 2020. [ 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 Aug 30 06:03:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 06:03:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 ) Change subject: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 Gerrit-Change-Number: 19902 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 06: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 Sun Aug 30 06:43:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 06:43:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL funcs: on rate counter mismatch, show all mismatches In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 ) Change subject: CTRL funcs: on rate counter mismatch, show all mismatches ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903/1//COMMIT_MSG at 9 PS1, Line 9: show all mismatches Doesn't VERDICTOP show all intermediate verdicts? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70b319adcecc3ff7a85a0206b8dc2285133943c1 Gerrit-Change-Number: 19903 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 06:43: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 Sun Aug 30 06:58:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 06:58:46 +0000 Subject: Change in osmo-bsc[master]: cosmetic: use local var in handover_start_intra_bsc() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19892 ) Change subject: cosmetic: use local var in handover_start_intra_bsc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed Gerrit-Change-Number: 19892 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 06: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 Sun Aug 30 06:59:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 06:59:16 +0000 Subject: Change in osmo-bsc[master]: cosmetic: dissolve error-goto with single source in handover_start() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19893 ) Change subject: cosmetic: dissolve error-goto with single source in handover_start() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 Gerrit-Change-Number: 19893 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 06:59:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 07:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:03:04 +0000 Subject: Change in osmo-bsc[master]: ho counters: count invalid target cell as 'error', not 'no_channel' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19894 ) Change subject: ho counters: count invalid target cell as 'error', not 'no_channel' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb Gerrit-Change-Number: 19894 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:03:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 07:05:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:05:31 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: add missing / move increments In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19896 ) Change subject: fix 'handover:*' counters: add missing / move increments ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 Gerrit-Change-Number: 19896 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:05: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 Aug 30 07:09:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:09:09 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19895/2/src/osmo-bsc/handover_fsm.c File src/osmo-bsc/handover_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19895/2/src/osmo-bsc/handover_fsm.c at 85 PS2, Line 85: if (counter >= 0) { Alternative approach: if (counter < 0) break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:09:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 07:11:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:11:49 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07: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 Sun Aug 30 07:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:15:37 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h at 194 PS2, Line 194: Fail Failure? Failed? https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/gsm_data.h at 1048 PS2, Line 1048: Fail Failure? Failed? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:15:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 07:51:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:51:48 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:51:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 07:54:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 07:54:00 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 07:54: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 Aug 30 10:55:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:55:03 +0000 Subject: Change in osmo-bsc[master]: cosmetic: use local var in handover_start_intra_bsc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19892 ) Change subject: cosmetic: use local var in handover_start_intra_bsc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed Gerrit-Change-Number: 19892 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:55:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:55:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:55:15 +0000 Subject: Change in osmo-bsc[master]: cosmetic: dissolve error-goto with single source in handover_start() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19893 ) Change subject: cosmetic: dissolve error-goto with single source in handover_start() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 Gerrit-Change-Number: 19893 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:55:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:55:29 +0000 Subject: Change in osmo-bsc[master]: ho counters: count invalid target cell as 'error', not 'no_channel' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19894 ) Change subject: ho counters: count invalid target cell as 'error', not 'no_channel' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb Gerrit-Change-Number: 19894 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:55:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:55:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:55:55 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: add missing / move increments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19896 ) Change subject: fix 'handover:*' counters: add missing / move increments ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 Gerrit-Change-Number: 19896 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:55: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 Aug 30 10:56:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:23 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:56: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 Sun Aug 30 10:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:27 +0000 Subject: Change in osmo-bsc[master]: cosmetic: use local var in handover_start_intra_bsc() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19892 ) Change subject: cosmetic: use local var in handover_start_intra_bsc() ...................................................................... cosmetic: use local var in handover_start_intra_bsc() Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed --- M src/osmo-bsc/handover_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 78dbd33..90fa20b 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -365,7 +365,7 @@ OSMO_ASSERT(ho->new_lchan_type != GSM_LCHAN_NONE); OSMO_ASSERT(!ho->new_lchan); - ho->scope = (ho->new_bts == conn->lchan->ts->trx->bts) ? HO_INTRA_CELL : HO_INTRA_BSC; + ho->scope = (ho->new_bts == bts) ? HO_INTRA_CELL : HO_INTRA_BSC; ho->ho_ref = g_next_ho_ref++; ho->async = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ae079a2aa9ff3980acd5a212cb287a96a1dc0ed Gerrit-Change-Number: 19892 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 Sun Aug 30 10:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:27 +0000 Subject: Change in osmo-bsc[master]: cosmetic: dissolve error-goto with single source in handover_start() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19893 ) Change subject: cosmetic: dissolve error-goto with single source in handover_start() ...................................................................... cosmetic: dissolve error-goto with single source in handover_start() Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 --- M src/osmo-bsc/handover_fsm.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 90fa20b..bb5dcb1 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -330,8 +330,10 @@ ho->target_cell = req->target_nik; if (find_handover_target_cell(&local_target_cell, &remote_target_cell, - conn, search_for, true)) - goto no_handover; + conn, search_for, true)) { + handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); + return; + } if (local_target_cell) { ho->new_bts = local_target_cell; @@ -346,9 +348,6 @@ /* should never reach this, because find_handover_target_cell() would have returned error. */ OSMO_ASSERT(false); - -no_handover: - handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); } /*! Hand over the specified logical channel to the specified new BTS and possibly change the lchan type. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9c7d10c36f3f868100c1aa2d0433ceed74161175 Gerrit-Change-Number: 19893 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 Sun Aug 30 10:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:28 +0000 Subject: Change in osmo-bsc[master]: ho counters: count invalid target cell as 'error', not 'no_channel' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19894 ) Change subject: ho counters: count invalid target cell as 'error', not 'no_channel' ...................................................................... ho counters: count invalid target cell as 'error', not 'no_channel' Related: OS#4736 Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb --- M src/osmo-bsc/handover_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index bb5dcb1..4b54bb7 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -331,7 +331,7 @@ if (find_handover_target_cell(&local_target_cell, &remote_target_cell, conn, search_for, true)) { - handover_end(conn, HO_RESULT_FAIL_NO_CHANNEL); + handover_end(conn, HO_RESULT_ERROR); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If6d6b7262536831ebb2b638efe521dd5a8153cdb Gerrit-Change-Number: 19894 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 Sun Aug 30 10:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:28 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: add missing / move increments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19896 ) Change subject: fix 'handover:*' counters: add missing / move increments ...................................................................... fix 'handover:*' counters: add missing / move increments Move initial 'handover:attempted' counts from bsc_subscr_conn_fsm.c to handover_fsm.c, where all the other counters are handled. Add missing increments for the overall 'handover:*' counts. Related: OS#4736 Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 4 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 6871c4c..281ab71 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -382,13 +382,6 @@ return; case GSCON_EV_HANDOVER_START: - bts = conn_get_bts(conn); - rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_HANDOVER_ATTEMPTED]); - if (bts) - rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); - else - rate_ctr_inc(&conn->network->bts_unknown_ctrs->ctr[BTS_CTR_HANDOVER_ATTEMPTED]); - /* Rely on handover_fsm timeout */ if (osmo_fsm_inst_state_chg(fi, ST_HANDOVER, 0, 0)) LOGPFSML(fi, LOGL_ERROR, "Cannot transition to HANDOVER state, discarding\n"); diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 4b54bb7..9ab96e3 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -323,6 +323,7 @@ * is to always create a handover_fsm instance, even if the target cell is not resolved yet. Any failure should * then call handover_end(), which ensures that the conn snaps back to a valid state. */ handover_fsm_alloc(conn); + ho_count(conn_get_bts(conn), CTR_HANDOVER_ATTEMPTED); ho->from_hodec_id = req->from_hodec_id; ho->new_lchan_type = req->new_lchan_type == GSM_LCHAN_NONE ? @@ -629,6 +630,7 @@ break; } + ho_count(ho->new_bts, CTR_HANDOVER_ATTEMPTED); ho_count(ho->new_bts, CTR_INTER_BSC_HO_IN_ATTEMPTED); if (!ho->new_bts) { @@ -919,7 +921,9 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); + ho_count_bsc(result_counter_BSC_HANDOVER(result)); ho_count_bsc(result_counter_bsc(ho->scope, result)); + ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); ho_count_bts(bts, result_counter_bts(ho->scope, result)); LOG_HO(conn, LOGL_INFO, "Result: %s\n", handover_result_name(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I783bdedafc0eb8f2df9ea100792846fecc7ccbf7 Gerrit-Change-Number: 19896 Gerrit-PatchSet: 2 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 Sun Aug 30 10:56:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:56:45 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:56:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:57:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:57:46 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:57:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:58:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:58:06 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10:58:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 10:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:58:59 +0000 Subject: Change in osmo-bsc[master]: handover: fix detection for ambiguous HO neighbor ident In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10: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 Sun Aug 30 10:59:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 10:59:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 ) Change subject: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 Gerrit-Change-Number: 19902 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 10: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 Sun Aug 30 11:00:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 11:00:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: verify handover rate counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 ) Change subject: bsc: verify handover rate counters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 Gerrit-Change-Number: 19904 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Aug 2020 11:00: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 Sun Aug 30 11:27:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 30 Aug 2020 11:27:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL funcs: on rate counter mismatch, show all mismatches In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 ) Change subject: CTRL funcs: on rate counter mismatch, show all mismatches ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903/1//COMMIT_MSG at 9 PS1, Line 9: show all mismatches > Doesn't VERDICTOP show all intermediate verdicts? i was sure that i see only the first mismatch without this patch, but i can double check ... ok, so you're right, the log file does show every individual setverdict(fail,...) message. When I use log() though, the output also ends up on the stdout of the test run, right at the bottom, so it was indeed making resolving rate counter expectations much easier. I wonder why setverdict() logs less aggressively than log(); i guess i should take another look at titan's logging configuration. in summary, we don't need to merge this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70b319adcecc3ff7a85a0206b8dc2285133943c1 Gerrit-Change-Number: 19903 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 Aug 2020 11:27:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 14:15:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 14:15:20 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 14:15:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 14:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 14:15:27 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19801 ) Change subject: ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-bsc: Enable osmo-bsc SS7 multi-homing and IPv6 features in tests Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 --- M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index e005eae..d026463 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -31,6 +31,12 @@ sed -i "s/flush-period 1//" $VOL_BASE_DIR/bsc/osmo-bsc.cfg fi +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/bsc/osmo-bsc.cfg +fi + SUBNET=2 network_create $SUBNET diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 879c95a..bacf28e 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -65,7 +65,10 @@ no e1_line 0 keepalive cs7 instance 0 asp asp-clnt-msc-0 2905 2905 m3ua + local-ip 172.18.2.20 + local-ip fd02:db8:2::20 remote-ip 172.18.2.200 + remote-ip fd02:db8:2::200 sccp-address msc2 point-code 0.0.2 sccp-address msc3 diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 0c6d3a2..764df58 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -38,7 +38,9 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-msc0-0 23905 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as mahlzeit ipa routing-key 0 0.23.4 point-code override dpc 0.23.1 @@ -48,14 +50,18 @@ asp virt-msc1-0 23906 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as virt-msc1 m3ua asp virt-msc1-0 routing-key 2 0.0.2 asp virt-msc2-0 23907 2905 m3ua local-ip 172.18.2.200 + local-ip fd02:db8:2::200 remote-ip 172.18.2.203 + remote-ip fd02:db8:2::203 as virt-msc2 m3ua asp virt-msc2-0 routing-key 3 0.0.3 @@ -66,5 +72,8 @@ update route 0.0.3 7.255.7 linkset virt-msc2 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.2.200 + local-ip fd02:db8:2::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.2.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I662ede0957a67c7a733cba8e4e65bf0c8c72b878 Gerrit-Change-Number: 19801 Gerrit-PatchSet: 4 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 Sun Aug 30 16:06:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:06:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 ) Change subject: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e Gerrit-Change-Number: 19764 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16: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 Sun Aug 30 16:06:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:06:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: Add BSSLAP_LE_{CodecPort, Emulation} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 ) Change subject: library: Add BSSLAP_LE_{CodecPort,Emulation} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 Gerrit-Change-Number: 19765 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16:06:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:06:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:06:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add Lb interface support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 ) Change subject: bsc: Add Lb interface support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 Gerrit-Change-Number: 19766 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16:06:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 ) Change subject: TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols ...................................................................... TTCN-3 definitions for BSSMAP-LE and BSSLAP protocols Both are part of GSM LCS and are spoken between BSC and SMLC Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e --- A library/BSSAP_LE_Types.ttcn A library/BSSLAP_Types.ttcn A library/BSSMAP_LE_Templates.ttcn 3 files changed, 1,558 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/library/BSSAP_LE_Types.ttcn b/library/BSSAP_LE_Types.ttcn new file mode 100644 index 0000000..ae7385b --- /dev/null +++ b/library/BSSAP_LE_Types.ttcn @@ -0,0 +1,594 @@ +module BSSAP_LE_Types { + +/* BSSAP_LE_Types, defining abstract TTCN-3 data types for the 3GPP BSSMAP-LE protocol. + * + * BSSMAP-LE is a 3GPP standard protocol used by SMLC and its peers in a GSM network. + * This file covers 3GPP TS 49.031 version 15.0.0 Release 15 + * + * (C) 2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from BSSAP_Types all; +import from BSSLAP_Types all; +import from MobileL3_CommonIE_Types all; + +/* TS 49.031 Section 10.1 */ +type enumerated BSSMAP_LE_MsgType { + BSSMAP_LE_PERFORM_LOC_REQ ('00101011'B), + BSSMAP_LE_PERFORM_LOC_RESP ('00101101'B), + BSSMAP_LE_PERFORM_LOC_ABORT ('00101110'B), + BSSMAP_LE_PERFORM_LOC_INFO ('00101111'B), + BSSMAP_LE_ASSIST_INFO_REQ ('00100000'B), + BSSMAP_LE_ASSIST_INFO_RESP ('00100001'B), + + BSSMAP_LE_CONN_ORIENTED_INFO ('00101010'B), + BSSMAP_LE_CONN_LESS_INFO ('00111010'B), + + BSSMAP_LE_RESET ('00110000'B), + BSSMAP_LE_RESET_ACK ('00110001'B) +}; + +/* TS 49.031 Section 10.2 */ +type enumerated BSSMAP_LE_IEI { + BSSMAP_LE_IEI_LCS_QoS ('00111110'B), + BSSMAP_LE_IEI_LCS_PRIORITY ('01000011'B), + BSSMAP_LE_IEI_LOCATION_TYPE ('01000100'B), + BSSMAP_LE_IEI_GANSS_LOCATION_TYPE ('10000010'B), + BSSMAP_LE_IEI_GEO_LOCATION ('01000101'B), + BSSMAP_LE_IEI_POSITIONING_DATA ('01000110'B), + BSSMAP_LE_IEI_GANSS_POS_DATA ('10000011'B), + BSSMAP_LE_IEI_VELOCITY_DATA ('01010101'B), + BSSMAP_LE_IEI_LCS_CAUSE ('01000111'B), + BSSMAP_LE_IEI_LCS_CLIENT_TYPE ('01001000'B), + BSSMAP_LE_IEI_APDU ('01001001'B), + BSSMAP_LE_IEI_NET_ELEM_ID ('01001010'B), + BSSMAP_LE_IEI_REQ_GPS_ASS_D ('01001011'B), + BSSMAP_LE_IEI_REQ_GANSS_ASS_D ('01000001'B), + BSSMAP_LE_IEI_DECIPH_KEYS ('01001100'B), + BSSMAP_LE_IEI_RET_ERR_REQ ('01001101'B), + BSSMAP_LE_IEI_RET_ERR_CAUSE ('01001110'B), + BSSMAP_LE_IEI_SEGMENTATION ('01001111'B), + BSSMAP_LE_IEI_CLASSMARK3_INFO ('00010011'B), + BSSMAP_LE_IEI_CAUSE ('00000100'B), + BSSMAP_LE_IEI_CELL_ID ('00000101'B), + BSSMAP_LE_IEI_CHOSEN_CHAN ('00100001'B), + BSSMAP_LE_IEI_IMSI ('00000000'B), + BSSMAP_LE_IEI_LCS_CAPABILITY ('01010000'B), + BSSMAP_LE_IEI_PKT_MEAS_REP ('01010001'B), + BSSMAP_LE_IEI_CELL_ID_LIST ('01010010'B), + BSSMAP_LE_IEI_IMEI ('10000000'B), + BSSMAP_LE_IEI_BSS_MLAT_CAP ('10000100'B), + BSSMAP_LE_IEI_CELL_INFO_LIST ('10000101'B), + BSSMAP_LE_IEI_BTS_RX_ACC_LVL ('10000110'B), + BSSMAP_LE_IEI_MLAT_METHOD ('10000111'B), + BSSMAP_LE_IEI_MLAT_TA ('10001000'B), + BSSMAP_LE_IEI_MS_SYNC_ACC ('10001001'B), + BSSMAP_LE_IEI_SHORT_ID_SET ('10001010'B), + BSSMAP_LE_IEI_RANDOM_ID_SET ('10001011'B), + BSSMAP_LE_IEI_SHORT_BSS_ID ('10001100'B), + BSSMAP_LE_IEI_RANDOM_ID ('10001101'B), + BSSMAP_LE_IEI_SHORT_ID ('10001110'B), + BSSMAP_LE_IEI_COVERAGE_CLASS ('10001111'B), + BSSMAP_LE_IEI_MTA_ACC_SEC_RQD ('10010000'B) +}; + +/* Section 9.1 */ +type record BSSMAP_LE_PerfLocReq { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_LocationType location_type, + BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_IE_ClassmarkInformationType3 cm3 optional, + BSSMAP_LE_IE_LcsClientType lcs_client_type optional, + BSSMAP_IE_ChosenChannel chosen_channel optional, + BSSMAP_LE_IE_LcsPriority lcs_priority optional, + BSSMAP_LE_IE_LcsQoS lcs_qos optional, + BSSMAP_LE_IE_ReqGpsAssD req_gps_ass_d optional, + BSSMAP_LE_IE_APDU bsslap_apdu optional, + BSSMAP_LE_IE_LcsCapability lcs_capability optional, + BSSMAP_LE_IE_PacketMeasRep packet_meas_rep optional, + BSSMAP_LE_IE_CellIdList meas_cell_id_list optional, + BSSMAP_LE_IE_IMSI imsi optional, + BSSMAP_LE_IE_IMEI imei optional + // TODO: more optional IEs +}; + +/* Section 9.2 */ +type record BSSMAP_LE_PerfLocResp { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_GeographicLoc geographic_loc optional, + BSSMAP_LE_IE_PositioningData pos_data optional, + BSSMAP_LE_IE_DecipheringKeys deciph_keys optional, + BSSMAP_LE_IE_LcsCause lcs_cause optional, + BSSMAP_LE_IE_VelocityData velocity_data optional, + BSSMAP_LE_IE_GanssPosData ganss_pos_data optional +}; + +/* Section 9.4 */ +type record BSSMAP_LE_PerfLocAbort { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_LcsCause lcs_cause +}; + +/* Section 9.8 */ +type record BSSMAP_LE_ConnOrientedInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_APDU bsslap_apdu, + BSSMAP_LE_IE_Segmentation segmentation optional + // TODO: MLA related optional IEs +}; + +/* Section 9.9 */ +type record BSSMAP_LE_ConnLessInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_LE_IE_NetElementId source_id, + BSSMAP_LE_IE_NetElementId dest_id, + BSSMAP_LE_IE_APDU bsslap_apdu optional, + BSSMAP_LE_IE_Segmentation segmentation optional, + BSSMAP_LE_IE_RetErrReq ret_err_req optional, + BSSMAP_LE_IE_RetErrCause ret_err_cause optional +}; + +/* Section 9.10 */ +type record BSSMAP_LE_Reset { + BSSMAP_LE_MsgType msg_type, + BSSMAP_IE_Cause cause +}; + +/* Section 9.11 */ +type record BSSMAP_LE_ResetAck { + BSSMAP_LE_MsgType msg_type +}; + +/* Section 9.12 */ +type record BSSMAP_LE_PerformLocInfo { + BSSMAP_LE_MsgType msg_type, + BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_LE_IE_APDU bsslap_apdu optional +}; + +type union BSSMAP_LE_PDU { + BSSMAP_LE_PerfLocReq perf_loc_req, + BSSMAP_LE_PerfLocResp perf_loc_resp, + BSSMAP_LE_PerfLocAbort perf_loc_abort, + BSSMAP_LE_ConnOrientedInfo co_info, + BSSMAP_LE_ConnLessInfo cl_info, + BSSMAP_LE_Reset reset, + BSSMAP_LE_ResetAck reset_ack, + BSSMAP_LE_PerformLocInfo perf_loc_info, + /* The following BSSMAP messages defined in 3GPP TS 48.008 are applicable to the Lb interface to + * support signaling to a Type A LMU using an SDCCH */ + PDU_BSSMAP_CipherModeCommand cipherModeCommand, + PDU_BSSMAP_CipherModeComplete cipherModeComplete, + PDU_BSSMAP_CipherModeReject cipherModeReject, + PDU_BSSMAP_ClassmarkUpdate classmarkUpdate, + PDU_BSSMAP_ClearCommand clearCommand, + PDU_BSSMAP_ClearComplete clearComplete, + PDU_BSSMAP_ClearRequest clearRequest, + PDU_BSSMAP_CompleteLayer3Information completeLayer3Information, + PDU_BSSMAP_Confusion confusion, + PDU_BSSMAP_HandoverRequired handoverRequired, + PDU_BSSMAP_HandoverRequiredReject handoverRequiredReject, + PDU_BSSMAP_HandoverPerformed handoverPerformed, + PDU_BSSMAP_Paging paging +} with { + variant "TAG( + perf_loc_req, msg_type = BSSMAP_LE_PERFORM_LOC_REQ; + perf_loc_resp, msg_type = BSSMAP_LE_PERFORM_LOC_RESP; + perf_loc_abort, msg_type = BSSMAP_LE_PERFORM_LOC_ABORT; + co_info, msg_type = BSSMAP_LE_CONN_ORIENTED_INFO; + cl_info, msg_type = BSSMAP_LE_CONN_LESS_INFO; + reset, msg_type = BSSMAP_LE_RESET; + reset_ack, msg_type = BSSMAP_LE_RESET_ACK; + perf_loc_info, msg_type = BSSMAP_LE_PERFORM_LOC_INFO; + )" +}; + +/* Section 10.3 */ +type record BSSMAP_LE_IE_APDU { + BSSMAP_LE_IEI iei, + uint16_t len, + BIT1 spare, + BSSMAP_LE_ProtocolId protocol_id, + octetstring data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_APDU)" + variant (len) "LENGTHTO(spare,protocol_id,data)" +}; +type enumerated BSSMAP_LE_ProtocolId { + BSSMAP_LE_PROT_RESERVED ('0000000'B), + BSSMAP_LE_PROT_BSSLAP ('0000001'B), + BSSMAP_LE_PROT_LLP ('0000010'B), + BSSMAP_LE_PROT_SMLCPP ('0000011'B) +} with { variant "FIELDLENGTH(7)" }; + +/* Section 10.8 */ +type record BSSMAP_LE_IE_DecipheringKeys { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT7 spare, + boolean ciph_key_flag, + OCT7 cur_deciph_key, + OCT7 next_deciph_key +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_DECIPH_KEYS)" + variant (len) "LENGTHTO(spare,ciph_key_flag,cur_deciph_key,next_deciph_key)" +} + +/* Section 10.9 */ +type record BSSMAP_LE_IE_GeographicLoc { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring location +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_GEO_LOCATION)" + variant (len) "LENGTHTO(location)" +} + +/* Section 10.10 */ +type record BSSMAP_LE_IE_ReqGpsAssD { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT16 flags, + octetstring sat_data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_REQ_GPS_ASS_D)" + variant (len) "LENGTHTO(flags,sat_data)" +} + +/* Section 10.11 */ +type record BSSMAP_LE_IE_IMSI { + BSSMAP_LE_IEI iei, + uint8_t len, + MobileIdentityV imsi +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMSI)" + variant (len) "LENGTHTO(imsi)" +} + +/* Section 10.13 */ +type record BSSMAP_LE_IE_LcsCause { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_LcsCause cause, + OCT1 diag_val optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMSI)" + variant (len) "LENGTHTO(cause,diag_val)" +} +type enumerated BSSMAP_LE_LcsCause { + BSSMAP_LE_LCS_CAUSE_UNSPEIFIED ('00000000'B), + BSSMAP_LE_LCS_CAUSE_SYSTEM_FAILURE ('00000001'B), + BSSMAP_LE_LCS_CAUSE_PROTOCOL_ERROR ('00000010'B), + BSSMAP_LE_LCS_CAUSE_DATA_MISSING_IN_REQ ('00000011'B), + BSSMAP_LE_LCS_CAUSE_UNEXP_DATA_IN_REQ ('00000100'B), + BSSMAP_LE_LCS_CAUSE_POS_METH_FAILURE ('00000101'B), + BSSMAP_LE_LCS_CAUSE_TGT_MS_UNREACHABLE ('00000110'B), + BSSMAP_LE_LCS_CAUSE_REQUEST_ABORTED ('00000111'B), + BSSMAP_LE_LCS_CAUSE_FACILITY_NOTSUPP ('00001000'B), + BSSMAP_LE_LCS_CAUSE_INTER_BSC_HO ('00001001'B), + BSSMAP_LE_LCS_CAUSE_INTRA_BSC_HO ('00001010'B), + BSSMAP_LE_LCS_CAUSE_CONGESTION ('00001011'B), + BSSMAP_LE_LCS_CAUSE_INTER_NSE_CHG ('00001100'B), + BSSMAP_LE_LCS_CAUSE_RA_UPDAT ('00001101'B), + BSSMAP_LE_LCS_CAUSE_PTMSI_REALLOC ('00001110'B), + BSSMAP_LE_LCS_CAUSE_GPRS_SUSPENSION ('00001111'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.14 */ +type record BSSMAP_LE_IE_LcsClientType { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_ClientType cltype +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_CAUSE)" + variant (len) "LENGTHTO(cltype)" +} +type enumerated BSSMAP_LE_ClientType { + BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED ('00000000'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED ('00100000'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE ('00100001'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM ('00100010'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS ('00100011'B), + BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC ('00100100'B), + BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED ('00110000'B), + BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED ('01000000'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.15 */ +type record BSSMAP_LE_IE_LcsPriority { + BSSMAP_LE_IEI iei, + uint8_t len, + OCT1 priority +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_PRIORITY)" + variant (len) "LENGTHTO(priority)" +} + +/* Section 10.16 */ +type record BSSMAP_LE_IE_LcsQoS { + BSSMAP_LE_IEI iei, + uint8_t len, + + BIT6 spare, + boolean vel, + boolean vert, + + boolean ha, + uint7_t horiz_acc, + + boolean va, + uint7_t vert_acc, + + BIT2 rt, + BIT6 spare2 +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_QoS)" + variant (len) "LENGTHTO(spare,vel,vert,ha,horiz_acc,va,vert_acc,rt,spare2)" +} + +/* Section 10.18 */ +type record BSSMAP_LE_IE_LocationType { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_LocInfo loc_info, + BSSMAP_LE_PosMethod pos_method optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LOCATION_TYPE)" + variant (len) "LENGTHTO(loc_info,pos_method)" + variant (pos_method) "PRESENCE(loc_info = BSSMAP_LE_LOC_INFO_ASS_INFO_FOR_TGT_MS, + loc_info = BSSMAP_LE_LOC_INFO_DECIPH_KEYS_FOR_BCAST)" +} +type enumerated BSSMAP_LE_LocInfo { + BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC ('00000000'B), + BSSMAP_LE_LOC_INFO_ASS_INFO_FOR_TGT_MS ('00000001'B), + BSSMAP_LE_LOC_INFO_DECIPH_KEYS_FOR_BCAST ('00000010'B) +} with { variant "FIELDLENGTH(8)" }; +type enumerated BSSMAP_LE_PosMethod { + BSSMAP_LE_POS_METHOD_RESERVED ('00000000'B), + BSSMAP_LE_POS_MOBILE_ASSISTED_EOTD ('00000001'B), + BSSMAP_LE_POS_MOBILE_BASED_EOTD ('00000010'B), + BSSMAP_LE_POS_ASSISTED_GPS ('00000011'B), + BSSMAP_LE_POS_ASSISTED_GANSS ('00000100'B), + BSSMAP_LE_POS_ASSISTED_GPS_AND_GANSS ('00000101'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.19 */ +type record BSSMAP_LE_IE_NetElementId { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT4 spare, + BSSMAP_LE_IdDiscr id_discr, + BSSMAP_LE_IdU u +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_NET_ELEM_ID)" + variant (len) "LENGTHTO(spare,id_discr,u)" + variant (u) "CROSSTAG( + cgi, id_discr = BSSMAP_LE_ID_DISC_CGI; + lac_ci, id_discr = BSSMAP_LE_ID_DISC_LAC_CI; + lai, id_discr = BSSMAP_LE_ID_DISC_LAI; + lac, id_discr = BSSMAP_LE_ID_DISC_LAC; + lmu, id_discr = BSSMAP_LE_ID_LMU; + )" +}; +type enumerated BSSMAP_LE_IdDiscr { + BSSMAP_LE_ID_DISC_CGI ('0000'B), + BSSMAP_LE_ID_DISC_LAC_CI ('0001'B), + BSSMAP_LE_ID_DISC_LAI ('0100'B), + BSSMAP_LE_ID_DISC_LAC ('0101'B), + BSSMAP_LE_ID_LMU ('0110'B) +} with { variant "FIELDLENGTH(4)" }; +type union BSSMAP_LE_IdU { + BSSMAP_LE_Id_CGI cgi, + BSSMAP_LE_Id_LAC_CI lac_ci, + BSSMAP_LE_Id_LAI lai, + uint16_t lac, + octetstring lmu +}; +type record BSSMAP_LE_Id_CGI { + HEX6n mcc_mnc, + uint16_t lac, + uint16_t ci +}; +type record BSSMAP_LE_Id_LAC_CI { + uint16_t lac, + uint16_t ci +}; +type record BSSMAP_LE_Id_LAI { + HEX6n mcc_mnc, + uint16_t lac +}; + +/* Section 10.20 */ +type record BSSMAP_LE_IE_PositioningData { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT4 spare, + uint4_t discr, + BSSMAP_LE_PosMethList pos_meth +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_POSITIONING_DATA)" + variant (len) "LENGTHTO(spare,discr,pos_meth)" +}; +type record of BSSMAP_LE_PosMethodN BSSMAP_LE_PosMethList; +type record BSSMAP_LE_PosMethodN { + BSSMAP_LE_Method method, + BSSMAP_LE_Usage usage +}; +type enumerated BSSMAP_LE_Method { + BSSMAP_LE_METHOD_TA ('00000'B), + BSSMAP_LE_METHOD_RESERVED0 ('00001'B), + BSSMAP_LE_METHOD_RESERVED1 ('00010'B), + BSSMAP_LE_METHOD_MOBILE_ASS_EOTD ('00011'B), + BSSMAP_LE_METHOD_MOBILE_BASED_EOTD ('00100'B), + BSSMAP_LE_METHOD_MOBILE_ASS_GPS ('00101'B), + BSSMAP_LE_METHOD_MOBILE_BASED_GPS ('00110'B), + BSSMAP_LE_METHOD_CONVENTIONAL_GPS ('00111'B), + BSSMAP_LE_METHOD_UTDOA ('01000'B), + BSSMAP_LE_METHOD_CELL_ID ('01100'B) +} with { variant "FIELDLENGTH(5)" }; +type enumerated BSSMAP_LE_Usage { + BSSMAP_LE_USAGE_ATTEMPTED_UNSUCC ('000'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_NOT_USED ('001'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USED_VRFY_NOT_GEN ('010'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USED_GEN ('011'B), + BSSMAP_LE_USAGE_ATTEMPTED_SUCC_USAGE_UNDETERMINED ('100'B) +} with { variant "FIELDLENGTH(3)" }; + +/* Section 10.21 */ +type record BSSMAP_LE_IE_RetErrReq { + BSSMAP_LE_IEI iei, + uint8_t len, + OCT1 ret_err_type +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_RET_ERR_REQ)" + variant (len) "LENGTHTO(ret_err_type)" +} + +/* Section 10.22 */ +type record BSSMAP_LE_IE_RetErrCause { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_RetErrCause cause +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_RET_ERR_REQ)" + variant (len) "LENGTHTO(cause)" +} +type enumerated BSSMAP_LE_RetErrCause { + BSSMAP_LE_RE_CAUSE_UNSPECIFIED ('00000000'B), + BSSMAP_LE_RE_CAUSE_SYSTEM_FAILURE ('00000001'B), + BSSMAP_LE_RE_CAUSE_PROTOCOL_ERROR ('00000010'B), + BSSMAP_LE_RE_CAUSE_DEST_UNKNOWN ('00000011'B), + BSSMAP_LE_RE_CAUSE_DEST_UNREACHABLE ('00000100'B), + BSSMAP_LE_RE_CAUSE_CONGESTION ('00000101'B) +} with { variant "FIELDLENGTH(8)" }; + +/* Section 10.24 */ +type record BSSMAP_LE_IE_Segmentation { + BSSMAP_LE_IEI iei, + uint8_t len, + BIT3 spare, + boolean s_non_final, + uint4_t seg_nr, + OCT2 msg_id optional +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_SEGMENTATION)" + variant (len) "LENGTHTO(spare,s_non_final,seg_nr,msg_id)" +} + +/* Section 10.26 */ +type record BSSMAP_LE_IE_LcsCapability { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring lcs_cap +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_LCS_CAPABILITY)" + variant (len) "LENGTHTO(lcs_cap)" +} + +type record BSSMAP_LE_IE_PacketMeasRep { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring pkt_meas_rep +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_PKT_MEAS_REP)" + variant (len) "LENGTHTO(pkt_meas_rep)" +} + +type record BSSMAP_LE_IE_CellIdList { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSLAP_CellIdList cell_id_list +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_CELL_ID_LIST)" + variant (len) "LENGTHTO(cell_id_list)" +} + +/* Section 10.29 */ +type record BSSMAP_LE_IE_IMEI { + BSSMAP_LE_IEI iei, + uint8_t len, + MobileIdentityV imei +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_IMEI)" + variant (len) "LENGTHTO(imei)" +} + +/* Section 10.30 */ +type record BSSMAP_LE_IE_VelocityData { + BSSMAP_LE_IEI iei, + uint8_t len, + octetstring data +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_VELOCITY_DATA)" + variant (len) "LENGTHTO(data)" +} + +/* Section 10.32 */ +type record BSSMAP_LE_IE_GanssPosData { + BSSMAP_LE_IEI iei, + uint8_t len, + BSSMAP_LE_GanssList list +} with { + variant "PRESENCE(iei = BSSMAP_LE_IEI_VELOCITY_DATA)" + variant (len) "LENGTHTO(list)" +} +type record of BSSMAP_LE_Ganss BSSMAP_LE_GanssList; +type record BSSMAP_LE_Ganss { + BSSMAP_LE_GanssMethod method, + BSSMAP_LE_GanssId id, + BSSMAP_LE_Usage usage +}; +type enumerated BSSMAP_LE_GanssMethod { + BSSMAP_LE_GANSS_METH_MS_BASED ('00'B), + BSSMAP_LE_GANSS_METH_MS_ASSISTED ('01'B), + BSSMAP_LE_GANSS_METH_MS_CONVENTIONAL ('10'B), + BSSMAP_LE_GANSS_METH_MS_RESERVED ('11'B) +} with { variant "FIELDLENGTH(2)" }; +type enumerated BSSMAP_LE_GanssId { + BSSMAP_LE_GANSS_ID_GALILEO ('000'B), + BSSMAP_LE_GANSS_ID_SBAS ('001'B), + BSSMAP_LE_GANSS_ID_MODERNIZED_GPS ('010'B), + BSSMAP_LE_GANSS_ID_QZSS ('011'B), + BSSMAP_LE_GANSS_ID_GLONASS ('100'B), + BSSMAP_LE_GANSS_ID_BDS ('101'B) +} with { variant "FIELDLENGTH(3)" }; + +/* FIXME: Further IEs */ + + + + +type union BSSMAPLEorDTAP { + BSSMAP_LE_PDU bssmap, + octetstring dtap +} + +type record PDU_BSSAP_LE { + BIT1 discriminator, // 0 = BSSMAP-LE; 1 = DTAP-LE + BIT7 spare, // always '0000000'B + OCT1 dlci optional, + LIN1 lengthIndicator, + BSSMAPLEorDTAP pdu +} with { + variant (lengthIndicator) "LENGTHTO(pdu)" + variant (pdu) "CROSSTAG(bssmap, discriminator='0'B; + dtap, discriminator='1'B)" + variant (dlci) "PRESENCE(discriminator='1'B)" +} + + +external function enc_PDU_BSSAP_LE(in PDU_BSSAP_LE pdu) return octetstring +with { extension "prototype(convert) encode(RAW)" } +external function dec_PDU_BSSAP_LE(in octetstring stream) return PDU_BSSAP_LE +with { extension "prototype(convert) decode(RAW)" } + + +} with { encode "RAW" ; variant "FIELDORDER(msb)" } diff --git a/library/BSSLAP_Types.ttcn b/library/BSSLAP_Types.ttcn new file mode 100644 index 0000000..90c3953 --- /dev/null +++ b/library/BSSLAP_Types.ttcn @@ -0,0 +1,530 @@ +module BSSLAP_Types { + +/* BSSLAP_Types, defining abstract TTCN-3 data types for the 3GPP BSSLAP protocol. + * + * BSSLAP is a 3GPP standard protocol used between BSC and SMLC in a GSM network. + * This file covers 3GPP TS 48.071 version 15.0.0 Release 15 + * + * (C) 2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + + +/* 3GPP TS 48.071 Table 5.1 */ +type enumerated BSSLAP_IEI { + BSSLAP_IEI_TA ('00000001'B), + BSSLAP_IEI_CELL_ID ('00001001'B), + BSSLAP_IEI_CHAN_DESC ('00010000'B), + BSSLAP_IEI_MEAS_REP ('00010100'B), + BSSLAP_IEI_CAUSE ('00011000'B), + BSSLAP_IEI_RRLP_FLAG ('00011001'B), + BSSLAP_IEI_RRLP ('00011011'B), + BSSLAP_IEI_CELL_ID_LIST ('00011100'B), + BSSLAP_IEI_ENH_MEAS_REP ('00011101'B), + BSSLAP_IEI_LAC ('00011110'B), + BSSLAP_IEI_FREQ_LIST ('00100001'B), + BSSLAP_IEI_MS_POWER ('00100010'B), + BSSLAP_IEI_DELTA_TIMER ('00100011'B), + BSSLAP_IEI_SERVING_CELL_ID ('00100100'B), + BSSLAP_IEI_ENCR_KEY ('00100101'B), + BSSLAP_IEI_CIPH_MODE_SET ('00100110'B), + BSSLAP_IEI_CHAN_MODE ('00100111'B), + BSSLAP_IEI_MR_CONFIG ('00101000'B), + BSSLAP_IEI_POLLING_REPETITION ('00101001'B), + BSSLAP_IEI_PACKET_CHAN_DESC ('00101010'B), + BSSLAP_IEI_TLLI ('00101011'B), + BSSLAP_IEI_TFI ('00101100'B), + BSSLAP_IEI_TBF_START_TIME ('00101101'B), + BSSLAP_IEI_PWRUP_START_TIME ('00101110'B), + BSSLAP_IEI_LONG_ENCR_KEY ('00101111'B), + BSSLAP_IEI_CONCUR_POS_PROC_F ('00110000'B) +} with { variant "FIELDLENGTH(8)" }; + +/* 3GPP TS 48.071 Section 5.1 */ +type enumerated BSSLAP_MsgType { + BSSLAP_MSGT_TA_REQUEST ('00000001'B), + BSSLAP_MSGT_TA_RESPONSE ('00000010'B), + BSSLAP_MSGT_REJECT ('00001010'B), + BSSLAP_MSGT_RESET ('00001011'B), + BSSLAP_MSGT_ABORT ('00001100'B), + BSSLAP_MSGT_TA_LAYER3 ('00001101'B), + BSSLAP_MSGT_MS_POS_CMD ('00001111'B), + BSSLAP_MSGT_MS_POS_RESP ('00010000'B), + BSSLAP_MSGT_UTDOA_REQ ('00010001'B), + BSSLAP_MSGT_UTDOA_RESP ('00010010'B) +} with { variant "FIELDLENGTH(8)" }; + + +/* Section 4.2.1 */ +type record BSSLAP_TaRequest { + BSSLAP_MsgType msg_type +}; + +/* Section 4.2.2 */ +type record BSSLAP_TaResponse { + BSSLAP_MsgType msg_type, + BSSLAP_IE_CellId serving_cell_id, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_ConcurMethodF concur_meth_flag optional +}; + +/* Section 4.2.5 */ +type record BSSLAP_Reject { + BSSLAP_MsgType msg_type, + BSSLAP_IE_Cause cause +}; + +/* Section 4.2.6 */ +type record BSSLAP_Reset { + BSSLAP_MsgType msg_type, + BSSLAP_IE_CellId cell_id, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_ChanDesc chan_desc, + BSSLAP_IE_Cause cause, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_LAC lac optional, + BSSLAP_IE_FreqList freq_list optional, + BSSLAP_IE_ChanMode chan_mode optional, + BSSLAP_IE_MultiRateConfig mr_config optional, + BSSLAP_IE_PacketChanDesc pkt_chan_desc optional, + BSSLAP_IE_TLLI tlli optional, + BSSLAP_IE_TFI tfi optional, + BSSLAP_IE_StartingTime tbf_start_time optional, + BSSLAP_IE_EncryptionKey encr_key optional, + BSSLAP_IE_CiphModeSet ciph_mode_set optional, + BSSLAP_IE_LongEncryptionKey long_encr_key optional +}; + +/* Section 4.2.7 */ +type record BSSLAP_Abort { + BSSLAP_MsgType msg_type, + BSSLAP_IE_Cause cause +}; + +/* Section 4.2.8 */ +type record BSSLAP_TA_Layer3 { + BSSLAP_MsgType msg_type, + BSSLAP_IE_TimingAdvance timing_advance, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional +}; + +/* Section 4.2.9 */ +type record BSSLAP_MS_PosCmd { + BSSLAP_MsgType msg_type, + BSSLAP_IE_RrlpFlag flag, + BSSLAP_IE_Rrlp rrlp_info +}; + +/* Section 4.2.10 */ +type record BSSLAP_MS_PosResp { + BSSLAP_MsgType msg_type, + BSSLAP_IE_RrlpFlag flag, + BSSLAP_IE_Rrlp rrlp_info, + BSSLAP_IE_TimingAdvance timing_advance optional, + BSSLAP_IE_MeasRep meas_rep optional, + BSSLAP_IE_EnhMeasRep enh_meas_rep optional, + BSSLAP_IE_CellIdList meas_cell_id_list optional, + BSSLAP_IE_ConcurMethodF concur_meth_flag optional +}; + +/* Section 4.2.11 */ +type record BSSLAP_UTDOA_Req { + BSSLAP_MsgType msg_type, + BSSLAP_IE_DeltaTimer delta_timer optional, + BSSLAP_IE_PollingRep polling_repetition optional +}; + +type union BSSLAP_PDU { + BSSLAP_TaRequest ta_req, + BSSLAP_TaResponse ta_resp, + BSSLAP_Reject reject, + BSSLAP_Reset reset, + BSSLAP_Abort abort, + BSSLAP_TA_Layer3 ta_layer3, + BSSLAP_MS_PosCmd ms_pos_cmd, + BSSLAP_MS_PosResp ms_pos_resp, + BSSLAP_UTDOA_Req utdoa_req + // TODO: U-TDOA Resp +} with { variant "TAG( + ta_req, msg_type = BSSLAP_MSGT_TA_REQUEST; + ta_resp, msg_type = BSSLAP_MSGT_TA_RESPONSE; + reject, msg_type = BSSLAP_MSGT_REJECT; + reset, msg_type = BSSLAP_MSGT_RESET; + abort, msg_type = BSSLAP_MSGT_ABORT; + ta_layer3, msg_type = BSSLAP_MSGT_TA_LAYER3; + ms_pos_cmd, msg_type = BSSLAP_MSGT_MS_POS_CMD; + ms_pos_resp, msg_type = BSSLAP_MSGT_MS_POS_RESP; + utdoa_req, msg_type = BSSLAP_MSGT_UTDOA_REQ; + )" +}; + + +/* Section 5.2 */ +type record BSSLAP_IE_TimingAdvance { + BSSLAP_IEI iei, + uint8_t ta +} with { variant "PRESENCE(iei = BSSLAP_IEI_TA)" }; + + +/* Section 5.4 */ +type record BSSLAP_IE_CellId { + BSSLAP_IEI iei, + uint16_t cell_id +} with { variant "PRESENCE(iei = BSSLAP_IEI_CELL_ID)" }; + +/* Section 5.8 */ +type record BSSLAP_IE_ChanDesc { + BSSLAP_IEI iei, + OCT3 chan_desc +} with { variant "PRESENCE(iei = BSSLAP_IEI_CHAN_DESC)" }; + + +/* Section 5.12 */ +type record BSSLAP_IE_MeasRep { + BSSLAP_IEI iei, + uint8_t len, + octetstring meas_rep +} with { + variant "PRESENCE(iei = BSSLAP_IEI_MEAS_REP)" + variant (len) "LENGTHTO(meas_rep)" +}; + +/* Section 5.14 */ +type record BSSLAP_IE_Cause { + BSSLAP_IEI iei, + BSSLAP_Cause cause +} with { variant "PRESENCE(iei = BSSLAP_IEI_CAUSE)" }; +type enumerated BSSLAP_Cause { + BSSLAP_CAUSE_CONGESTION ('00000000'B), + BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP ('00000001'B), + BSSLAP_CAUSE_POS_PROC_NOT_SUPP ('00000010'B), + BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL ('00000011'B), + BSSLAP_CAUSE_INTRA_BSS_HO ('00000100'B), + BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED ('00000101'B), + BSSLAP_CAUSE_INTER_BSS_HO ('00000110'B), + BSSLAP_CAUSE_LOSS_SIG_CONN_MS ('00000111'B), + BSSLAP_CAUSE_INCORR_SERV_CELL_ID ('00001000'B), + BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR ('00001001'B), + BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN ('00001010'B) +}; + +/* Section 5.15 */ +type record BSSLAP_IE_RrlpFlag { + BSSLAP_IEI iei, + BIT7 spare, + boolean not_a_pos_cmd +} with { variant "PRESENCE(iei = BSSLAP_IEI_RRLP_FLAG)" }; + +/* Section 5.16 */ +type record BSSLAP_IE_Rrlp { + BSSLAP_IEI iei, + uint16_t len, + octetstring rrlp_apdu +} with { + variant "PRESENCE(iei = BSSLAP_IEI_RRLP)" + variant (len) "LENGTHTO(rrlp_apdu)" +}; + +/* Section 5.17 */ +type record BSSLAP_IE_CellIdList { + BSSLAP_IEI iei, + uint8_t len, + BSSLAP_CellIdList cell_id_list +} with { + variant "PRESENCE(iei = BSSLAP_IEI_CELL_ID_LIST)" + variant (len) "LENGTHTO(cell_id_list)" +}; +type record of BSSLAP_CellIdListEnt BSSLAP_CellIdList; +type union BSSLAP_CellIdListEnt { + BIT4 spare, + BSSLAP_CellIdDiscr discr, + BSSLAP_CellIdListEntU u +}// with { +//}; +type enumerated BSSLAP_CellIdDiscr { + BSSLAP_CIDL_DISC_CGI ('0000'B), + BSSLAP_CIDL_DISC_LAC_CI ('0001'B), + BSSLAP_CIDL_DISC_3G_1 ('0010'B), + BSSLAP_CIDL_DISC_3G_2 ('0011'B) +} with { variant "FIELDLENGTH(4)" }; +type union BSSLAP_CellIdListEntU { + BSSLAP_CellIdListEntCGI cgi, + BSSLAP_CellIdListEntLACCI lac_ci, + BSSLAP_CellIdListEnt3G1 umts_cont1, + BSSLAP_CellIdListEnt3G2 umts_cont2 +}; +type record BSSLAP_CellIdListEntCGI { + HEX6n mcc_mnc, + uint16_t lac, + uint16_t ci +}; +type record BSSLAP_CellIdListEntLACCI { + uint16_t lac, + uint16_t ci +}; +type record BSSLAP_CellIdListEnt3G1 { + OCT9 cont +}; +type record BSSLAP_CellIdListEnt3G2 { + OCT6 cont +}; + +/* Section 5.18 */ +type record BSSLAP_IE_EnhMeasRep { + BSSLAP_IEI iei, + uint8_t len, + octetstring meas_rep +} with { + variant "PRESENCE(iei = BSSLAP_IEI_ENH_MEAS_REP)" + variant (len) "LENGTHTO(meas_rep)" +}; + +/* Section 5.19 */ +type record BSSLAP_IE_LAC { + BSSLAP_IEI iei, + uint16_t lac +} with { variant "PRESENCE(iei = BSSLAP_IEI_LAC)" }; + +/* Section 5.20 */ +type record BSSLAP_IE_FreqList { + BSSLAP_IEI iei, + uint8_t len, + octetstring freq_list +} with { + variant "PRESENCE(iei = BSSLAP_IEI_FREQ_LIST)" + variant (len) "LENGTHTO(freq_list)" +}; + +/* Section 5.21 */ +type record BSSLAP_IE_MsPower { + BSSLAP_IEI iei, + uint8_t ms_pwr +} with { variant "PRESENCE(iei = BSSLAP_IEI_MS_POWER)" }; + +/* Section 5.22 */ +type record BSSLAP_IE_DeltaTimer { + BSSLAP_IEI iei, + uint8_t timer_val +} with { variant "PRESENCE(iei = BSSLAP_IEI_MS_POWER)" }; + +/* Section 5.23 */ +type record BSSLAP_IE_ServingCellId { + BSSLAP_IEI iei, + uint8_t len, + octetstring val // FIXME: like TS 08.08 +} with { + variant "PRESENCE(iei = BSSLAP_IEI_SERVING_CELL_ID)" + variant (len) "LENGTHTO(val)" +}; + +/* Section 5.24 */ +type record BSSLAP_IE_EncryptionKey { + BSSLAP_IEI iei, + OCT8 kc +} with { variant "PRESENCE(iei = BSSLAP_IEI_ENCR_KEY)" }; + +/* Section 5.25 */ +type record BSSLAP_IE_CiphModeSet { + BSSLAP_IEI iei, + BIT1 spare, + BIT3 iei2, + BIT3 algo_id, + boolean sc +} with { variant "PRESENCE(iei = BSSLAP_IEI_CIPH_MODE_SET)" }; + +/* Section 5.26 */ +type record BSSLAP_IE_ChanMode { + BSSLAP_IEI iei, + OCT1 mode +} with { variant "PRESENCE(iei = BSSLAP_IEI_CHAN_MODE)" }; + +/* Section 5.27 */ +type record BSSLAP_IE_MultiRateConfig { + BSSLAP_IEI iei, + uint8_t len, + /* TODO: Unify with TS 48.018 */ + uint3_t mr_speech_ver, + boolean nscb, + boolean icmi, + BIT1 spare, + uint2_t start_mode, + octetstring parameters +} with { + variant "PRESENCE(iei = BSSLAP_IEI_MR_CONFIG)" + variant (len) "LENGTHTO(mr_speech_ver,nscb,icmi,spare,start_mode,parameters)" +}; + +/* Section 5.28 */ +type record BSSLAP_IE_PollingRep { + BSSLAP_IEI iei, + BIT2 spare, + uint6_t num_rep +} with { variant "PRESENCE(iei = BSSLAP_IEI_MR_CONFIG)" }; + +/* Section 5.29 */ +type record BSSLAP_IE_PacketChanDesc { + BSSLAP_IEI iei, + OCT4 chan_desc +} with { variant "PRESENCE(iei = BSSLAP_IEI_PACKET_CHAN_DESC)" }; + +/* Section 5.30 */ +type record BSSLAP_IE_TLLI { + BSSLAP_IEI iei, + OCT4 tlli +} with { variant "PRESENCE(iei = BSSLAP_IEI_TLLI)" }; + +/* Section 5.31 */ +type record BSSLAP_IE_TFI { + BSSLAP_IEI iei, + BIT3 spare, + uint5_t tfi +} with { variant "PRESENCE(iei = BSSLAP_IEI_TFI)" }; + +/* Section 5.32 */ +type record BSSLAP_IE_StartingTime { + BSSLAP_IEI iei, + uint5_t t1_p, + uint6_t t3, + uint6_t t2 +} with { variant "PRESENCE(iei = BSSLAP_IEI_TBF_START_TIME)" }; + +/* Section 5.33 */ +type record BSSLAP_IE_LongEncryptionKey { + BSSLAP_IEI iei, + OCT16 kc +} with { variant "PRESENCE(iei = BSSLAP_IEI_LONG_ENCR_KEY)" }; + +/* Section 5.34 */ +type record BSSLAP_IE_ConcurMethodF { + BSSLAP_IEI iei, + BSSLAP_ConcurMethodF flag +} with { variant "PRESENCE(iei = BSSLAP_IEI_CONCUR_POS_PROC_F)" }; +type enumerated BSSLAP_ConcurMethodF { + BSSLAP_SECOND_CONCUR_ALLOWED ('00000000'B), + BSSLAP_SECOND_CONCUR_DISALLOWED ('11111111'B) +} with { variant "FIELDLENGTH(8)" }; + + + +external function enc_BSSLAP_PDU(in BSSLAP_PDU msg) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_BSSLAP_PDU(in octetstring stream) return BSSLAP_PDU + with { extension "prototype(convert) decode(RAW)" }; + +template (value) BSSLAP_PDU ts_BSSLAP_TA_Req := { + ta_req := { + msg_type := BSSLAP_MSGT_TA_REQUEST + } +} +template (present) BSSLAP_PDU tr_BSSLAP_TA_Req := { + ta_req := { + msg_type := BSSLAP_MSGT_TA_REQUEST + } +} + +template (value) BSSLAP_PDU +ts_BSSLAP_TA_Resp(uint16_t cell_id, uint8_t ta) := { + ta_resp := { + msg_type := BSSLAP_MSGT_TA_RESPONSE, + serving_cell_id := ts_BSSLAP_IE_CellId(cell_id), + timing_advance := ts_BSSLAP_IE_TA(ta), + meas_rep := omit, + enh_meas_rep := omit, + meas_cell_id_list := omit, + concur_meth_flag := omit + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_TA_Resp(template (present) uint16_t cell_id, template (present) uint8_t ta) := { + ta_resp := { + msg_type := BSSLAP_MSGT_TA_RESPONSE, + serving_cell_id := tr_BSSLAP_IE_CellId(cell_id), + timing_advance := tr_BSSLAP_IE_TA(ta), + meas_rep := *, + enh_meas_rep := *, + meas_cell_id_list := *, + concur_meth_flag := * + } +} + +template (value) BSSLAP_PDU +ts_BSSLAP_Reject(BSSLAP_Cause cause) := { + reject := { + msg_type := BSSLAP_MSGT_REJECT, + cause := ts_BSSLAP_IE_Cause(cause) + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_Reject(template (present) BSSLAP_Cause cause) := { + reject := { + msg_type := BSSLAP_MSGT_REJECT, + cause := tr_BSSLAP_IE_Cause(cause) + } +} + + +template (value) BSSLAP_PDU +ts_BSSLAP_Abort(BSSLAP_Cause cause) := { + abort := { + msg_type := BSSLAP_MSGT_ABORT, + cause := ts_BSSLAP_IE_Cause(cause) + } +} +template (present) BSSLAP_PDU +tr_BSSLAP_Abort(template (present) BSSLAP_Cause cause) := { + abort := { + msg_type := BSSLAP_MSGT_ABORT, + cause := tr_BSSLAP_IE_Cause(cause) + } +} + + + +template (value) BSSLAP_IE_TimingAdvance ts_BSSLAP_IE_TA(uint8_t ta) := { + iei := BSSLAP_IEI_TA, + ta := ta +} +template (present) BSSLAP_IE_TimingAdvance tr_BSSLAP_IE_TA(template (present) uint8_t ta) := { + iei := BSSLAP_IEI_TA, + ta := ta +} + +template (value) BSSLAP_IE_CellId ts_BSSLAP_IE_CellId(uint16_t cell_id) := { + iei := BSSLAP_IEI_CELL_ID, + cell_id := cell_id +} +template (present) BSSLAP_IE_CellId tr_BSSLAP_IE_CellId(template (present) uint16_t cell_id) := { + iei := BSSLAP_IEI_CELL_ID, + cell_id := cell_id +} + +template (value) BSSLAP_IE_Cause ts_BSSLAP_IE_Cause(BSSLAP_Cause cause) := { + iei := BSSLAP_IEI_CAUSE, + cause := cause +} +template (present) BSSLAP_IE_Cause tr_BSSLAP_IE_Cause(template (present) BSSLAP_Cause cause) := { + iei := BSSLAP_IEI_CAUSE, + cause := cause +} + + + + + + +} with { encode "RAW" }; diff --git a/library/BSSMAP_LE_Templates.ttcn b/library/BSSMAP_LE_Templates.ttcn new file mode 100644 index 0000000..70805e7 --- /dev/null +++ b/library/BSSMAP_LE_Templates.ttcn @@ -0,0 +1,434 @@ +module BSSMAP_LE_Templates { + +/* BSSMAP-LE Templates, building on top of BSSAP_LE_Types. + * + * (C) 2017-2020 by Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from BSSAP_Types all; +import from BSSAP_LE_Types all; +import from BSSMAP_Templates all; +import from L3_Templates all; + +function ts_BSSMAP_LE_LcsCause(template (omit) BSSMAP_LE_LcsCause cause) +return template (omit) BSSMAP_LE_IE_LcsCause { + if (istemplatekind(cause, "omit")) { + return omit; + } + var template (omit) BSSMAP_LE_IE_LcsCause ie := { + iei := BSSMAP_LE_IEI_IMSI, + len := 0, + cause := cause, + diag_val := omit + } + return ie; +} +function tr_BSSMAP_LE_LcsCause(template BSSMAP_LE_LcsCause cause) +return template BSSMAP_LE_IE_LcsCause { + if (istemplatekind(cause, "omit")) { + return omit; + } + var template BSSMAP_LE_IE_LcsCause ie := { + iei := BSSMAP_LE_IEI_IMSI, + len := ?, + cause := cause, + diag_val := * + } + return ie; +} + + +function ts_BSSMAP_LE_GeographicLoc(template (omit) octetstring loc) +return template (omit) BSSMAP_LE_IE_GeographicLoc { + if (istemplatekind(loc, "omit")) { + return omit; + } + var template (omit) BSSMAP_LE_IE_GeographicLoc ie := { + iei := BSSMAP_LE_IEI_GEO_LOCATION, + len := 0, + location := loc + } + return ie; +} +function tr_BSSMAP_LE_GeographicLoc(template octetstring loc) +return template BSSMAP_LE_IE_GeographicLoc { + if (istemplatekind(loc, "omit")) { + return omit; + } + var template BSSMAP_LE_IE_GeographicLoc ie := { + iei := BSSMAP_LE_IEI_GEO_LOCATION, + len := ?, + location := loc + } + return ie; +} + + + + +template (value) PDU_BSSAP_LE ts_BSSAP_LE_BSSMAP := { + discriminator := '0'B, + spare := '0000000'B, + dlci := omit, + lengthIndicator := 0, /* overwritten by codec */ + pdu := { + bssmap := - + } +} + +template (present) PDU_BSSAP_LE tr_BSSAP_LE_BSSMAP := { + discriminator := '0'B, + spare := '0000000'B, + dlci := *, + lengthIndicator := ?, + pdu := { + bssmap := ? + } +} + +template (value) PDU_BSSAP_LE ts_BSSAP_LE_DTAP(octetstring dtap, template (value) OCT1 dlci) := { + discriminator := '1'B, + spare := '0000000'B, + dlci := dlci, + lengthIndicator := 0, /* overwritten by codec */ + pdu := { + dtap := dtap + } +} + +template (present) PDU_BSSAP_LE tr_BSSAP_LE_DTAP := { + discriminator := '1'B, + spare := '0000000'B, + dlci := *, + lengthIndicator := ?, + pdu := { + dtap := ? + } +} + +function ts_BSSMAP_LE_IMSI(template (omit) hexstring imsi) return template (omit) BSSMAP_LE_IE_IMSI { + if (istemplatekind(imsi, "omit")) { + return omit; + } + template (value) BSSMAP_LE_IE_IMSI res := { + iei := BSSMAP_LE_IEI_IMSI, + len := 0, + imsi := ts_MI_IMSI(valueof(imsi)) + }; + return res; +} +function tr_BSSMAP_LE_IMSI(template hexstring imsi) return template BSSMAP_LE_IE_IMSI { + if (istemplatekind(imsi, "omit")) { + return omit; + } + template BSSMAP_LE_IE_IMSI res := { + iei := BSSMAP_LE_IEI_IMSI, + len := ?, + imsi := tr_MI_IMSI(imsi) + }; + return res; +} + +template (value) BSSMAP_LE_IE_LocationType ts_BSSMAP_LE_LocType(template (value) BSSMAP_LE_LocInfo li, + template (omit) BSSMAP_LE_PosMethod pm := omit) := { + iei := BSSMAP_LE_IEI_LOCATION_TYPE, + len := 0, + loc_info := li, + pos_method := pm +} +template (present) BSSMAP_LE_IE_LocationType tr_BSSMAP_LE_LocType(template (present) BSSMAP_LE_LocInfo li, + template BSSMAP_LE_PosMethod pm := omit) := { + iei := BSSMAP_LE_IEI_LOCATION_TYPE, + len := ?, + loc_info := li, + pos_method := pm +} + + +/* Section 9.1 */ +template (value) PDU_BSSAP_LE ts_BSMAP_LE_PerfLocReq(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (value) BSSMAP_IE_CellIdentifier cell_id, + template (omit) hexstring imsi) + +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_req := { + msg_type := BSSMAP_LE_PERFORM_LOC_REQ, + location_type := ts_BSSMAP_LE_LocType(loc_info), + cell_id := cell_id, + cm3 := omit, + lcs_client_type := omit, + chosen_channel := omit, + lcs_priority := omit, + lcs_qos := omit, + req_gps_ass_d := omit, + bsslap_apdu := omit, + lcs_capability := omit, + packet_meas_rep := omit, + meas_cell_id_list := omit, + imsi := ts_BSSMAP_LE_IMSI(imsi), + imei := omit + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSMAP_LE_PerfLocReq(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (present) BSSMAP_IE_CellIdentifier cell_id, + template hexstring imsi) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_req := { + msg_type := BSSMAP_LE_PERFORM_LOC_REQ, + location_type := tr_BSSMAP_LE_LocType(loc_info), + cell_id := cell_id, + cm3 := *, + lcs_client_type := *, + chosen_channel := *, + lcs_priority := *, + lcs_qos := *, + req_gps_ass_d := *, + bsslap_apdu := *, + lcs_capability := *, + packet_meas_rep := *, + meas_cell_id_list := *, + imsi := tr_BSSMAP_LE_IMSI(imsi), + imei := * + } + } + } +} + + +/* Section 9.2 */ +template (value) PDU_BSSAP_LE ts_BSMAP_LE_PerfLocResp(BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template (omit) octetstring geo_loc, + template (omit) BSSMAP_LE_LcsCause cause) + +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_resp := { + msg_type := BSSMAP_LE_PERFORM_LOC_RESP, + geographic_loc := ts_BSSMAP_LE_GeographicLoc(geo_loc), + pos_data := omit, + deciph_keys := omit, + lcs_cause := ts_BSSMAP_LE_LcsCause(cause), + velocity_data := omit, + ganss_pos_data := omit + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSMAP_LE_PerfLocResp(template BSSMAP_LE_LocInfo loc_info := BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC_LOC, + template octetstring geo_loc, + template BSSMAP_LE_LcsCause cause) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_resp := { + msg_type := BSSMAP_LE_PERFORM_LOC_RESP, + geographic_loc := tr_BSSMAP_LE_GeographicLoc(geo_loc), + pos_data := *, + deciph_keys := *, + lcs_cause := tr_BSSMAP_LE_LcsCause(cause), + velocity_data := *, + ganss_pos_data := * + } + } + } +} + + +/* Section 9.8 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_ConnInfo(BSSMAP_LE_ProtocolId prot_id, octetstring data, + template (omit) BSSMAP_LE_IE_Segmentation segm := omit) +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + co_info := { + msg_type := BSSMAP_LE_CONN_ORIENTED_INFO, + bsslap_apdu := { + iei := BSSMAP_LE_IEI_APDU, + len := 0, + spare := '0'B, + protocol_id := prot_id, + data := data + }, + segmentation := segm + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_ConnInfo(template (present) BSSMAP_LE_ProtocolId prot_id, + template (present) octetstring data, + template BSSMAP_LE_IE_Segmentation segm := omit) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + co_info := { + msg_type := BSSMAP_LE_CONN_ORIENTED_INFO, + bsslap_apdu := { + iei := BSSMAP_LE_IEI_APDU, + len := ?, + spare := '0'B, + protocol_id := prot_id, + data := data + }, + segmentation := segm + } + } + } +} + + + +/* Section 9.10 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_Reset(myBSSMAP_Cause cause) modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET, + cause := ts_BSSMAP_IE_Cause(enum2int(cause)) + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_Reset modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET, + cause := ? + } + } + } +} + +/* Section 9.11 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_ResetAck modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset := { + msg_type := BSSMAP_LE_RESET_ACK + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_ResetAck modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + reset_ack := { + msg_type := BSSMAP_LE_RESET_ACK + } + } + } +} + +function ts_BSSMAP_LE_APDU(BSSMAP_LE_ProtocolId prot_id, template (omit) octetstring data) +return template (omit) BSSMAP_LE_IE_APDU { + var BSSMAP_LE_IE_APDU ie := { + iei := BSSMAP_LE_IEI_APDU, + len := 0, // overwritten + spare := '0'B, + protocol_id := prot_id + } + if (istemplatekind(data, "omit")) { + return omit; + } + ie.data := valueof(data); + return ie; +} + +function tr_BSSMAP_LE_APDU(template BSSMAP_LE_ProtocolId prot_id, template octetstring data) +return template BSSMAP_LE_IE_APDU { + var template BSSMAP_LE_IE_APDU ie := { + iei := BSSMAP_LE_IEI_APDU, + len := ?, + spare := '0'B, + protocol_id := prot_id + } + if (istemplatekind(data, "omit")) { + return omit; + } else if (istemplatekind(data, "*")) { + return *; + } + ie.data := valueof(data); + return ie; +} + + +/* Section 9.12 */ +template (value) PDU_BSSAP_LE ts_BSSMAP_LE_PerformLocInfo(BSSMAP_IE_CellIdentifier cell_id, + BSSMAP_LE_ProtocolId prot_id, + template (omit) octetstring data) +modifies ts_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_info := { + msg_type := BSSMAP_LE_PERFORM_LOC_INFO, + cell_id := cell_id, + bsslap_apdu := ts_BSSMAP_LE_APDU(prot_id, data) + } + } + } +} +template (present) PDU_BSSAP_LE tr_BSSMAP_LE_PerformLocInfo(template (present) BSSMAP_IE_CellIdentifier cell_id, + template BSSMAP_LE_ProtocolId prot_id, + template octetstring data) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + perf_loc_info := { + msg_type := BSSMAP_LE_PERFORM_LOC_INFO, + cell_id := cell_id, + bsslap_apdu := tr_BSSMAP_LE_APDU(prot_id, data) + } + } + } +} + +/* return Layer3 octetstring inside BSSAP-LE PDU */ +function f_bssap_le_extract_l3(PDU_BSSAP_LE bssap) return template octetstring { + if (ischosen(bssap.pdu.bssmap)) { + return omit; + } else { + return bssap.pdu.dtap; + } +} + + +template PDU_BSSAP_LE tr_BSSMAP_LE_Paging(template hexstring imsi_digits := ?, + template OCT4 tmsi := *, + template BSSMAP_IE_ChannelNeeded chneed := *) +modifies tr_BSSAP_LE_BSSMAP := { + pdu := { + bssmap := { + paging := { + messageType := '52'O, + iMSI := tr_BSSMAP_Imsi(imsi_digits), + tMSI := tr_BSSMAP_IE_TMSI(tmsi) ifpresent, + cellIdentifierList := ?, + channelNeeded := chneed, + eMLPP_Priority := omit, + pagingInformation := omit /* only VGCS/VBS flag */ + } + } + } +} + + + + +} with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If31830be2c8e1b624579f6663e74955763db9d0e Gerrit-Change-Number: 19764 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: Add BSSLAP_LE_{CodecPort, Emulation} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 ) Change subject: library: Add BSSLAP_LE_{CodecPort,Emulation} ...................................................................... library: Add BSSLAP_LE_{CodecPort,Emulation} Those two modules are analogous to BSSAP/BSSMAP CodecPort and Emulation, but for the Lb interface (BSC-SMLC) instead of the A interface. Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 --- A library/BSSAP_LE_Adapter.ttcn A library/BSSAP_LE_CodecPort.ttcn A library/BSSAP_LE_Emulation.ttcn M library/RAN_Emulation.ttcnpp 4 files changed, 1,216 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/library/BSSAP_LE_Adapter.ttcn b/library/BSSAP_LE_Adapter.ttcn new file mode 100644 index 0000000..dba8841 --- /dev/null +++ b/library/BSSAP_LE_Adapter.ttcn @@ -0,0 +1,130 @@ +module BSSAP_LE_Adapter { + +/* This module implements a 'dumb' BSSAP_LE adapter. It creates the M3UA and SCCP components and stacks a + * BSSAP_LE codec port on top. As a result, it provides the ability to transceive SCCP-User-SAP primitives + * with deoded BSSAP_LE payload. Use this if you want to have full control about what you transmit or + * receive, without any automatisms in place. Allows you to refuse connections or other abnormal behavior. */ + +/* (C) 2017-2020 Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from M3UA_Emulation all; +import from MTP3asp_Types all; +import from MTP3asp_PortType all; + +import from IPA_Emulation all; + +import from SCCP_Types all; +import from SCCPasp_Types all; +import from SCCP_Emulation all; +import from SCCP_Templates all; + +import from SCTPasp_Types all; +import from SCTPasp_PortType all; + +import from BSSMAP_LE_Templates all; +import from BSSAP_LE_Emulation all; + +type record BSSAP_LE_Adapter { + /* component references */ + M3UA_CT vc_M3UA, /* only in 3GPP AoIP */ + SCCP_CT vc_SCCP, + + MSC_SCCP_MTP3_parameters sccp_pars, + SCCP_PAR_Address sccp_addr_own, + SCCP_PAR_Address sccp_addr_peer, + + /* handler mode */ + BSSAP_LE_Emulation_CT vc_BSSAP_LE +} + +type record BSSAP_LE_Configuration { + charstring sccp_service_type, + SCTP_Association_Address sctp_addr, + integer own_pc, + integer own_ssn, + integer peer_pc, + integer peer_ssn, + octetstring sio, + integer rctx +}; +type record of BSSAP_LE_Configuration BSSAP_LE_Configurations; + +private function init_pars(inout BSSAP_LE_Adapter ba, in BSSAP_LE_Configuration cfg) { + ba.sccp_pars := { + sio := { + ni := substr(oct2bit(cfg.sio),0,2), + prio := substr(oct2bit(cfg.sio),2,2), + si := substr(oct2bit(cfg.sio),4,4) + }, + opc := cfg.own_pc, + dpc := cfg.peer_pc, + sls := 0, + sccp_serviceType := cfg.sccp_service_type, + ssn := cfg.own_ssn + }; + ba.sccp_addr_own := valueof(ts_SccpAddr_PC_SSN(cfg.own_pc, cfg.own_ssn, cfg.sio, cfg.sccp_service_type)); + ba.sccp_addr_peer := valueof(ts_SccpAddr_PC_SSN(cfg.peer_pc, cfg.peer_ssn, cfg.sio, cfg.sccp_service_type)); +} + + +function f_bssap_le_adapter_init(inout BSSAP_LE_Adapter ba, in BSSAP_LE_Configuration cfg, charstring id, + template BssapLeOps ops) { + init_pars(ba, cfg); + ops.sccp_addr_local := ba.sccp_addr_own; + ops.sccp_addr_peer := ba.sccp_addr_peer; + + /* create components */ + ba.vc_SCCP := SCCP_CT.create(id & "-SCCP"); + if (isvalue(ops)) { + ba.vc_BSSAP_LE := BSSAP_LE_Emulation_CT.create(id & "-BSSAP_LE"); + } else { + ba.vc_BSSAP_LE := null; + } + ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); + map(ba.vc_M3UA:SCTP_PORT, system:sctp); + /* connect MTP3 service provider (M3UA) to lower side of SCCP */ + connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + + if (isvalue(ops)) { + timer T := 5.0; + T.start; + //T.timeout; + /* connect BSSNAP component to upper side of SCCP */ + log("Connecting BSSAP_LE_Emulation to SCCP_SP_PORT"); + connect(ba.vc_BSSAP_LE:BSSAP_LE, ba.vc_SCCP:SCCP_SP_PORT); + log("Starting BSSAP_LE_Emulation"); + ba.vc_BSSAP_LE.start(BSSAP_LE_Emulation.main(valueof(ops), "")); + } + + +} + +function f_bssap_le_adapter_start(inout BSSAP_LE_Adapter ba) { + ba.vc_SCCP.start(SCCPStart(ba.sccp_pars)); +} + +function f_bssap_le_adapter_cleanup(inout BSSAP_LE_Adapter ba) { + if (ba.vc_BSSAP_LE != null) { + disconnect(ba.vc_BSSAP_LE:BSSAP_LE, ba.vc_SCCP:SCCP_SP_PORT); + ba.vc_BSSAP_LE.stop; + } + unmap(ba.vc_M3UA:SCTP_PORT, system:sctp); + disconnect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); + ba.vc_M3UA.stop; + ba.vc_SCCP.stop; +} + + +} diff --git a/library/BSSAP_LE_CodecPort.ttcn b/library/BSSAP_LE_CodecPort.ttcn new file mode 100644 index 0000000..f1d930f --- /dev/null +++ b/library/BSSAP_LE_CodecPort.ttcn @@ -0,0 +1,380 @@ +module BSSAP_LE_CodecPort { + +/* Simple BSSAP_LE Codec Port, translating between raw SCCP primitives with + * octetstring payload towards the SCCP provider, and BSSAP_LE-SCCP primitives + * which carry the decoded BSSAP_LE data types as payload. + * + * (C) 2017 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from SCCPasp_Types all; +import from SCCP_Types all; + +import from BSSAP_LE_Types all; + +type record BSSAP_LE_N_CONNECT_req +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_req ts_BSSAP_LE_CONNECT_req(SCCP_PAR_Address called, + SCCP_PAR_Address calling, + SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := omit) := { + calledAddress := called, + callingAddress := calling, + expeditedDataSel := omit, + qualityOfService := omit, + userData := bssap, + connectionId := conn_id, + importance := omit +} + +type record BSSAP_LE_N_CONNECT_ind +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_ind tr_BSSAP_LE_CONNECT_ind(template SCCP_PAR_Address called, + template SCCP_PAR_Address calling, + template PDU_BSSAP_LE payload := *) := { + calledAddress := called, + callingAddress := calling, + qualityOfService := *, + userData := payload, + connectionId := *, + importance := * +} + +type record BSSAP_LE_N_CONNECT_res +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_res ts_BSSAP_LE_CONNECT_res(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := omit) := { + respondingAddress := omit, + expeditedDataSel := omit, + qualityOfService := omit, + userData := bssap, + connectionId := conn_id, + importance := omit +} + +type record BSSAP_LE_N_CONNECT_cfm +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + PDU_BSSAP_LE userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_CONNECT_cfm tr_BSSAP_LE_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := *) := { + respondingAddress := *, + qualityOfService := *, + userData := bssap, + connectionId := conn_id, + importance := * +} + +type record BSSAP_LE_N_DATA_req +{ + PDU_BSSAP_LE userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DATA_req ts_BSSAP_LE_DATA_req(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap) := { + userData := bssap, + connectionId := conn_id, + importance := omit +} + + +type record BSSAP_LE_N_DATA_ind +{ + PDU_BSSAP_LE userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DATA_ind tr_BSSAP_LE_DATA_ind(SCCP_PAR_Connection_Id conn_id, + template PDU_BSSAP_LE bssap := *) := { + userData := bssap, + connectionId := conn_id, + importance := * +} + + +type record BSSAP_LE_N_DISCONNECT_req +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Reason reason , + PDU_BSSAP_LE userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DISCONNECT_req ts_BSSAP_LE_DISC_req(SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Reason reason, + template PDU_BSSAP_LE bssap := omit) := { + respondingAddress := omit, + reason := reason, + userData := bssap, + connectionId := conn_id, + importance := omit +} + + +type record BSSAP_LE_N_DISCONNECT_ind +{ + SCCP_PAR_Originator originator , + SCCP_PAR_Address respondingAddress optional , + SCCP_PAR_Reason reason , + PDU_BSSAP_LE userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_DISCONNECT_ind tr_BSSAP_LE_DISC_ind(template SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Originator originator, + template SCCP_PAR_Reason reason, + template PDU_BSSAP_LE bssap := *) := { + originator := originator, + respondingAddress:= *, + reason := reason, + userData := bssap, + connectionId := conn_id, + importance := * +} + +type record BSSAP_LE_N_UNITDATA_req +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional + } + +template BSSAP_LE_N_UNITDATA_req ts_BSSAP_LE_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template PDU_BSSAP_LE payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := omit, + returnOption := omit, + userData := payload, + importance := omit +} + +type record BSSAP_LE_N_UNITDATA_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional +} + +template BSSAP_LE_N_UNITDATA_ind tr_BSSAP_LE_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template PDU_BSSAP_LE payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := *, + returnOption := *, + userData := payload, + importance := * +} + +type record BSSAP_LE_N_NOTICE_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Reason_For_Return reasonForReturn , + PDU_BSSAP_LE userData , + SCCP_PAR_Importance importance optional +} + + + +private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out BSSAP_LE_N_CONNECT_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out BSSAP_LE_N_CONNECT_cfm pout) { + pout.respondingAddress := pin.respondingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out BSSAP_LE_N_DATA_ind pout) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out BSSAP_LE_N_DISCONNECT_ind pout) { + pout.originator := pin.originator; + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out BSSAP_LE_N_UNITDATA_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out BSSAP_LE_N_NOTICE_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.reasonForReturn := pin.reasonForReturn; + pout.userData := dec_PDU_BSSAP_LE(pin.userData); + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + + + +private function f_enc_ConnectReq(in BSSAP_LE_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_ConnectRes(in BSSAP_LE_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) { + pout.respondingAddress := pin.respondingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_DataReq(in BSSAP_LE_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_DisconnectReq(in BSSAP_LE_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) { + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +private function f_enc_UnitdataReq(in BSSAP_LE_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.userData := enc_PDU_BSSAP_LE(pin.userData); + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.importance := pin.importance; +} with {extension "prototype(fast)" } + +type port BSSAP_LE_CODEC_PT message { + out BSSAP_LE_N_CONNECT_req, + BSSAP_LE_N_CONNECT_res, + BSSAP_LE_N_DATA_req, + BSSAP_LE_N_DISCONNECT_req, + BSSAP_LE_N_UNITDATA_req, + ASP_SCCP_N_RESET_req; + in BSSAP_LE_N_CONNECT_ind, + BSSAP_LE_N_CONNECT_cfm, + BSSAP_LE_N_DATA_ind, + BSSAP_LE_N_DISCONNECT_ind, + BSSAP_LE_N_UNITDATA_ind, + BSSAP_LE_N_NOTICE_ind, + ASP_SCCP_N_RESET_ind, + ASP_SCCP_N_RESET_cfm, + ASP_SCCP_N_STATE_ind; +} with { extension "internal user SCCPasp_PT + out(BSSAP_LE_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq); + BSSAP_LE_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes); + BSSAP_LE_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq); + BSSAP_LE_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq); + BSSAP_LE_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq); + ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple) + in(ASP_SCCP_N_CONNECT_ind -> BSSAP_LE_N_CONNECT_ind: function(f_dec_ConnectInd); + ASP_SCCP_N_CONNECT_cfm -> BSSAP_LE_N_CONNECT_cfm: function(f_dec_ConnectCfm); + ASP_SCCP_N_DATA_ind -> BSSAP_LE_N_DATA_ind: function(f_dec_DataInd); + ASP_SCCP_N_DISCONNECT_ind -> BSSAP_LE_N_DISCONNECT_ind: function(f_dec_DisconnectInd); + ASP_SCCP_N_UNITDATA_ind -> BSSAP_LE_N_UNITDATA_ind: function(f_dec_UnitdataInd); + ASP_SCCP_N_NOTICE_ind -> BSSAP_LE_N_NOTICE_ind: function(f_dec_NoticeInd); + ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple; + ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple; + ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)" +} + + +} diff --git a/library/BSSAP_LE_Emulation.ttcn b/library/BSSAP_LE_Emulation.ttcn new file mode 100644 index 0000000..0b9fe16 --- /dev/null +++ b/library/BSSAP_LE_Emulation.ttcn @@ -0,0 +1,704 @@ +module BSSAP_LE_Emulation { + +/* BSSAP_LE Emulation, runs on top of BSSAP_LE_CodecPort. It multiplexes/demultiplexes + * the individual connections, so there can be separate TTCN-3 components handling + * each of the connections. + * + * The BSSAP_LE_Emulation.main() function processes SCCP primitives from the SCCP + * stack via the BSSAP_CodecPort, and dispatches them to the per-connection components. + * + * Outbound BSSAP/SCCP connections are initiated by sending a BSSAP_LE_Conn_Req primitive + * to the component running the BSSAP_LE_Emulation.main() function. + * + * For each new inbound connections, the BssapLeOps.create_cb() is called. It can create + * or resolve a TTCN-3 component, and returns a component reference to which that inbound + * connection is routed/dispatched. + * + * If a pre-existing component wants to register to handle a future inbound connection, it can + * do so by registering an "expect" with the expected Layer 3 (DTAP) payload. This is e.g. useful + * if you are simulating BTS + MSC, and first trigger a connection from BTS/RSL side in a + * component which then subsequently should also handle the MSC emulation. + * + * Inbound Unit Data messages (such as are dispatched to the BssapLeOps.unitdata_cb() callback, + * which is registered with an argument to the main() function below. + * + * (C) 2017-2020 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from General_Types all; +import from Osmocom_Types all; +import from SCCP_Emulation all; +import from SCCPasp_Types all; +import from IPA_Emulation all; +import from MobileL3_Types all; +import from Misc_Helpers all; + +import from BSSAP_LE_Types all; +import from BSSAP_LE_CodecPort all; +import from BSSMAP_LE_Templates all; +import from BSSMAP_Templates all; +import from RAN_Emulation all; + +/* General "base class" component definition, of which specific implementations + * derive themselves by means of the "extends" feature */ +type component BSSAP_LE_ConnHdlr { + /* port towards MSC Emulator core / SCCP connection dispatchar */ + port BSSAP_LE_Conn_PT BSSAP_LE; + /* procedure based port to register for incoming connections */ + port BSSAP_LE_PROC_PT BSSAP_LE_PROC; +} + +/* Auxiliary primitive that can happen on the port between per-connection client and this dispatcher */ +type enumerated BSSAP_LE_Conn_Prim { + /* SCCP tell us that connection was released */ + CONN_PRIM_DISC_IND, + /* we tell SCCP to release connection */ + CONN_PRIM_DISC_REQ, + /* Connection confirmed indication */ + CONN_PRIM_CONF_IND +} + +/* port between individual per-connection components and this dispatcher */ +type port BSSAP_LE_Conn_PT message { + inout + PDU_BSSAP_LE, + BSSAP_LE_N_UNITDATA_req, + /* Client requests us to create SCCP Connection */ + BSSAP_LE_Conn_Req, + /* direct DTAP messages from/to clients */ + PDU_DTAP_MO, PDU_DTAP_MT, + PDU_DTAP_PS_MO, PDU_DTAP_PS_MT, + /* misc indications / requests between SCCP and client */ + BSSAP_LE_Conn_Prim; +} with { extension "internal" }; + +type uint2_t N_Sd_Array[4]; + +/* represents a single BSSAP connection over SCCP */ +type record ConnectionData { + /* reference to the instance of the per-connection component */ + BSSAP_LE_ConnHdlr comp_ref, + integer sccp_conn_id, + /* array of N(SD) values for MO DTAP messages, indexed by discriminator */ + N_Sd_Array n_sd +} + +type record ImsiMapping { + BSSAP_LE_ConnHdlr comp_ref, + hexstring imsi optional, + OCT4 tmsi +} + +type component BSSAP_LE_Emulation_CT { + /* SCCP ports on the bottom side, using ASP primitives */ + port BSSAP_LE_CODEC_PT BSSAP_LE; + /* BSSAP port to the per-connection clients */ + port BSSAP_LE_Conn_PT CLIENT; + + /* use 16 as this is also the number of SCCP connections that SCCP_Emulation can handle */ + var ConnectionData ConnectionTable[16]; + + /* pending expected incoming connections */ + var ExpectData ExpectTable[8]; + + /* tables for mapping inbound unitdata (like paging) */ + var ImsiMapping ImsiTable[16]; + + /* procedure based port to register for incoming connections */ + port BSSAP_LE_PROC_PT PROC; + + var charstring g_ran_id; + var integer g_next_e1_ts := 1; + var BssapLeOps g_ran_ops; +}; + +private function f_conn_id_known(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT return boolean { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id){ + return true; + } + } + return false; +} + +private function f_comp_known(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return boolean { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return true; + } + } + return false; +} + +/* resolve component reference by connection ID */ +private function f_comp_by_conn_id(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + var integer i; + for (i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id) { + return ConnectionTable[i].comp_ref; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by SCCP Connection ID ", sccp_conn_id); + mtc.stop; +} + +/* resolve connection ID by component reference */ +private function f_conn_id_by_comp(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return integer { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return ConnectionTable[i].sccp_conn_id; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by component ", client); + mtc.stop; +} + +/* resolve ConnectionTable index component reference */ +private function f_idx_by_comp(BSSAP_LE_ConnHdlr client) +runs on BSSAP_LE_Emulation_CT return integer { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].comp_ref == client) { + return i; + } + } + setverdict(fail, "BSSAP-LE Connection table not found by component ", client); + mtc.stop; +} + +private function f_gen_conn_id() +runs on BSSAP_LE_Emulation_CT return integer { + var integer conn_id; + + do { + conn_id := float2int(rnd()*SCCP_Emulation.tsp_max_ConnectionId); + } while (f_conn_id_known(conn_id) == true); + + return conn_id; +} + +private function f_conn_table_init() +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + ConnectionTable[i].comp_ref := null; + ConnectionTable[i].sccp_conn_id := -1; + ConnectionTable[i].n_sd := { 0, 0, 0, 0 }; + } + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + ImsiTable[i].comp_ref := null; + ImsiTable[i].imsi := omit; + ImsiTable[i].tmsi := 'FFFFFFFF'O; + } +} + +private function f_conn_table_add(BSSAP_LE_ConnHdlr comp_ref, integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == -1) { + ConnectionTable[i].comp_ref := comp_ref; + ConnectionTable[i].sccp_conn_id := sccp_conn_id; + ConnectionTable[i].n_sd := { 0, 0, 0, 0 }; + log("Added conn table entry ", i, comp_ref, sccp_conn_id); + return; + } + } + testcase.stop("BSSAP-LE Connection table full!"); +} + +private function f_conn_table_del(integer sccp_conn_id) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ConnectionTable); i := i+1) { + if (ConnectionTable[i].sccp_conn_id == sccp_conn_id) { + log("Deleted conn table entry ", i, + ConnectionTable[i].comp_ref, sccp_conn_id); + ConnectionTable[i].sccp_conn_id := -1; + ConnectionTable[i].comp_ref := null; + return + } + } + setverdict(fail, "BSSAP-LE Connection table attempt to delete non-existant ", sccp_conn_id); + mtc.stop; +} + +private function f_imsi_table_find(hexstring imsi, template OCT4 tmsi) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + if (ImsiTable[i].imsi == imsi or + isvalue(tmsi) and match(ImsiTable[i].tmsi, tmsi)) { + return ImsiTable[i].comp_ref; + } + } + return null; +} + +type record BSSAP_LE_Conn_Req { + SCCP_PAR_Address addr_peer, + SCCP_PAR_Address addr_own, + PDU_BSSAP_LE bssap +} +template BSSAP_LE_Conn_Req ts_BSSAP_LE_Conn_Req(SCCP_PAR_Address peer, SCCP_PAR_Address own, PDU_BSSAP_LE bssap) := { + addr_peer := peer, + addr_own := own, + bssap := bssap +}; + +/* handle (optional) userData portion of various primitives and dispatch it to the client */ +private function f_handle_userData(BSSAP_LE_ConnHdlr client, PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT { + /* decode + send decoded BSSAP to client */ + + if (ischosen(bssap.pdu.dtap) and g_ran_ops.decode_dtap) { + if (g_ran_ops.role_ms) { + /* we are the MS, so any message to us must be MT */ + var PDU_DTAP_MT mt := { + dlci := bssap.dlci, + dtap := dec_PDU_ML3_NW_MS(bssap.pdu.dtap) + }; + CLIENT.send(mt) to client; + } else { + /* we are the Network, so any message to us must be MO */ + var PDU_DTAP_MO mo := { + dlci := bssap.dlci, + dtap := dec_PDU_ML3_MS_NW(bssap.pdu.dtap) + }; + CLIENT.send(mo) to client; + } + } else { + CLIENT.send(bssap) to client; + } +} + +/* call-back type, to be provided by specific implementation; called when new SCCP connection + * arrives */ +type function BssmapLeCreateCallback(BSSAP_LE_N_CONNECT_ind conn_ind, charstring id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr; + +type function BssmapLeUnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE; + +/* handle common Unitdata such as Paging */ +private function CommonBssmapUnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { + if (match(bssap, tr_BSSMAP_LE_Paging)) { + var BSSAP_LE_ConnHdlr client := null; + client := f_imsi_table_find(bssap.pdu.bssmap.paging.iMSI.digits, + bssap.pdu.bssmap.paging.tMSI.tmsiOctets); + if (client != null) { + log("CommonBssmapUnitdataCallback: IMSI/TMSI found in table, dispatching to ", + client); + CLIENT.send(bssap) to client; + return omit; + } + log("CommonBssmapUnitdataCallback: IMSI/TMSI not found in table"); + } else { + log("CommonBssmapUnitdataCallback: Not a paging message"); + } + /* ELSE: handle in user callback */ + return g_ran_ops.unitdata_cb.apply(bssap); +} + +private function f_bssap_le_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on BSSAP_LE_Emulation_CT { + timer T := 5.0; + + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(peer, own, ts_BSSMAP_LE_Reset(GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE))); + T.start; + alt { + [] BSSAP_LE.receive(tr_BSSAP_LE_UNITDATA_ind(own, peer, tr_BSSMAP_LE_ResetAck)) { + log("Received RESET-ACK in response to RESET, we're ready to go!"); + } + [] as_reset_ack(); + [] BSSAP_LE.receive { repeat }; + [] T.timeout { + setverdict(fail, "Timeout waiting for RESET-ACK after sending RESET"); + mtc.stop; + } + } +} + +private function f_bssap_l3_is_rr(PDU_BSSAP_LE bssap) return boolean { + var template octetstring l3 := f_bssap_le_extract_l3(bssap); + return f_L3_is_rr(l3); +} + + + +type record BssapLeOps { + BssmapLeCreateCallback create_cb optional, + BssmapLeUnitdataCallback unitdata_cb optional, + boolean decode_dtap, + boolean role_ms, + /* needed for performing BSSMAP RESET */ + SCCP_PAR_Address sccp_addr_local optional, + SCCP_PAR_Address sccp_addr_peer optional +} + +private altstep as_reset_ack() runs on BSSAP_LE_Emulation_CT { + var BSSAP_LE_N_UNITDATA_ind ud_ind; + [] BSSAP_LE.receive(tr_BSSAP_LE_UNITDATA_ind(?, ?, tr_BSSMAP_LE_Reset)) -> value ud_ind { + log("Respoding to inbound RESET with RESET-ACK"); + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, + ts_BSSMAP_LE_ResetAck)); + repeat; + } +} + + +private altstep as_main_bssap_le() runs on BSSAP_LE_Emulation_CT { + var BSSAP_LE_N_UNITDATA_ind ud_ind; + var BSSAP_LE_N_CONNECT_ind conn_ind; + var BSSAP_LE_N_CONNECT_cfm conn_cfm; + var BSSAP_LE_N_DATA_ind data_ind; + var BSSAP_LE_N_DISCONNECT_ind disc_ind; + var BSSAP_LE_Conn_Req creq; + var PDU_BSSAP_LE bssap; + var BSSAP_LE_N_UNITDATA_req bssap_ud; + var BSSAP_LE_ConnHdlr vc_conn; + var integer targetPointCode; + var N_Sd_Array last_n_sd; + + /* SCCP -> Client: UNIT-DATA (connectionless SCCP) from a BSC */ + [] BSSAP_LE.receive(BSSAP_LE_N_UNITDATA_ind:?) -> value ud_ind { + /* Connectionless Procedures like RESET */ + var template PDU_BSSAP_LE resp; + resp := CommonBssmapUnitdataCallback(ud_ind.userData); + if (isvalue(resp)) { + BSSAP_LE.send(ts_BSSAP_LE_UNITDATA_req(ud_ind.callingAddress, + ud_ind.calledAddress, resp)); + } + } + /* SCCP -> Client: new connection from BSC */ + [] BSSAP_LE.receive(BSSAP_LE_N_CONNECT_ind:?) -> value conn_ind { + vc_conn := g_ran_ops.create_cb.apply(conn_ind, g_ran_id); + /* store mapping between client components and SCCP connectionId */ + f_conn_table_add(vc_conn, conn_ind.connectionId); + /* handle user payload */ + f_handle_userData(vc_conn, conn_ind.userData); + /* confirm connection establishment */ + BSSAP_LE.send(ts_BSSAP_LE_CONNECT_res(conn_ind.connectionId, omit)); + } + /* SCCP -> Client: connection-oriented data in existing connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_DATA_ind:?) -> value data_ind { + vc_conn := f_comp_by_conn_id(data_ind.connectionId); + if (ispresent(data_ind.userData)) { + f_handle_userData(vc_conn, data_ind.userData); + } + } + /* SCCP -> Client: disconnect of an existing connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_DISCONNECT_ind:?) -> value disc_ind { + vc_conn := f_comp_by_conn_id(disc_ind.connectionId); + if (ispresent(disc_ind.userData)) { + f_handle_userData(vc_conn, disc_ind.userData); + } + /* notify client about termination */ + var BSSAP_LE_Conn_Prim prim := CONN_PRIM_DISC_IND; + CLIENT.send(prim) to vc_conn; + f_conn_table_del(disc_ind.connectionId); + /* TOOD: return confirm to other side? */ + } + /* SCCP -> Client: connection confirm for outbound connection */ + [] BSSAP_LE.receive(BSSAP_LE_N_CONNECT_cfm:?) -> value conn_cfm { + vc_conn := f_comp_by_conn_id(conn_cfm.connectionId); + var BSSAP_LE_Conn_Prim prim := CONN_PRIM_CONF_IND; + CLIENT.send(prim) to vc_conn; + /* handle user payload */ + if (ispresent(conn_cfm.userData)) { + f_handle_userData(vc_conn, conn_cfm.userData); + } + } + [] CLIENT.receive(PDU_BSSAP_LE:?) -> value bssap sender vc_conn { + var integer conn_id := f_conn_id_by_comp(vc_conn); + /* send it to dispatcher */ + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(conn_id, bssap)); + } + + [] CLIENT.receive(BSSAP_LE_N_UNITDATA_req:?) -> value bssap_ud sender vc_conn { + BSSAP_LE.send(bssap_ud); + } + + /* Disconnect request client -> SCCP */ + [] CLIENT.receive(BSSAP_LE_Conn_Prim:CONN_PRIM_DISC_REQ) -> sender vc_conn { + var integer conn_id := f_conn_id_by_comp(vc_conn); + BSSAP_LE.send(ts_BSSAP_LE_DISC_req(conn_id, 0)); + f_conn_table_del(conn_id); + } + + /* BSSAP from client -> SCCP */ + [] CLIENT.receive(BSSAP_LE_Conn_Req:?) -> value creq sender vc_conn { + var integer conn_id; + /* send to dispatcher */ + + if (f_comp_known(vc_conn) == false) { + /* unknown client, create new connection */ + conn_id := f_gen_conn_id(); + + /* store mapping between client components and SCCP connectionId */ + f_conn_table_add(vc_conn, conn_id); + + BSSAP_LE.send(ts_BSSAP_LE_CONNECT_req(creq.addr_peer, creq.addr_own, conn_id, + creq.bssap)); + } else { + /* known client, send via existing connection */ + conn_id := f_conn_id_by_comp(vc_conn); + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(conn_id, creq.bssap)); + } + + /* InitialL3 contains RR (PAG RESP) or MM (CM SRV REQ), we must increment + * counter only on MM/CC/SS, but not on RR */ + if (g_ran_ops.role_ms and not f_bssap_l3_is_rr(creq.bssap)) { + /* we have just sent the first MM message, increment the counter */ + var integer idx := f_idx_by_comp(vc_conn); + ConnectionTable[idx].n_sd[0] := 1; + log("patch: N(SD) for ConnIdx ", idx, " set to 1"); + } + } + + [] PROC.getcall(BSSAP_LE_last_n_sd:{?,-}) -> param(vc_conn) { + var integer idx := f_idx_by_comp(vc_conn); + last_n_sd := ConnectionTable[idx].n_sd; + PROC.reply(BSSAP_LE_last_n_sd:{vc_conn, last_n_sd}) to vc_conn; + } + + [] PROC.getcall(BSSAP_LE_continue_after_n_sd:{?,?}) -> param(last_n_sd, vc_conn) { + var integer idx := f_idx_by_comp(vc_conn); + ConnectionTable[idx].n_sd := last_n_sd; + PROC.reply(BSSAP_LE_continue_after_n_sd:{last_n_sd, vc_conn}) to vc_conn; + } +} + + +/* send a raw (encoded) L3 message over given SCCP connection */ +private function f_xmit_raw_l3(integer sccp_conn_id, OCT1 dlci, octetstring l3_enc) runs on BSSAP_LE_Emulation_CT +{ + var PDU_BSSAP_LE bssap; + bssap := valueof(ts_BSSAP_LE_DTAP(l3_enc, dlci)); + BSSAP_LE.send(ts_BSSAP_LE_DATA_req(sccp_conn_id, bssap)); +} + +/* patch N(SD) into enc_l3, according to 24.007 11.2.3.2 */ +private function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { + var integer n_sd_idx := f_ML3_n_sd_idx(dtap); + if (n_sd_idx < 0) { + return; + } + var uint2_t seq_nr := f_next_n_sd(cd.n_sd, n_sd_idx); + f_ML3_patch_seq_nr(seq_nr, enc_l3); +} + +function main(BssapLeOps ops, charstring id) runs on BSSAP_LE_Emulation_CT { + + g_ran_id := id; + g_ran_ops := ops; + f_conn_table_init(); + f_expect_table_init(); + + if (isvalue(ops.sccp_addr_peer) and isvalue(ops.sccp_addr_local)) { + f_sleep(1.0); /* HACK to wait for M3UA/ASP to be ACTIVE */ + f_bssap_le_reset(ops.sccp_addr_peer, ops.sccp_addr_local); + } + + while (true) { + var BSSAP_LE_ConnHdlr vc_conn; + var PDU_DTAP_MO dtap_mo; + var PDU_DTAP_MT dtap_mt; + var BSSAP_LE_ConnHdlr vc_hdlr; + var octetstring l3_info; + var hexstring imsi; + var OCT4 tmsi; + var integer targetPointCode; + + alt { + [] as_main_bssap_le(); + + [g_ran_ops.role_ms] CLIENT.receive(PDU_DTAP_MO:?) -> value dtap_mo sender vc_conn { + var integer idx := f_idx_by_comp(vc_conn); + /* convert from decoded DTAP to encoded DTAP */ + var octetstring l3_enc := enc_PDU_ML3_MS_NW(dtap_mo.dtap); + /* patch correct L3 send sequence number N(SD) into l3_enc */ + if (dtap_mo.skip_seq_patching == false) { + f_ML3_patch_seq(ConnectionTable[idx], dtap_mo.dtap, l3_enc); + } + f_xmit_raw_l3(ConnectionTable[idx].sccp_conn_id, dtap_mo.dlci, l3_enc); + } + + [not g_ran_ops.role_ms] CLIENT.receive(PDU_DTAP_MT:?) -> value dtap_mt sender vc_conn { + var integer idx := f_idx_by_comp(vc_conn); + /* convert from decoded DTAP to encoded DTAP */ + var octetstring l3_enc := enc_PDU_ML3_NW_MS(dtap_mt.dtap); + f_xmit_raw_l3(ConnectionTable[idx].sccp_conn_id, dtap_mt.dlci, l3_enc); + } + + [] PROC.getcall(BSSAP_LE_register:{?,?}) -> param(l3_info, vc_hdlr) { + f_create_expect(l3_info, vc_hdlr); + PROC.reply(BSSAP_LE_register:{l3_info, vc_hdlr}) to vc_hdlr; + } + + [] PROC.getcall(BSSAP_LE_register_handoverRequest:{?,?}) -> param(targetPointCode, vc_hdlr) { + f_create_expect(omit, vc_hdlr, targetPointCode); + PROC.reply(BSSAP_LE_register_handoverRequest:{targetPointCode, vc_hdlr}) to vc_hdlr; + } + + [] PROC.getcall(BSSAP_LE_register_imsi:{?,?,?}) -> param(imsi, tmsi, vc_hdlr) { + f_create_imsi(imsi, tmsi, vc_hdlr); + PROC.reply(BSSAP_LE_register_imsi:{imsi, tmsi, vc_hdlr}) to vc_hdlr; + } + + + } + } +} + +/*********************************************************************** + * "Expect" Handling (mapping for expected incoming SCCP connections) + ***********************************************************************/ + +/* data about an expected future incoming connection */ +type record ExpectData { + /* L3 payload based on which we can match it */ + octetstring l3_payload optional, + integer handoverRequestPointCode optional, + /* component reference for this connection */ + BSSAP_LE_ConnHdlr vc_conn +} + +/* procedure based port to register for incoming connections */ +signature BSSAP_LE_register(in octetstring l3, in BSSAP_LE_ConnHdlr hdlr); +signature BSSAP_LE_register_handoverRequest(in integer targetPointCode, in BSSAP_LE_ConnHdlr hdlr); + +/* procedure based port to register for incoming IMSI/TMSI */ +signature BSSAP_LE_register_imsi(in hexstring imsi, in OCT4 tmsi, in BSSAP_LE_ConnHdlr hdlr); + +/* If DTAP happens across other channels (e.g. GSUP), provide manual advancing of the n_sd sequence number */ +signature BSSAP_LE_last_n_sd(in BSSAP_LE_ConnHdlr hdlr, out N_Sd_Array last_n_sd); + +/* Update conn's n_sd sequence nr after the connection was taken over from elsewhere */ +signature BSSAP_LE_continue_after_n_sd(N_Sd_Array last_n_sd, in BSSAP_LE_ConnHdlr hdlr); + +type port BSSAP_LE_PROC_PT procedure { + inout BSSAP_LE_register, BSSAP_LE_register_imsi, BSSAP_LE_register_handoverRequest, BSSAP_LE_last_n_sd, BSSAP_LE_continue_after_n_sd; +} with { extension "internal" }; + +/* CreateCallback that can be used as create_cb and will use the expectation table */ +function ExpectedCreateCallback(BSSAP_LE_N_CONNECT_ind conn_ind, charstring id) +runs on BSSAP_LE_Emulation_CT return BSSAP_LE_ConnHdlr { + var BSSAP_LE_ConnHdlr ret := null; + var octetstring l3_info; + var integer i; + + if (ischosen(conn_ind.userData.pdu.bssmap.perf_loc_req)) { + var BSSMAP_LE_PerfLocReq plr := conn_ind.userData.pdu.bssmap.perf_loc_req; + if (not ispresent(plr.imsi)) { + log("ExpectedCreateCallback: Cannot handle PerformLocReq without IMSI!"); + mtc.stop; + } + var hexstring imsi := plr.imsi.imsi.oddEvenInd_identity.imsi.digits; + /* Find the component by the IMSI [usually] contained in this message */ + ret := f_imsi_table_find(imsi, omit); + if (ret != null) { + log("ExpectedCreateCallback: Found ConnHdlr ", ret, " for IMSI ", imsi); + return ret; + } + } else if (ischosen(conn_ind.userData.pdu.bssmap.completeLayer3Information)) { + l3_info := conn_ind.userData.pdu.bssmap.completeLayer3Information.layer3Information.layer3info; + log("ExpectedCreateCallback completeLayer3Information"); + } else { + setverdict(fail, "N-CONNECT.ind with L3 != COMPLETE L3"); + mtc.stop; + } + + for (i := 0; i < sizeof(ExpectTable); i:= i+1) { + if (not ispresent(ExpectTable[i].l3_payload)) { + continue; + } + if (l3_info == ExpectTable[i].l3_payload) { + ret := ExpectTable[i].vc_conn; + /* release this entry to be used again */ + ExpectTable[i].l3_payload := omit; + ExpectTable[i].vc_conn := null; + log("Found Expect[", i, "] for ", l3_info, " handled at ", ret); + /* return the component reference */ + return ret; + } + } + setverdict(fail, "Couldn't find Expect for incoming connection ", conn_ind); + mtc.stop; +} + + +private function f_create_expect(template octetstring l3, BSSAP_LE_ConnHdlr hdlr, + template integer handoverRequestPointCode := omit) +runs on BSSAP_LE_Emulation_CT { + var integer i; + log("f_create_expect(l3 := ", l3, ", handoverRequest := ", handoverRequestPointCode); + for (i := 0; i < sizeof(ExpectTable); i := i+1) { + if (not ispresent(ExpectTable[i].l3_payload) + and not ispresent(ExpectTable[i].handoverRequestPointCode)) { + if (ispresent(l3)) { + ExpectTable[i].l3_payload := valueof(l3); + } + if (ispresent(handoverRequestPointCode)) { + ExpectTable[i].handoverRequestPointCode := valueof(handoverRequestPointCode); + } + ExpectTable[i].vc_conn := hdlr; + if (ispresent(handoverRequestPointCode)) { + log("Created Expect[", i, "] for handoverRequest to be handled at ", hdlr); + } else { + log("Created Expect[", i, "] for ", l3, " to be handled at ", hdlr); + } + return; + } + } + testcase.stop("No space left in ExpectTable"); +} + +private function f_create_imsi(hexstring imsi, OCT4 tmsi, BSSAP_LE_ConnHdlr hdlr) +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ImsiTable); i := i+1) { + if (not ispresent(ImsiTable[i].imsi)) { + ImsiTable[i].imsi := imsi; + ImsiTable[i].tmsi := tmsi; + ImsiTable[i].comp_ref := hdlr; + log("Created IMSI[", i, "] for ", imsi, tmsi, " to be handled at ", hdlr); + return; + } + } + testcase.stop("No space left in ImsiTable"); +} + + +private function f_expect_table_init() +runs on BSSAP_LE_Emulation_CT { + for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { + ExpectTable[i].l3_payload := omit; + ExpectTable[i].handoverRequestPointCode := omit; + } +} + +/* helper function for clients to register their IMSI/TMSI */ +function f_bssap_le_register_imsi(hexstring imsi, template (omit) OCT4 tmsi_or_omit) +runs on BSSAP_LE_ConnHdlr { + var OCT4 tmsi; + + /* Resolve omit to a special reserved value */ + if (istemplatekind(tmsi_or_omit, "omit")) { + tmsi := 'FFFFFFFF'O; + } else { + tmsi := valueof(tmsi_or_omit); + } + + BSSAP_LE_PROC.call(BSSAP_LE_register_imsi:{imsi, tmsi, self}) { + [] BSSAP_LE_PROC.getreply(BSSAP_LE_register_imsi:{?,?,?}) {}; + } +} + + +} diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index c1dc036..f410427 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -720,7 +720,7 @@ template BIT4 t_ML3_DISC_CC_MM_SS := ('0011'B, '0101'B, '1011'B); -private function f_L3_is_rr(template octetstring l3) return boolean { +function f_L3_is_rr(template octetstring l3) return boolean { if (not isvalue(l3)) { return false; } @@ -773,7 +773,7 @@ } /* patch N(SD) into enc_l3, according to 24.007 11.2.3.2 */ -function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { +private function f_ML3_patch_seq(inout ConnectionData cd, in PDU_ML3_MS_NW dtap, inout octetstring enc_l3) { var integer n_sd_idx := f_ML3_n_sd_idx(dtap); if (n_sd_idx < 0) { return; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19765 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9 Gerrit-Change-Number: 19765 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Add Lb interface support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 ) Change subject: bsc: Add Lb interface support ...................................................................... bsc: Add Lb interface support This introduces the Lb interface stack, which allows BSC_Tests.ttcn to emulate a SMLC towards the BSC. In accordance with https://osmocom.org/projects/cellular-infrastructure/wiki/Point_Codes we use 0.23.6 as point code for emulating the SMLC. Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/gen_links.sh 3 files changed, 55 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dce9ae9..ffc92ad 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -28,6 +28,8 @@ import from BSSAP_Types all; import from RAN_Adapter all; +import from BSSAP_LE_Adapter all; +import from BSSAP_LE_CodecPort all; import from BSSAP_CodecPort all; import from BSSMAP_Templates all; import from IPA_Emulation all; @@ -480,8 +482,10 @@ var StatsD_Checker_CT vc_STATSD; var RAN_Adapter g_bssap[NUM_MSC]; + var BSSAP_LE_Adapter g_bssap_le; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; + port BSSAP_LE_CODEC_PT BSSAP_LE; /* are we initialized yet */ var boolean g_initialized := false; @@ -553,6 +557,17 @@ } }; + BSSAP_LE_Configuration mp_bssap_le_cfg := { + sccp_service_type := "mtp3_itu", + sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, + own_pc := 6, /* 0.0.6 SMLC emulation */ + own_ssn := 252, /* SMLC side SSN */ + peer_pc := 187, /* 0.23.3 osmo-bsc */ + peer_ssn := 250, /* BSC side SSN */ + sio := '83'O, + rctx := 6 + }; + /* Whether to enable osmux tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ @@ -928,6 +943,14 @@ } } + if (handler_mode) { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", SMLC_BssapLeOps); + } else { + f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", omit); + connect(self:BSSAP_LE, g_bssap_le.vc_SCCP:SCCP_SP_PORT); + } + f_bssap_le_adapter_start(g_bssap_le); + /* start the test with exactly all enabled MSCs allowed to attach */ f_vty_msc_allow_attach(BSCVTY, allow_attach); @@ -2878,6 +2901,7 @@ ***********************************************************************/ import from RAN_Emulation all; +import from BSSAP_LE_Emulation all; import from RSL_Emulation all; import from MSC_ConnectionHandler all; @@ -2898,6 +2922,7 @@ connect(vc_conn:RSL2_PROC, bts[2].rsl.vc_RSL:RSL_PROC); } connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_LE, g_bssap_le.vc_BSSAP_LE:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index bf96eff..f02cfb4 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -19,6 +19,9 @@ import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; +import from BSSAP_LE_Emulation all; +import from BSSAP_LE_Types all; +import from BSSMAP_LE_Templates all; import from BSSMAP_Templates all; import from IPL4asp_Types all; @@ -411,7 +414,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, BSSAP_LE_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; @@ -470,6 +473,20 @@ return resp; } +/* Callback function from general BSSAP_LE_Emulation whenever a connectionless + * BSSAP_LE message arrives. Can return a PDU_BSSAP_LE that should be sent in return */ +private function BSSAP_LE_UnitdataCallback(PDU_BSSAP_LE bssap) +runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { + var template PDU_BSSAP_LE resp := omit; + + /* answer all RESET with a RESET ACK */ + if (match(bssap, tr_BSSMAP_LE_Reset)) { + resp := ts_BSSMAP_LE_ResetAck; + } + + return resp; +} + const RanOps MSC_RanOps := { create_cb := refers(RAN_Emulation.ExpectedCreateCallback), unitdata_cb := refers(UnitdataCallback), @@ -482,6 +499,15 @@ sccp_addr_peer := omit } +const BssapLeOps SMLC_BssapLeOps := { + create_cb := refers(BSSAP_LE_Emulation.ExpectedCreateCallback), + unitdata_cb := refers(BSSAP_LE_UnitdataCallback), + decode_dtap := false, + role_ms := false, + sccp_addr_local := omit, + sccp_addr_peer := omit +} + const MGCPOps MSC_MGCPOps := { create_cb := refers(MGCP_Emulation.ExpectedCreateCallback), unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback) diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 02e093d..f316509 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,7 +70,9 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " -FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " +FILES+="BSSAP_LE_CodecPort.ttcn BSSAP_LE_Emulation.ttcn BSSAP_LE_Types.ttcn BSSAP_LE_Adapter.ttcn BSSLAP_Types.ttcn BSSMAP_LE_Templates.ttcn " + gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19766 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I854618cc08de1a716784f52542a4df3c7f7ad900 Gerrit-Change-Number: 19766 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:07 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16:07:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:10 +0000 Subject: Change in docker-playground[master]: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19802 ) Change subject: ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-msc: Enable osmo-msc SS7 multi-homing and IPv6 features in tests Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce --- M ttcn3-msc-test/jenkins.sh M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 3 files changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 03afb24..5e1642e 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -29,6 +29,12 @@ mkdir $VOL_BASE_DIR/msc/unix cp osmo-msc.cfg $VOL_BASE_DIR/msc/ +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/msc/osmo-msc.cfg +fi + mkdir $VOL_BASE_DIR/unix echo Starting container with STP diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index 6007e25..fd120b9 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -58,7 +58,10 @@ cs7 instance 0 point-code 0.23.1 asp asp-clnt-OsmoMSC-A 2905 0 m3ua + local-ip 172.18.20.10 + local-ip fd02:db8:20::10 remote-ip 172.18.20.200 + remote-ip fd02:db8:20::200 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A routing-key 3 0.23.1 diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index d13e4a7..5fc4abd 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -38,19 +38,25 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-bsc0-0 23906 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-bsc0 m3ua asp virt-bsc0-0 routing-key 0 0.24.1 asp virt-bsc1-0 23907 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 asp virt-rnc0-0 23908 2905 m3ua local-ip 172.18.20.200 + local-ip fd02:db8:20::200 remote-ip 172.18.20.103 + remote-ip fd02:db8:20::103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 @@ -60,5 +66,8 @@ update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.20.200 + local-ip fd02:db8:20::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.20.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I784eb033a4887c5a9f2bfaa52aa39cb86cdf13ce Gerrit-Change-Number: 19802 Gerrit-PatchSet: 4 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 Sun Aug 30 16:07:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:52 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16:07:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:07:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:07:57 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/19803 ) Change subject: ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests ...................................................................... ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 --- M ttcn3-sgsn-test/jenkins.sh M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sgsn-test/osmo-stp.cfg 3 files changed, 14 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 329dbef..5d55093 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -19,6 +19,12 @@ mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ +# Disable IPv6 until libosmo-sccp.git release > 1.3.0 is available +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "/fd02:db8/d" -i $VOL_BASE_DIR/stp/osmo-stp.cfg + sed "/fd02:db8/d" -i $VOL_BASE_DIR/sgsn/osmo-sgsn.cfg +fi + mkdir $VOL_BASE_DIR/unix echo Starting container with STP diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index 68af562..e571315 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -56,7 +56,10 @@ cs7 instance 0 point-code 0.23.4 asp asp-clnt-OsmoSGSN-A 2905 0 m3ua + local-ip 172.18.8.10 + local-ip fd02:db8:8::10 remote-ip 172.18.8.200 + remote-ip fd02:db8:8::200 as as-clnt-OsmoSGSN-A m3ua asp asp-clnt-OsmoSGSN-A routing-key 3 0.23.4 diff --git a/ttcn3-sgsn-test/osmo-stp.cfg b/ttcn3-sgsn-test/osmo-stp.cfg index a0b5b0b..3ee0668 100644 --- a/ttcn3-sgsn-test/osmo-stp.cfg +++ b/ttcn3-sgsn-test/osmo-stp.cfg @@ -38,7 +38,9 @@ xua rkm routing-key-allocation dynamic-permitted asp virt-rnc0-0 23908 2905 m3ua local-ip 172.18.8.200 + local-ip fd02:db8:8::200 remote-ip 172.18.8.103 + remote-ip fd02:db8:8::103 as virt-rnc0 m3ua asp virt-rnc0-0 routing-key 2 0.24.3 @@ -46,5 +48,8 @@ update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted + local-ip 172.18.8.200 + local-ip fd02:db8:8::200 listen ipa 5000 accept-asp-connections dynamic-permitted + local-ip 172.18.8.200 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/19803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I21dbe79705dcc23426a88174120f6f810df84749 Gerrit-Change-Number: 19803 Gerrit-PatchSet: 4 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 Sun Aug 30 16:08:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:08:18 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 30 Aug 2020 16:08:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 16:08:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 30 Aug 2020 16:08:36 +0000 Subject: Change in libosmocore[master]: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19876 ) Change subject: socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote ...................................................................... socket: Allow binding to :: (IPv6) and connecting to IPv4-only on the remote sctp_bindx() fails if passed both "0.0.0.0" and "::", only "::" must be passed instead, which covers both. As a result, it is fine in this case and makes sense having only IPv6 formatted IPs in the local side (which actually also includes all IPv4 ones in th system) and IPv4-only addresses on the remote side. Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff --- M src/socket.c 1 file changed, 17 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 1afbe6e..a5bbddf 100644 --- a/src/socket.c +++ b/src/socket.c @@ -443,6 +443,22 @@ } } +/* Check whether there's an IPv6 with IN6ADDR_ANY_INIT ("::") */ +static bool addrinfo_has_in6addr_any(const struct addrinfo **result, size_t result_count) +{ + size_t host_idx; + struct in6_addr in6addr_any = IN6ADDR_ANY_INIT; + + for (host_idx = 0; host_idx < result_count; host_idx++) { + if (result[host_idx]->ai_family != AF_INET6) + continue; + if (memcmp(&((struct sockaddr_in6 *)result[host_idx]->ai_addr)->sin6_addr, + &in6addr_any, sizeof(in6addr_any)) == 0) + return true; + } + return false; +} + static int socket_helper_multiaddr(uint16_t family, uint16_t type, uint8_t proto, unsigned int flags) { int sfd, on = 1; @@ -577,6 +593,7 @@ } if (((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) && + !addrinfo_has_in6addr_any((const struct addrinfo **)res_loc, local_hosts_cnt) && (loc_has_v4addr != rem_has_v4addr || loc_has_v6addr != rem_has_v6addr)) { LOGP(DLGLOBAL, LOGL_ERROR, "Invalid v4 vs v6 in local vs remote addresses\n"); rc = -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b590113e5def20edcbcb098426b19cd504eabff Gerrit-Change-Number: 19876 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 30 19:25:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 19:25:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 ) Change subject: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA ...................................................................... library/Osmocom_Types: fix: '10111111'B is a valid emergency RA Most likely, the second part of the condition was copy-pasted from ra_is_ps(), where the specs. require that at least one of the three LSB's shall be zero. This requirement does not apply to emergency RA values in range '101xxxxx'B. Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f --- M library/Osmocom_Types.ttcn 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/19905/1 diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 2ee3215..fa36881 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -208,10 +208,7 @@ function ra_is_emerg(OCT1 ra) return boolean { /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ - if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { - return true; - } - return false; + return (ra and4b 'E0'O == 'A0'O); } /* generate a random RACH for circuit-switched */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f Gerrit-Change-Number: 19905 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 Aug 30 19:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 19:25:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 ) Change subject: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA ...................................................................... library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b --- M library/Osmocom_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/19906/1 diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index fa36881..6281280 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -216,7 +216,7 @@ var OCT1 ra; do { ra := f_rnd_octstring(1); - } while (ra_is_ps(ra)); + } while (ra_is_ps(ra) or ra_is_emerg(ra)); return ra; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b Gerrit-Change-Number: 19906 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 Aug 30 19:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 19:25:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: restrict Mobile Allocation length References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 ) Change subject: library/GSM_RR_Types: restrict Mobile Allocation length ...................................................................... library/GSM_RR_Types: restrict Mobile Allocation length Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/19907/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 76b03a9..2ad3b6a 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -296,7 +296,7 @@ /* 10.5.2.21 */ type record MobileAllocationLV { uint8_t len, - bitstring ma + bitstring ma length (0..64) } with { variant (len) "LENGTHTO(ma)" variant (ma) "BYTEORDER(first), BITORDER(msb)" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 Gerrit-Change-Number: 19907 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 Aug 30 19:25:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 19:25:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0, H1} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 ) Change subject: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} ...................................................................... library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 --- M library/GSM_RR_Types.ttcn 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/19908/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 2ad3b6a..59fe6d5 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1120,6 +1120,15 @@ arfcn := arfcn, maio_hsn := omit } + template ChannelDescription tr_ChanDescH0(template (present) RslChannelNr chan_nr := ?, + template (present) uint12_t arfcn := ?, + template (present) uint3_t tsc := ?) := { + chan_nr := chan_nr, + tsc := tsc, + h := false, + arfcn := arfcn, + maio_hsn := omit + } template (value) ChannelDescription ts_ChanDescH1(template (value) RslChannelNr chan_nr, template (value) MaioHsn maio_hsn, @@ -1130,6 +1139,15 @@ arfcn := omit, maio_hsn := maio_hsn } + template ChannelDescription tr_ChanDescH1(template (present) RslChannelNr chan_nr := ?, + template (present) MaioHsn maio_hsn := ?, + template (present) uint3_t tsc := ?) := { + chan_nr := chan_nr, + tsc := tsc, + h := true, + arfcn := omit, + maio_hsn := maio_hsn + } /* Templates for the RR Channel Release message's "Cell selection indicator after release of all TCH and SDCCH" IE. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 Gerrit-Change-Number: 19908 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 Aug 30 20:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 20:18:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add missing Channel Identification IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 ) Change subject: library/RSL_Types: add missing Channel Identification IE ...................................................................... library/RSL_Types: add missing Channel Identification IE Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 --- M library/RSL_Types.ttcn 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/19909/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index af01c5d..05effa2 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -15,6 +15,7 @@ import from General_Types all; import from Osmocom_Types all; + import from GSM_RR_Types all; import from GSM_Types all; import from MobileL3_CommonIE_Types all; import from L3_Templates all; @@ -319,6 +320,47 @@ a_bits := ACT_REL_TO_OSMO_PDCH } + /* 9.3.5 */ + type record RSL_IE_ChannelIdent { + uint8_t len, + /* 3GPP TS 44.018 Channel Description IE (TV) */ + ChannelDescriptionTV ch_desc, + /* 3GPP TS 44.018 Mobile Allocation IE (shall be empty) */ + MobileAllocationTLV ma + } with { variant (len) "LENGTHTO(ch_desc,ma)" }; + + template (value) RSL_IE_ChannelIdent + ts_RSL_ChannelIdent(template (value) ChannelDescription ch_desc) := { + len := 0, /* overwritten */ + ch_desc := { + iei := '64'O, + v := ch_desc + }, + /* Shall be included but empty */ + ma := { + iei := '72'O, + v := { + len := 0, + ma := ''B + } + } + }; + + template RSL_IE_ChannelIdent + tr_RSL_ChannelIdent(template (present) ChannelDescription ch_desc := ?, + template (present) MobileAllocationLV ma := ?) := { + len := ?, + ch_desc := { + iei := '64'O, + v := ch_desc + }, + /* Shall be included but empty */ + ma := { + iei := '72'O, + v := ma + } + }; + /* 9.3.6 */ type enumerated RSL_SpeechDataInd { RSL_SPDI_SPEECH ('00000001'B), @@ -791,6 +833,7 @@ RSL_LV rlm_cause, RSL_IE_ReleaseMode release_mode, RSL_IE_ActivationType act_type, + RSL_IE_ChannelIdent chan_ident, RSL_IE_ChannelMode chan_mode, uint8_t handover_ref, RSL_IE_BS_Power bs_power, @@ -846,6 +889,7 @@ rlm_cause, iei = RSL_IE_RLM_CAUSE; release_mode, iei = RSL_IE_RELEASE_MODE; act_type, iei = RSL_IE_ACT_TYPE; + chan_ident, iei = RSL_IE_CHAN_IDENT; chan_mode, iei = RSL_IE_CHAN_MODE; handover_ref, iei = RSL_IE_HANDO_REF; bs_power, iei = RSL_IE_BS_POWER; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 Gerrit-Change-Number: 19909 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 Aug 30 20:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Aug 2020 20:18:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_{chan_activ, imm_ass} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 ) Change subject: BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} ...................................................................... BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} This test case verifies presence and correctness of the hopping parameters in the following messages and their IEs: 1. RSL CHANnel ACTIVation 1.1. Channel Identification IE 2. RSL IMMEDIATE ASSIGN COMMAND 2.1. Channel Description IE 2.2. Mobile Allocation IE The hopping parameters are randomly generated and configured via the VTY interface in the beginning, and unset in the end. Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Related: SYS#4868, OS#4545 --- M bsc/BSC_Tests.ttcn 1 file changed, 271 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/19910/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dce9ae9..20480a5 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6434,6 +6434,274 @@ chan_nr := rx_rsl.ies[0].body.chan_nr; f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 33)); rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); +} + +/* Hopping parameters per a timeslot */ +private type record length(0..64) of integer ArfcnList; +private type record FHParamsTs { + boolean enabled, + uint6_t hsn, + uint6_t maio, + ArfcnList ma +}; + +/* Hopping parameters per a transceiver */ +private type record length(8) of FHParamsTs FHParamsTrx; + +/* Randomly generate the hopping parameters for the given timeslot numbers */ +private function f_TC_fh_params_gen(template integer tr_tn := (1, 3, 5)) +runs on test_CT return FHParamsTrx { + var FHParamsTrx fhp; + + for (var integer tn := 0; tn < 8; tn := tn + 1) { + if (not match(tn, tr_tn)) { + fhp[tn].enabled := false; + fhp[tn].ma := { }; + continue; + } + + /* Random HSN / MAIO values: 0..63 */ + fhp[tn].hsn := f_rnd_int(64); + fhp[tn].maio := f_rnd_int(64); + fhp[tn].ma := { }; + + /* Random Mobile Allocation (hopping channels) */ + var integer ma_len := 2 + f_rnd_int(9); /* 2..10 channels */ + var integer step := 3 + f_rnd_int(4); /* 3..6 stepping */ + for (var integer i := 1; i <= ma_len; i := i + 1) { + fhp[tn].ma := fhp[tn].ma & { i * step }; + } + + fhp[tn].enabled := true; + } + + log("f_TC_fh_params_gen(): ", fhp); + return fhp; +} + +/* Make sure that the given Channel Description IE matches the hopping configuration */ +private function f_TC_fh_params_match_chan_desc(in FHParamsTrx fhp, in ChannelDescription cd) +{ + var template (present) ChannelDescription tr_cd; + var template (present) MaioHsn tr_maio_hsn; + var uint3_t tn := cd.chan_nr.tn; + + if (fhp[tn].enabled) { + tr_maio_hsn := tr_HsnMaio(fhp[tn].hsn, fhp[tn].maio); + tr_cd := tr_ChanDescH1(cd.chan_nr, tr_maio_hsn); + } else { + tr_cd := tr_ChanDescH0(cd.chan_nr); + } + + if (not match(cd, tr_cd)) { + setverdict(fail, "Channel Description IE does not match: ", + cd, " vs expected ", tr_cd); + } +} + +/* Make sure that the given Mobile Allocation IE matches the hopping configuration */ +private function f_TC_fh_params_match_ma(in FHParamsTrx fhp, uint3_t tn, + in MobileAllocationLV ma) +{ + var template MobileAllocationLV tr_ma := f_TC_fh_params_gen_tr_ma(fhp, tn, ma); + + if (not match(ma, tr_ma)) { + setverdict(fail, "Mobile Allocation IE does not match (tn := ", + tn, "): ", ma, " vs expected: ", tr_ma); + } else { + setverdict(pass); + } +} + +private function f_TC_fh_params_gen_tr_ma(in FHParamsTrx fhp, uint3_t tn, + in MobileAllocationLV ma) +return template MobileAllocationLV { + /* Mobile Allocation IE is expected to be empty if hopping is not enabled */ + if (not fhp[tn].enabled) { + return { len := 0, ma := ''B }; + } + + var bitstring full_mask := f_pad_bit(''B, 1024, '0'B); + var bitstring slot_mask := f_pad_bit(''B, 1024, '0'B); + var bitstring ma_mask := ''B; + var integer ma_mask_len := 0; + + /* Compose the full bit-mask (all channels, up to 1024 entries) */ + for (var integer i := 0; i < lengthof(fhp); i := i + 1) { + for (var integer j := 0; j < lengthof(fhp[i].ma); j := j + 1) { + if (full_mask[fhp[i].ma[j]] == '1'B) + { continue; } + full_mask[fhp[i].ma[j]] := '1'B; + } + } + + /* Compose a bit-mask for the given timeslot number */ + for (var integer i := 0; i < lengthof(fhp[tn].ma); i := i + 1) { + slot_mask[fhp[tn].ma[i]] := '1'B; + } + + /* Finally, compose the Mobile Allocation bit-mask */ + for (var integer i := 0; i < lengthof(full_mask); i := i + 1) { + if (full_mask[i] != '1'B) + { continue; } + + /* FIXME: ma_mask := ma_mask & slot_mask[i]; // triggers a bug in TITAN */ + if (slot_mask[i] == '1'B) { + ma_mask_len := lengthof(ma_mask); + ma_mask := ma_mask & '1'B; + } else { + ma_mask := ma_mask & '0'B; + } + } + + /* Ensure that ma_mask is octet-aligned */ + ma_mask := substr(ma_mask, 0, ma_mask_len + 1); + ma_mask_len := (ma_mask_len + 8 - 1) / 8; + ma_mask := f_pad_bit(ma_mask, ma_mask_len * 8, '0'B); + + return { len := ma_mask_len, ma := ma_mask }; +} + +/* Configure the hopping parameters in accordance with the given record */ +private function f_TC_fh_params_set(in FHParamsTrx fhp) +runs on test_CT { + /* (Re)configure TS1..7: enable frequency hopping */ + f_vty_enter_cfg_trx(BSCVTY, trx := 0); + + /* Enable frequency hopping on odd numbered timeslots within TS1..7 */ + for (var integer tn := 1; tn < 7; tn := tn + 1) { + f_vty_transceive(BSCVTY, "timeslot " & int2str(tn)); + + if (not fhp[tn].enabled) { + f_vty_transceive(BSCVTY, "hopping enabled 0"); + f_vty_transceive(BSCVTY, "exit"); /* go back */ + continue; + } + + /* Configure HSN / MAIO values */ + f_vty_transceive(BSCVTY, "hopping sequence-number " & int2str(fhp[tn].hsn)); + f_vty_transceive(BSCVTY, "hopping maio " & int2str(fhp[tn].maio)); + + /* Configure the Mobile Allocation (hopping channels) */ + for (var integer i := 0; i < lengthof(fhp[tn].ma); i := i + 1) { + f_vty_transceive(BSCVTY, "hopping arfcn add " & int2str(fhp[tn].ma[i])); + } + + f_vty_transceive(BSCVTY, "hopping enabled 1"); + f_vty_transceive(BSCVTY, "exit"); /* go back */ + } + + f_vty_transceive(BSCVTY, "end"); +} + +/* Disable frequency hopping on all timeslots */ +private function f_TC_fh_params_unset(in FHParamsTrx fhp) +runs on test_CT { + /* (Re)configure TS1..7: disable frequency hopping */ + f_vty_enter_cfg_trx(BSCVTY, trx := 0); + + for (var integer tn := 1; tn < 7; tn := tn + 1) { + f_vty_transceive(BSCVTY, "timeslot " & int2str(tn)); + + /* Delete all ARFCNs from the Mobile Allocation (if any) */ + for (var integer i := 0; i < lengthof(fhp[tn].ma); i := i + 1) { + f_vty_transceive(BSCVTY, "hopping arfcn del " & int2str(fhp[tn].ma[i])); + } + + f_vty_transceive(BSCVTY, "hopping enabled 0"); + f_vty_transceive(BSCVTY, "exit"); /* go back */ + } + + f_vty_transceive(BSCVTY, "end"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); +} + +/* Verify presence and correctness of the hopping parameters (HSN, MAIO) + * in the Channel Identification IE of the RSL CHANnel ACTIVation message. */ +testcase TC_fh_params_chan_activ() runs on test_CT { + var FHParamsTrx fhp := f_TC_fh_params_gen(); + var RSL_Message rsl_msg; + var RSL_IE_Body ie; + + f_init_vty(); + + f_TC_fh_params_set(fhp); /* Enable frequency hopping */ + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1); + + /* CS domain: 3 (SDCCH/4+CBCH) + 4 (TCH/F) + 2 (TCH/H) channels available */ + for (var integer i := 0; i < 9; i := i + 1) { + f_ipa_tx(0, ts_RSL_CHAN_RQD(f_rnd_ra_cs(), 23)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + /* Make sure that Channel Identification IE is present */ + if (not f_rsl_find_ie(rsl_msg, RSL_IE_CHAN_IDENT, ie)) { + setverdict(fail, "RSL Channel Identification IE is absent"); + continue; + } + + /* Make sure that hopping parameters (HSN/MAIO) match */ + f_TC_fh_params_match_chan_desc(fhp, ie.chan_ident.ch_desc.v); + + /* "Mobile Allocation shall be included but empty" - let's check this */ + if (ie.chan_ident.ma.v.len != 0) { + setverdict(fail, "Mobile Allocation IE is not empty: ", + ie.chan_ident.ma, ", despite it shall be"); + continue; + } + } + + /* Disable frequency hopping */ + f_TC_fh_params_unset(fhp); + + setverdict(pass); +} + +/* verifying hopping parameters (HSN, MAIO, MA) in (RR) Immediate Assignment */ +testcase TC_fh_params_imm_ass() runs on test_CT { + var FHParamsTrx fhp := f_TC_fh_params_gen(); + var RSL_Message rsl_msg; + var RSL_IE_Body ie; + + f_init_vty(); + + f_TC_fh_params_set(fhp); /* Enable frequency hopping */ + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1); + + /* CS domain: 3 (SDCCH/4+CBCH) + 4 (TCH/F) + 2 (TCH/H) channels available */ + for (var integer i := 0; i < 9; i := i + 1) { + f_ipa_tx(0, ts_RSL_CHAN_RQD(f_rnd_ra_cs(), 23)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(rsl_msg.ies[0].body.chan_nr, 33)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeC(RSL_MT_IMMEDIATE_ASSIGN_CMD)); + + /* Make sure that Full Immediate Assign Info IE is present */ + if (not f_rsl_find_ie(rsl_msg, RSL_IE_FULL_IMM_ASS_INFO, ie)) { + setverdict(fail, "RSL Full Immediate Assign Info IE is absent"); + continue; + } + + /* Decode the actual Immediate Assignment message */ + var GsmRrMessage rr_msg := dec_GsmRrMessage(ie.full_imm_ass_info.payload); + if (not match(rr_msg.header, t_RrHeader(IMMEDIATE_ASSIGNMENT, ?))) { + setverdict(fail, "Failed to match Immediate Assignment: ", rr_msg); + continue; + } + + /* Make sure that hopping parameters (HSN/MAIO) match */ + f_TC_fh_params_match_chan_desc(fhp, rr_msg.payload.imm_ass.chan_desc); + + /* Make sure that the Mobile Allocation IE matches */ + f_TC_fh_params_match_ma(fhp, rr_msg.payload.imm_ass.chan_desc.chan_nr.tn, + rr_msg.payload.imm_ass.mobile_allocation); + } + + /* Disable frequency hopping */ + f_TC_fh_params_unset(fhp); setverdict(pass); } @@ -6666,6 +6934,9 @@ execute( TC_assignment_emerg_setup_deny_bts() ); execute( TC_emerg_premption() ); + /* Frequency hopping parameters handling */ + execute( TC_fh_params_chan_activ() ); + execute( TC_fh_params_imm_ass() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Gerrit-Change-Number: 19910 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Aug 31 01:38:11 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 31 Aug 2020 01:38:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <5f4c548960c5d_6a032aad0a3625f4140029e@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: [ 153s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 153s] [COMPILING libboard/qmod/source/card_pres.c] [ 153s] [COMPILING libboard/qmod/source/wwan_led.c] [ 154s] [COMPILING libboard/qmod/source/i2c.c] [ 154s] [COMPILING libboard/qmod/source/board_qmod.c] [ 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: 16588 B 16 KB 101.25% [ 154s] 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' [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 154s] collect2: error: ld returned 1 exit status [ 154s] % [ 154s] make[2]: *** [Makefile:234: 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] [ 149.797454] sysrq: Power Off [ 158s] [ 149.805847] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] lamb63 failed "build simtrace2_0.7.0.63.39070.dsc" at Mon Aug 31 01:38:04 UTC 2020. [ 158s] -- 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 Aug 31 08:10:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:10:40 +0000 Subject: Change in osmo-bsc[master]: handover: fix detection for ambiguous HO neighbor ident In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:10: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 Aug 31 08:12:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:12:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: verify handover rate counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 ) Change subject: bsc: verify handover rate counters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 Gerrit-Change-Number: 19904 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:12:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 08:14:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:14:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 ) Change subject: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f Gerrit-Change-Number: 19905 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:14: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 Aug 31 08:15:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:15:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 ) Change subject: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b Gerrit-Change-Number: 19906 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08: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 Mon Aug 31 08:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:15:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: restrict Mobile Allocation length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 ) Change subject: library/GSM_RR_Types: restrict Mobile Allocation length ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 Gerrit-Change-Number: 19907 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:15:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 08:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:17:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0, H1} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 ) Change subject: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 Gerrit-Change-Number: 19908 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:17:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 08:18:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:18:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add missing Channel Identification IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 ) Change subject: library/RSL_Types: add missing Channel Identification IE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 Gerrit-Change-Number: 19909 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08: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 Aug 31 08:28:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:28:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_{chan_activ, imm_ass} In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 ) Change subject: BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910/1/bsc/BSC_Tests.ttcn at 6548 PS1, Line 6548: /* FIXME: ma_mask := ma_mask & slot_mask[i]; // triggers a bug in TITAN */ Probably because you are then doing"bitstring & bit", yo may need to convert slot_mask[i] to a bitstring somehow. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Gerrit-Change-Number: 19910 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:28: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 Mon Aug 31 08:30:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:30:33 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:30: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 Aug 31 08:36:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:36:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c at a375 PS2, Line 375: if (st > you're removing any length checks in this function. [?] How can they go out of bounds? 1- This same strlen() being here is telling (maybe a bug) that the string is null terminated. 2- Other string accesses afterwards like strncmp or pointer deferring early returns if string is different/shorter than expected. So the only real difference here is that I'm not early returning on super long lines (>16 chars, which anyway needed to be changed to accomodate ipv6 addresses), and in long lines anyway osmo_strlcpy would truncate to INET6_ADDRSTRLEN chars, so we are fine here. The only thing I need to improve is checking the return code of osmo_strlcpy in case it was truncated, and then do early return. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 08:36:53 +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 Aug 31 08:49:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 08:49:41 +0000 Subject: Change in libosmocore[master]: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19881 ) Change subject: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 Gerrit-Change-Number: 19881 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 08:49:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 08:50:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:50:43 +0000 Subject: Change in libosmocore[master]: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19881 ) Change subject: socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() ...................................................................... socket: Add support for AF_INET6 in osmo_sockaddr_to_str_and_uint() Related: SYS#4915 Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 --- M src/socket.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 3 files changed, 125 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index a5bbddf..e88af16 100644 --- a/src/socket.c +++ b/src/socket.c @@ -983,9 +983,22 @@ unsigned int osmo_sockaddr_to_str_and_uint(char *addr, unsigned int addr_len, uint16_t *port, const struct sockaddr *sa) { - const struct sockaddr_in *sin = (const struct sockaddr_in *)sa; - return osmo_sockaddr_in_to_str_and_uint(addr, addr_len, port, sin); + const struct sockaddr_in6 *sin6; + + switch (sa->sa_family) { + case AF_INET: + return osmo_sockaddr_in_to_str_and_uint(addr, addr_len, port, + (const struct sockaddr_in *)sa); + case AF_INET6: + sin6 = (const struct sockaddr_in6 *)sa; + if (port) + *port = ntohs(sin6->sin6_port); + if (addr && inet_ntop(sa->sa_family, &sin6->sin6_addr, addr, addr_len)) + return strlen(addr); + break; + } + return 0; } /*! Initialize a unix domain socket (including bind/connect) diff --git a/tests/utils/utils_test.c b/tests/utils/utils_test.c index e15cf5f..9ff023b 100644 --- a/tests/utils/utils_test.c +++ b/tests/utils/utils_test.c @@ -775,6 +775,7 @@ bool omit_port; const char *addr; unsigned int addr_len; + int address_family; /* AF_INET / AF_INET6 */ bool omit_addr; unsigned int expect_rc; const char *expect_returned_addr; @@ -785,24 +786,28 @@ .port = 0, .addr = "0.0.0.0", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 7, }, { .port = 65535, .addr = "255.255.255.255", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 15, }, { .port = 1234, .addr = "234.23.42.123", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 13, }, { .port = 1234, .addr = "234.23.42.123", .addr_len = 10, + .address_family = AF_INET, .expect_rc = 13, .expect_returned_addr = "234.23.42", }, @@ -811,11 +816,13 @@ .omit_port = true, .addr = "234.23.42.123", .addr_len = 20, + .address_family = AF_INET, .expect_rc = 13, }, { .port = 1234, .addr = "234.23.42.123", + .address_family = AF_INET, .omit_addr = true, .expect_rc = 0, .expect_returned_addr = "", @@ -824,17 +831,83 @@ .port = 1234, .addr = "234.23.42.123", .addr_len = 0, + .address_family = AF_INET, .expect_rc = 13, .expect_returned_addr = "", }, { .port = 1234, .addr = "234.23.42.123", + .address_family = AF_INET, .omit_port = true, .omit_addr = true, .expect_rc = 0, .expect_returned_addr = "", }, + { + .port = 1234, + .addr = "::", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 2, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 3, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .omit_port = true, + .omit_addr = false, + .expect_rc = 3, + }, + { + .port = 1234, + .addr = "::1", + .addr_len = 20, + .address_family = AF_INET6, + .omit_port = false, + .omit_addr = true, + .expect_rc = 0, + .expect_returned_addr = "", + }, + { + .port = 1234, + .addr = "fd02:db8:1::1", + .addr_len = 20, + .address_family = AF_INET6, + .expect_rc = 13, + }, + { + .port = 1234, + .addr = "2001:db8:1::ab9:C0A8:102", + .addr_len = 40, + .address_family = AF_INET6, + .expect_rc = 24, + .expect_returned_addr = "2001:db8:1::ab9:c0a8:102", + }, + { + .port = 1234, + .addr = "2001:0db8:0001:0000:0000:0ab9:C0A8:0102", + .addr_len = 32, + .address_family = AF_INET6, + .expect_rc = 24, + .expect_returned_addr = "2001:db8:1::ab9:c0a8:102", + }, + { + .port = 1234, + .addr = "::ffff:192.168.20.34", + .addr_len = 32, + .address_family = AF_INET6, + .expect_rc = 20, + .expect_returned_addr = "::ffff:192.168.20.34", + } }; static void osmo_sockaddr_to_str_and_uint_test(void) @@ -846,22 +919,35 @@ struct osmo_sockaddr_to_str_and_uint_test_case *t = &osmo_sockaddr_to_str_and_uint_test_data[i]; - struct sockaddr_in sin = { - .sin_family = AF_INET, - .sin_port = htons(t->port), - }; - inet_aton(t->addr, &sin.sin_addr); + struct sockaddr_storage sa; + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; + sa.ss_family = t->address_family; + switch (t->address_family) { + case AF_INET: + sin = (struct sockaddr_in *)&sa; + OSMO_ASSERT(inet_pton(t->address_family, t->addr, &sin->sin_addr) == 1); + sin->sin_port = htons(t->port); + break; + case AF_INET6: + sin6 = (struct sockaddr_in6 *)&sa; + OSMO_ASSERT(inet_pton(t->address_family, t->addr, &sin6->sin6_addr) == 1); + sin6->sin6_port = htons(t->port); + break; + default: + OSMO_ASSERT(0); + } - char addr[20] = {}; + char addr[INET6_ADDRSTRLEN] = {}; uint16_t port = 0; unsigned int rc; rc = osmo_sockaddr_to_str_and_uint( t->omit_addr? NULL : addr, t->addr_len, t->omit_port? NULL : &port, - (const struct sockaddr*)&sin); + (const struct sockaddr *)&sa); - printf("[%d] %s:%u%s%s addr_len=%u --> %s:%u rc=%u\n", + printf("[%d] [%s]:%u%s%s addr_len=%u --> [%s]:%u rc=%u\n", i, t->addr ? : "-", t->port, diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok index cbab72a..f1b07fa 100644 --- a/tests/utils/utils_test.ok +++ b/tests/utils/utils_test.ok @@ -355,14 +355,22 @@ Testing integer square-root osmo_sockaddr_to_str_and_uint_test -[0] 0.0.0.0:0 addr_len=20 --> 0.0.0.0:0 rc=7 -[1] 255.255.255.255:65535 addr_len=20 --> 255.255.255.255:65535 rc=15 -[2] 234.23.42.123:1234 addr_len=20 --> 234.23.42.123:1234 rc=13 -[3] 234.23.42.123:1234 addr_len=10 --> 234.23.42:1234 rc=13 -[4] 234.23.42.123:1234 (omit port) addr_len=20 --> 234.23.42.123:0 rc=13 -[5] 234.23.42.123:1234 (omit addr) addr_len=0 --> :1234 rc=0 -[6] 234.23.42.123:1234 addr_len=0 --> :1234 rc=13 -[7] 234.23.42.123:1234 (omit addr) (omit port) addr_len=0 --> :0 rc=0 +[0] [0.0.0.0]:0 addr_len=20 --> [0.0.0.0]:0 rc=7 +[1] [255.255.255.255]:65535 addr_len=20 --> [255.255.255.255]:65535 rc=15 +[2] [234.23.42.123]:1234 addr_len=20 --> [234.23.42.123]:1234 rc=13 +[3] [234.23.42.123]:1234 addr_len=10 --> [234.23.42]:1234 rc=13 +[4] [234.23.42.123]:1234 (omit port) addr_len=20 --> [234.23.42.123]:0 rc=13 +[5] [234.23.42.123]:1234 (omit addr) addr_len=0 --> []:1234 rc=0 +[6] [234.23.42.123]:1234 addr_len=0 --> []:1234 rc=13 +[7] [234.23.42.123]:1234 (omit addr) (omit port) addr_len=0 --> []:0 rc=0 +[8] [::]:1234 addr_len=20 --> [::]:1234 rc=2 +[9] [::1]:1234 addr_len=20 --> [::1]:1234 rc=3 +[10] [::1]:1234 (omit port) addr_len=20 --> [::1]:0 rc=3 +[11] [::1]:1234 (omit addr) addr_len=20 --> []:1234 rc=0 +[12] [fd02:db8:1::1]:1234 addr_len=20 --> [fd02:db8:1::1]:1234 rc=13 +[13] [2001:db8:1::ab9:C0A8:102]:1234 addr_len=40 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 +[14] [2001:0db8:0001:0000:0000:0ab9:C0A8:0102]:1234 addr_len=32 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 +[15] [::ffff:192.168.20.34]:1234 addr_len=32 --> [::ffff:192.168.20.34]:1234 rc=20 osmo_str_tolowupper_test osmo_str_tolower("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I439c7fa52a3a30eebc3d35e78be7f1724fb69294 Gerrit-Change-Number: 19881 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 08:50:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:50:43 +0000 Subject: Change in libosmocore[master]: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19884 ) Change subject: socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo ...................................................................... socket: Use AF_UNSPEC instead of PF_UNSPEC calling getaddrinfo man getaddrinfo entry doesn't mention PF_UNSPEC, but AF_UNSPEC. Change-Id: Icab676ff7ee9d813d7b7fe807fbe172512f5e397 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index e88af16..62a5846 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1419,7 +1419,7 @@ /* Find out the address family (AF_INET or AF_INET6?) */ memset(&addrinfo_hint, '\0', sizeof(addrinfo_hint)); - addrinfo_hint.ai_family = PF_UNSPEC; + addrinfo_hint.ai_family = AF_UNSPEC; addrinfo_hint.ai_flags = AI_NUMERICHOST; rc = getaddrinfo(remote_ip, NULL, &addrinfo_hint, &addrinfo); if (rc) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icab676ff7ee9d813d7b7fe807fbe172512f5e397 Gerrit-Change-Number: 19884 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 Mon Aug 31 08:50:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:50:44 +0000 Subject: Change in libosmocore[master]: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19885 ) Change subject: socket: Fix stack-buffer-overflow in osmo_sock_local_ip() ...................................................................... socket: Fix stack-buffer-overflow in osmo_sock_local_ip() On IPv6 sockets, getsockname() and inet_ntop() would act upon a structure struct sockaddr_in. First getsockname() would succeed but truncate the address, and later on inet_ntop would read out of the scope of the structure. Change-Id: If781d56680758a97643b1b38e78d3431ea649020 --- M src/socket.c 1 file changed, 17 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/socket.c b/src/socket.c index 62a5846..df37ab8 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1413,7 +1413,9 @@ int rc; struct addrinfo addrinfo_hint; struct addrinfo *addrinfo = NULL; - struct sockaddr_in local_addr; + struct sockaddr_storage local_addr; + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; socklen_t local_addr_len; uint16_t family; @@ -1442,12 +1444,21 @@ close(sfd); if (rc < 0) return -EINVAL; - if (local_addr.sin_family == AF_INET) - inet_ntop(AF_INET, &local_addr.sin_addr, local_ip, INET_ADDRSTRLEN); - else if (local_addr.sin_family == AF_INET6) - inet_ntop(AF_INET6, &local_addr.sin_addr, local_ip, INET6_ADDRSTRLEN); - else + + switch (local_addr.ss_family) { + case AF_INET: + sin = (struct sockaddr_in*)&local_addr; + if (!inet_ntop(AF_INET, &sin->sin_addr, local_ip, INET_ADDRSTRLEN)) + return -EINVAL; + break; + case AF_INET6: + sin6 = (struct sockaddr_in6*)&local_addr; + if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET_ADDRSTRLEN)) + return -EINVAL; + break; + default: return -EINVAL; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If781d56680758a97643b1b38e78d3431ea649020 Gerrit-Change-Number: 19885 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 Mon Aug 31 08:54:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 08:54:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 to look at the new patch set (#3). Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... mgcp_client: Allow submitting and parsing IPv6 addr in SDP Existing mgcp_client_test code required the '.' to trigger the same code path, since with this commit we do extra checks and without a dot the address is not accepted as IPv4 by osmo_ip_str_type(). Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.ok 3 files changed, 59 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/88/19888/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 09:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 09:04:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 to look at the new patch set (#4). Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... mgcp_client: Allow submitting and parsing IPv6 addr in SDP Existing mgcp_client_test code required the '.' to trigger the same code path, since with this commit we do extra checks and without a dot the address is not accepted as IPv4 by osmo_ip_str_type(). Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.ok 3 files changed, 62 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/88/19888/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 09:22:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 09:22:12 +0000 Subject: Change in libosmocore[master]: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19911 ) Change subject: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip ...................................................................... socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip Change-Id: I13939fda9b3d642f9fa1413e59458aba0628a4a6 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/19911/1 diff --git a/src/socket.c b/src/socket.c index df37ab8..f91ad10 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1453,7 +1453,7 @@ break; case AF_INET6: sin6 = (struct sockaddr_in6*)&local_addr; - if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET_ADDRSTRLEN)) + if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET6_ADDRSTRLEN)) return -EINVAL; break; default: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13939fda9b3d642f9fa1413e59458aba0628a4a6 Gerrit-Change-Number: 19911 Gerrit-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 Aug 31 09:33:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 09:33:48 +0000 Subject: Change in libosmocore[master]: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19911 ) Change subject: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13939fda9b3d642f9fa1413e59458aba0628a4a6 Gerrit-Change-Number: 19911 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 09:33: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 Aug 31 09:33:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 09:33:51 +0000 Subject: Change in libosmocore[master]: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19911 ) Change subject: socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip ...................................................................... socket: fix wrong ipv6 dst buf size passed in osmo_sock_local_ip Change-Id: I13939fda9b3d642f9fa1413e59458aba0628a4a6 --- M src/socket.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/socket.c b/src/socket.c index df37ab8..f91ad10 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1453,7 +1453,7 @@ break; case AF_INET6: sin6 = (struct sockaddr_in6*)&local_addr; - if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET_ADDRSTRLEN)) + if (!inet_ntop(AF_INET6, &sin6->sin6_addr, local_ip, INET6_ADDRSTRLEN)) return -EINVAL; break; default: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13939fda9b3d642f9fa1413e59458aba0628a4a6 Gerrit-Change-Number: 19911 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 Aug 31 10:46:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 10:46:52 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: Code-Review-1 As I said some time ago in the IRC, I don't like this approach (sorry). It looks more logical to stop sending Downlink bursts from osmo-bts, and ignore Uplink bursts (if any), rather than sending them to osmo-trx and dropping them there. Doing it here, in osmo-bts-trx, would also eliminate the need to implement RFMUTE in osmo-trx, fake_trx.py, and, most importantly, in proprietary implementations. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 10:46: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 Aug 31 10:59:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 10:59:15 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: As it is done now, osmo-trx expects to always receive DL bursts all the time, so we are breaking stuff if we simply stop sending them. Regarding "it needs to be implemented on each TDX implementation": Yes, that's precisely the point. Let each implementation do it the best way possible based on the hardware it controls. Similarly in sysmobts, we don't mute in higher levels but instead send some message to the lower layers, so I'm basically replicating the same approach over TRXC here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 10:59: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 Mon Aug 31 11:09:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 11:09:07 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: -Code-Review > Patch Set 2: > > As it is done now, osmo-trx expects to always receive DL bursts all the time, so we are breaking stuff if we simply stop sending them. Hmm, this is probably what Hoernchen was talking about. And it only applies to C0, right? Because in a multi-trx setup, all additional transceivers send no bursts most of the time, and it works. Now I am wondering why it is the case, given that osmo-trx is a clock master, and it can simply send zero-samples on C0 if there is nothing to send, just like it does for C1..N. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Hoernchen Gerrit-Comment-Date: Mon, 31 Aug 2020 11:09: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 Aug 31 11:20:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 11:20:12 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: > Patch Set 2: -Code-Review > > > Patch Set 2: > > > > As it is done now, osmo-trx expects to always receive DL bursts all the time, so we are breaking stuff if we simply stop sending them. > > Hmm, this is probably what Hoernchen was talking about. And it only applies to C0, right? Because in a multi-trx setup, all additional transceivers send no bursts most of the time, and it works. Now I am wondering why it is the case, given that osmo-trx is a clock master, and it can simply send zero-samples on C0 if there is nothing to send, just like it does for C1..N. It applies to C0, and yes, it can be configured to fill in buffers with whatever fill method is required. BUt my main point is that it makes more sense to apply RF mute in osmo-trx since it knows/controls the HW. This means for some HW it could for instance turn off specific baseband HW to avoid consuming/heating while locked, or avoid spending CPU time. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Hoernchen Gerrit-Comment-Date: Mon, 31 Aug 2020 11:20:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 11:28:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 11:28:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c at a375 PS2, Line 375: if (st > How can they go out of bounds? [?] I see, indeed the old function also didn't guard against that. I still think if not some OSMO_ASSERT() at least some comments would be useful to point out that those unconditional offset-incremenets and accesses for the 4/6/' ' check would dereference the terminating NUL byte, and not out of bounds. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 11:28:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 11:47:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 11:47:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_{chan_activ, imm_ass} In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 to look at the new patch set (#2). Change subject: BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} ...................................................................... BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} This test case verifies presence and correctness of the hopping parameters in the following messages and their IEs: 1. RSL CHANnel ACTIVation 1.1. Channel Identification IE 2. RSL IMMEDIATE ASSIGN COMMAND 2.1. Channel Description IE 2.2. Mobile Allocation IE The hopping parameters are randomly generated and configured via the VTY interface in the beginning, and unset in the end. Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Related: SYS#4868, OS#4545 --- M bsc/BSC_Tests.ttcn 1 file changed, 271 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/19910/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Gerrit-Change-Number: 19910 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 11:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 11:53:32 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c at a375 PS2, Line 375: if (st > I see, indeed the old function also didn't guard against that. [?] I think that's clear in any C string. However, looking at it another time, I think there can be some issue with the extra checks I added in osmo_strlcpy, and later, since we are copying wahtever may be after the IP address. I think I should add more manual checks there, so please don't merge this one yet. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 11:53:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 12:02:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 12:02:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19888 ) Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/19888/2/src/libosmo-mgcp-client/mgcp_client.c at 394 PS2, Line 394: if (inet_pton(family, r->audio_ip, &ip_test) != 1) TODO: r->audio_ip sa_family = family; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 12:02: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 Mon Aug 31 12:43:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 12:43:02 +0000 Subject: Change in libosmocore[master]: gsm0808: fix: do not encode invalid encryption algorithm References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19912 ) Change subject: gsm0808: fix: do not encode invalid encryption algorithm ...................................................................... gsm0808: fix: do not encode invalid encryption algorithm According to 3GPP TS 48.008, section 3.2.2.44, the Chosen Encryption Algorithm IE, which may be included in the following messages: - 3.2.1.2 ASSIGNMENT COMPLETE - 3.2.1.8 HANDOVER REQUEST - 3.2.1.10 HANDOVER REQUEST ACKNOWLEDGE - 3.2.1.12 HANDOVER COMPLETE - 3.2.1.25 HANDOVER PERFORMED - 3.2.1.31 CIPHER MODE COMPLETE is coded as follows: 0000 0001 No encryption used 0000 0010 GSM A5/1 0000 0011 GSM A5/2 0000 0100 GSM A5/3 0000 0101 GSM A5/4 0000 0110 GSM A5/5 0000 0111 GSM A5/6 0000 1000 GSM A5/7 basically A5/X => X + 1. All other values are Reserved for future international use. As can be seen, value 0x00 is RFU. Passing this value to some encoding functions would result in a PDU with this IE omitted. Although, some functions would still encode Chosen Encryption Algorithm IE with this RFU value. Let's ensure that all functions behave consistently. Change-Id: If10e433a8174eabe6aa6d2c2937bf9cf5d14d7c9 --- M src/gsm/gsm0808.c 1 file changed, 9 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/19912/1 diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 85f5cfc..5322061 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -283,8 +283,9 @@ msgb_l3len(layer3), layer3->l3h); } - /* and the optional BSS message */ - msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, alg_id); + /* Optional Chosen Encryption Algorithm IE */ + if (alg_id > 0) + msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, alg_id); /* pre-pend the header */ msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); @@ -603,7 +604,8 @@ msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, chosen_channel); /* write chosen encryption algorithm 3.2.2.44 */ - msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, encr_alg_id); + if (encr_alg_id > 0) + msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, encr_alg_id); /* write circuit pool 3.2.2.45 */ /* write speech version chosen: 3.2.2.51 when BTS picked it */ @@ -964,7 +966,7 @@ } /* Chosen Encryption Algorithm (Serving) 3.2.2.44 */ - if (params->chosen_encryption_algorithm_serving) + if (params->chosen_encryption_algorithm_serving > 0) msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, params->chosen_encryption_algorithm_serving); /* Old BSS to New BSS Information 3.2.2.58 */ @@ -1027,7 +1029,7 @@ if (params->chosen_channel_present) msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, params->chosen_channel); - if (params->chosen_encr_alg) + if (params->chosen_encr_alg > 0) msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, params->chosen_encr_alg); if (params->chosen_speech_version != 0) @@ -1157,7 +1159,7 @@ gsm0808_enc_speech_codec_list(msg, ¶ms->codec_list_bss_supported); /* Chosen Encryption Algorithm 3.2.2.44 */ - if (params->chosen_encr_alg_present) + if (params->chosen_encr_alg_present && params->chosen_encr_alg > 0) msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, params->chosen_encr_alg); /* LCLS-BSS-Status 3.2.2.119 */ @@ -1225,7 +1227,7 @@ msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, params->chosen_channel); /* Chosen Encryption Algorithm 3.2.2.44 */ - if (params->chosen_encr_alg_present) + if (params->chosen_encr_alg_present && params->chosen_encr_alg > 0) msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, params->chosen_encr_alg); /* Speech Version (chosen) 3.2.2.51 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If10e433a8174eabe6aa6d2c2937bf9cf5d14d7c9 Gerrit-Change-Number: 19912 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 Aug 31 13:05:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 13:05:22 +0000 Subject: Change in pysim[master]: fix 'TabError: inconsistent use of tabs and spaces in indentation' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/19913 ) Change subject: fix 'TabError: inconsistent use of tabs and spaces in indentation' ...................................................................... fix 'TabError: inconsistent use of tabs and spaces in indentation' those errors appear with python 3.8.5 otherwise Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e --- M pySim/cards.py 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/19913/1 diff --git a/pySim/cards.py b/pySim/cards.py index 2d779b3..2971d45 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -45,8 +45,8 @@ def file_exists(self, fid): res_arr = self._scc.try_select_file(fid) for res in res_arr: - if res[1] != '9000': - return False + if res[1] != '9000': + return False return True def verify_adm(self, key): @@ -1182,7 +1182,7 @@ self._scc.update_binary('af20', p['opc'], 17) # update EF.EHPLMN in ADF.USIM - if self.file_exists(EF_USIM_ADF_map['EHPLMN']): + if self.file_exists(EF_USIM_ADF_map['EHPLMN']): if p.get('mcc') and p.get('mnc'): sw = self.update_ehplmn(p['mcc'], p['mnc']) if sw != '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/19913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e Gerrit-Change-Number: 19913 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 Aug 31 13:31:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 13:31:38 +0000 Subject: Change in libosmocore[master]: gsm0808: fix: do not encode invalid encryption algorithm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19912 ) Change subject: gsm0808: fix: do not encode invalid encryption algorithm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If10e433a8174eabe6aa6d2c2937bf9cf5d14d7c9 Gerrit-Change-Number: 19912 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 13:31: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 Aug 31 13:32:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 13:32:03 +0000 Subject: Change in pysim[master]: fix 'TabError: inconsistent use of tabs and spaces in indentation' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/19913 ) Change subject: fix 'TabError: inconsistent use of tabs and spaces in indentation' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/19913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e Gerrit-Change-Number: 19913 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 31 Aug 2020 13:32: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 Aug 31 14:24:33 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 31 Aug 2020 14:24:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > We do huge amounts of object lookups in long llists all over the osmocom source trees. > Caching the e1.line seems a premature optimization. > > Instead we should do some profiling, and the result will most likely point at other places that take a lot longer than getting an object from a list of one member. (In general, I assume osmocom needs to introduce hashmaps at some point, to look up conn ids on various interfaces instead of iterating every time) I have checked the context of this patch. In this case e1.line is only needed during initialization. Caching it is pointless since it is not needed anymore after that. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 14:24: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 Aug 31 14:24:45 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 31 Aug 2020 14:24:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 to look at the new patch set (#2). Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... mgcp_e1: make E1 ts initalization more debugable The E1 timeslot initalization may fail silently in the last steps. There is an error code returned, but no log lines are printed. This can make debugging difficult. Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/10/19710/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 14:29:02 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 31 Aug 2020 14:29:02 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check for conn early In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18233 ) Change subject: osmo_bsc_bssap: check for conn early ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib7bdfa03ee1d186a94720c65dd72a594de21e783 Gerrit-Change-Number: 18233 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 14:44:14 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 31 Aug 2020 14:44:14 +0000 Subject: Change in osmo-hlr[master]: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19914 ) Change subject: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" ...................................................................... osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" Include the IMEI and the last seen time in an import from an osmo-nitb database. Change-Id: Ic47e549be3551ae43ab6a84228d47ae03e9652a6 --- M include/osmocom/hlr/db.h M src/db.c M src/hlr_db_tool.c 3 files changed, 70 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/14/19914/1 diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index ca336a0..176a097 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -33,6 +33,7 @@ DB_STMT_SET_LAST_LU_SEEN_PS, DB_STMT_EXISTS_BY_IMSI, DB_STMT_EXISTS_BY_MSISDN, + DB_STMT_SET_IMPLICIT_LU_BY_IMSI, _NUM_DB_STMT }; diff --git a/src/db.c b/src/db.c index 5ec20e2..fb7c2d5 100644 --- a/src/db.c +++ b/src/db.c @@ -85,6 +85,7 @@ [DB_STMT_SET_LAST_LU_SEEN_PS] = "UPDATE subscriber SET last_lu_seen_ps = datetime($val, 'unixepoch') WHERE id = $subscriber_id", [DB_STMT_EXISTS_BY_IMSI] = "SELECT 1 FROM subscriber WHERE imsi = $imsi", [DB_STMT_EXISTS_BY_MSISDN] = "SELECT 1 FROM subscriber WHERE msisdn = $msisdn", + [DB_STMT_SET_IMPLICIT_LU_BY_IMSI] = "UPDATE subscriber SET last_lu_seen = datetime($last_lu, 'unixepoch') WHERE imsi = $imsi", }; static void sql3_error_log_cb(void *arg, int err_code, const char *msg) diff --git a/src/hlr_db_tool.c b/src/hlr_db_tool.c index 1212018..e9733a0 100644 --- a/src/hlr_db_tool.c +++ b/src/hlr_db_tool.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -70,8 +71,9 @@ printf(" (All commands imply this if none exists yet.)\n"); printf("\n"); printf(" import-nitb-db Add OsmoNITB db's subscribers to OsmoHLR db.\n"); - printf(" Be aware that the import is lossy, only the\n"); - printf(" IMSI, MSISDN, nam_cs/ps and 2G auth data are set.\n"); + printf(" Be aware that the import is somewhat lossy, only the IMSI,\n"); + printf(" MSISDN, IMEI, nam_cs/ps, 2G auth data and last seen LU are set.\n"); + printf(" The most recently associated IMEI from the Equipment table is used.\n"); } static void print_version(int print_copyright) @@ -212,9 +214,15 @@ static const char *nitb_stmt_sql[] = { [NITB_SELECT_SUBSCR] = - "SELECT imsi, id, extension, authorized" - " FROM Subscriber" - " ORDER BY id", + "SELECT s.imsi, s.id, s.extension, s.authorized," + " SUBSTR(e.imei,0,15), STRFTIME('%s', s.expire_lu)" + " FROM Subscriber s INNER JOIN" + " (SELECT imei, subscriber_id, MAX(Equipment.updated) AS updated" + " FROM Equipment,EquipmentWatch" + " WHERE Equipment.id = EquipmentWatch.equipment_id" + " GROUP BY EquipmentWatch.subscriber_id) e" + " ON e.subscriber_id = s.id" + " ORDER by s.id", [NITB_SELECT_AUTH_KEYS] = "SELECT algorithm_id, a3a8_ki from authkeys" " WHERE subscriber_id = $subscr_id", @@ -224,6 +232,52 @@ size_t _dbd_decode_binary(const unsigned char *in, unsigned char *out); +/*! Set a subscriber's LU timestamp in the HLR database. + * In normal operations there is never any need to explicitly + * update the value of last_lu_seen, so this function can live here. + * + * \param[in,out] dbc database context. + * \param[in] imsi ASCII string of IMSI digits + * \param[in] imei ASCII string of identifier digits, or NULL to remove the IMEI. + * \returns 0 on success, -ENOENT when the given subscriber does not exist, + * -EIO on database errors. + */ +int db_subscr_update_lu_by_imsi(struct db_context *dbc, const char* imsi, const int last_lu) +{ + int rc, ret = 0; + + sqlite3_stmt *stmt = dbc->stmt[DB_STMT_SET_IMPLICIT_LU_BY_IMSI]; + + if (!db_bind_text(stmt, "$imsi", imsi)) + return -EIO; + if (last_lu && !db_bind_int(stmt, "$last_lu", last_lu)) + return -EIO; + + /* execute the statement */ + rc = sqlite3_step(stmt); + if (rc != SQLITE_DONE) { + LOGP(DAUC, LOGL_ERROR, "Update last_lu_seen for subscriber IMSI='%s': SQL Error: %s\n", imsi, + sqlite3_errmsg(dbc->db)); + ret = -EIO; + goto out; + } + + /* verify execution result */ + rc = sqlite3_changes(dbc->db); + if (!rc) { + LOGP(DAUC, LOGL_ERROR, "Cannot update last_lu_seen for subscriber IMSI='%s': no such subscriber\n", imsi); + ret = -ENOENT; + } else if (rc != 1) { + LOGP(DAUC, LOGL_ERROR, "Update last_lu_seen for subscriber IMSI='%s': SQL modified %d rows (expected 1)\n", + imsi, rc); + ret = -EIO; + } + +out: + db_remove_reset(stmt); + return ret; +} + void import_nitb_subscr_aud(sqlite3 *nitb_db, const char *imsi, int64_t nitb_id, int64_t hlr_id) { int rc; @@ -297,6 +351,7 @@ int64_t imsi; char imsi_str[32]; bool authorized; + int last_lu_int; imsi = sqlite3_column_int64(stmt, 0); @@ -315,8 +370,16 @@ nitb_id = sqlite3_column_int64(stmt, 1); copy_sqlite3_text_to_buf(subscr.msisdn, stmt, 2); authorized = sqlite3_column_int(stmt, 3) ? true : false; + copy_sqlite3_text_to_buf(subscr.imei, stmt, 4); + /* Default periodic LU was 30 mins and the expire_lu + * was twice that + 1 min + */ + last_lu_int = sqlite3_column_int(stmt, 5) - 3660; db_subscr_update_msisdn_by_imsi(dbc, imsi_str, subscr.msisdn); + db_subscr_update_imei_by_imsi(dbc, imsi_str, subscr.imei); + db_subscr_update_lu_by_imsi(dbc, imsi_str, last_lu_int); + db_subscr_nam(dbc, imsi_str, authorized, true); db_subscr_nam(dbc, imsi_str, authorized, false); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic47e549be3551ae43ab6a84228d47ae03e9652a6 Gerrit-Change-Number: 19914 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 14:49:09 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 31 Aug 2020 14:49:09 +0000 Subject: Change in osmo-hlr[master]: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19914 ) Change subject: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/19914/1/src/db.c File src/db.c: https://gerrit.osmocom.org/c/osmo-hlr/+/19914/1/src/db.c at 88 PS1, Line 88: [DB_STMT_SET_IMPLICIT_LU_BY_IMSI] = "UPDATE subscriber SET last_lu_seen = datetime($last_lu, 'unixepoch') WHERE imsi = $imsi", Dear reviewer, I tried to avoid adding code here, - to only modify the hlr_db_tool.c but I could not figure it out. I tried to prepare a standalone SQL statement for this in hlr_db_tool but always got an SQL error while doing that. "Couldn't close database: (rc=5) unable to close due to unfinalized statements or unfinished backups" -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic47e549be3551ae43ab6a84228d47ae03e9652a6 Gerrit-Change-Number: 19914 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Mon, 31 Aug 2020 14:49:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 14:50:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 14:50:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Revert "bsc: Add Lb interface support" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 ) Change subject: Revert "bsc: Add Lb interface support" ...................................................................... Revert "bsc: Add Lb interface support" This reverts commit c47fdb2e52c98f81a3b708dcaeaf131096fe912c - as osmo-bsc currently doesn't yet have a Lb interface, we shouldn't try to test it yet. Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/gen_links.sh 3 files changed, 2 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/19915/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ffc92ad..dce9ae9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -28,8 +28,6 @@ import from BSSAP_Types all; import from RAN_Adapter all; -import from BSSAP_LE_Adapter all; -import from BSSAP_LE_CodecPort all; import from BSSAP_CodecPort all; import from BSSMAP_Templates all; import from IPA_Emulation all; @@ -482,10 +480,8 @@ var StatsD_Checker_CT vc_STATSD; var RAN_Adapter g_bssap[NUM_MSC]; - var BSSAP_LE_Adapter g_bssap_le; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; - port BSSAP_LE_CODEC_PT BSSAP_LE; /* are we initialized yet */ var boolean g_initialized := false; @@ -557,17 +553,6 @@ } }; - BSSAP_LE_Configuration mp_bssap_le_cfg := { - sccp_service_type := "mtp3_itu", - sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, - own_pc := 6, /* 0.0.6 SMLC emulation */ - own_ssn := 252, /* SMLC side SSN */ - peer_pc := 187, /* 0.23.3 osmo-bsc */ - peer_ssn := 250, /* BSC side SSN */ - sio := '83'O, - rctx := 6 - }; - /* Whether to enable osmux tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ @@ -943,14 +928,6 @@ } } - if (handler_mode) { - f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", SMLC_BssapLeOps); - } else { - f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", omit); - connect(self:BSSAP_LE, g_bssap_le.vc_SCCP:SCCP_SP_PORT); - } - f_bssap_le_adapter_start(g_bssap_le); - /* start the test with exactly all enabled MSCs allowed to attach */ f_vty_msc_allow_attach(BSCVTY, allow_attach); @@ -2901,7 +2878,6 @@ ***********************************************************************/ import from RAN_Emulation all; -import from BSSAP_LE_Emulation all; import from RSL_Emulation all; import from MSC_ConnectionHandler all; @@ -2922,7 +2898,6 @@ connect(vc_conn:RSL2_PROC, bts[2].rsl.vc_RSL:RSL_PROC); } connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_LE, g_bssap_le.vc_BSSAP_LE:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index f02cfb4..bf96eff 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -19,9 +19,6 @@ import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; -import from BSSAP_LE_Emulation all; -import from BSSAP_LE_Types all; -import from BSSMAP_LE_Templates all; import from BSSMAP_Templates all; import from IPL4asp_Types all; @@ -414,7 +411,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, BSSAP_LE_ConnHdlr, StatsD_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; @@ -473,20 +470,6 @@ return resp; } -/* Callback function from general BSSAP_LE_Emulation whenever a connectionless - * BSSAP_LE message arrives. Can return a PDU_BSSAP_LE that should be sent in return */ -private function BSSAP_LE_UnitdataCallback(PDU_BSSAP_LE bssap) -runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { - var template PDU_BSSAP_LE resp := omit; - - /* answer all RESET with a RESET ACK */ - if (match(bssap, tr_BSSMAP_LE_Reset)) { - resp := ts_BSSMAP_LE_ResetAck; - } - - return resp; -} - const RanOps MSC_RanOps := { create_cb := refers(RAN_Emulation.ExpectedCreateCallback), unitdata_cb := refers(UnitdataCallback), @@ -499,15 +482,6 @@ sccp_addr_peer := omit } -const BssapLeOps SMLC_BssapLeOps := { - create_cb := refers(BSSAP_LE_Emulation.ExpectedCreateCallback), - unitdata_cb := refers(BSSAP_LE_UnitdataCallback), - decode_dtap := false, - role_ms := false, - sccp_addr_local := omit, - sccp_addr_peer := omit -} - const MGCPOps MSC_MGCPOps := { create_cb := refers(MGCP_Emulation.ExpectedCreateCallback), unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback) diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index f316509..02e093d 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,9 +70,7 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " -FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " -FILES+="BSSAP_LE_CodecPort.ttcn BSSAP_LE_Emulation.ttcn BSSAP_LE_Types.ttcn BSSAP_LE_Adapter.ttcn BSSLAP_Types.ttcn BSSMAP_LE_Templates.ttcn " - +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 Gerrit-Change-Number: 19915 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 Aug 31 14:52:16 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 31 Aug 2020 14:52:16 +0000 Subject: Change in osmo-hlr[master]: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/19914 ) Change subject: osmo-hlr-db-tool: Make import from osmo-nitb less "lossy" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/19914/1/src/hlr_db_tool.c File src/hlr_db_tool.c: https://gerrit.osmocom.org/c/osmo-hlr/+/19914/1/src/hlr_db_tool.c at 374 PS1, Line 374: /* Default periodic LU was 30 mins and the expire_lu I guess this could be a command line option "periodic LU used" or something -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/19914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic47e549be3551ae43ab6a84228d47ae03e9652a6 Gerrit-Change-Number: 19914 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Mon, 31 Aug 2020 14:52: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 Mon Aug 31 14:52:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 14:52:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 14:52: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 Aug 31 14:53:46 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 31 Aug 2020 14:53:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Revert "bsc: Add Lb interface support" In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 ) Change subject: Revert "bsc: Add Lb interface support" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 Gerrit-Change-Number: 19915 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Mon, 31 Aug 2020 14:53: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 Aug 31 15:00:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:00:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19710 ) Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 15:00:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:00:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: make E1 ts initalization more debugable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19710 ) Change subject: mgcp_e1: make E1 ts initalization more debugable ...................................................................... mgcp_e1: make E1 ts initalization more debugable The E1 timeslot initalization may fail silently in the last steps. There is an error code returned, but no log lines are printed. This can make debugging difficult. Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index b3db0b7..3bd9a99 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -400,11 +400,15 @@ /* Configure E1 timeslot */ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); - if (rc < 0) + if (rc < 0) { + LOGPTRUNK(trunk, DE1, LOGL_ERROR, "failed to put E1 timeslot %u in raw mode.\n", ts_nr); return -EINVAL; + } rc = e1inp_line_update(e1_line); - if (rc < 0) + if (rc < 0) { + LOGPTRUNK(trunk, DE1, LOGL_ERROR, "failed to update E1 timeslot %u.\n", ts_nr); return -EINVAL; + } LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "E1 timeslot %u set up successfully.\n", ts_nr); trunk->e1.ts_in_use[ts_nr - 1] = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19710 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9aab17fc1ba6666c81b14035a8f1f17e5a55adaf Gerrit-Change-Number: 19710 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:00:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_e1: remove unused struct member trunk->e1.line In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19711 ) Change subject: mgcp_e1: remove unused struct member trunk->e1.line ...................................................................... mgcp_e1: remove unused struct member trunk->e1.line The struct member trunk->e1.line is never set. Also it is always possible to use e1inp_line_find() to get a pointer to the e1.line. Lets remove it. Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_e1.c 2 files changed, 6 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index d99f801..1002adb 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -60,7 +60,6 @@ /* E1 specific */ struct { unsigned int vty_line_nr; - struct e1inp_line *line; bool ts_in_use[31]; struct osmo_i460_timeslot i460_ts[31]; } e1; diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 3bd9a99..50a2d85 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -385,18 +385,13 @@ } /* Get E1 line */ - if (!trunk->e1.line) { - e1_line = e1inp_line_find(trunk->e1.vty_line_nr); - if (!e1_line) { - LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", - trunk->e1.vty_line_nr); - return -EINVAL; - } - e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); - } else - e1_line = trunk->e1.line; - if (!e1_line) + e1_line = e1inp_line_find(trunk->e1.vty_line_nr); + if (!e1_line) { + LOGPTRUNK(trunk, DE1, LOGL_DEBUG, "no such E1 line %u - check VTY config!\n", + trunk->e1.vty_line_nr); return -EINVAL; + } + e1inp_line_bind_ops(e1_line, &dummy_e1_line_ops); /* Configure E1 timeslot */ rc = e1inp_ts_config_raw(&e1_line->ts[ts_nr - 1], e1_line, e1_recv_cb); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19711 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id4ff52285917ce3885b8dad3a16270999c9da0aa Gerrit-Change-Number: 19711 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Mon Aug 31 15:01:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:01:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Revert "bsc: Add Lb interface support" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 ) Change subject: Revert "bsc: Add Lb interface support" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 Gerrit-Change-Number: 19915 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 31 Aug 2020 15:01: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 Aug 31 15:01:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:01:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Revert "bsc: Add Lb interface support" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 ) Change subject: Revert "bsc: Add Lb interface support" ...................................................................... Revert "bsc: Add Lb interface support" This reverts commit c47fdb2e52c98f81a3b708dcaeaf131096fe912c - as osmo-bsc currently doesn't yet have a Lb interface, we shouldn't try to test it yet. Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/gen_links.sh 3 files changed, 2 insertions(+), 55 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ffc92ad..dce9ae9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -28,8 +28,6 @@ import from BSSAP_Types all; import from RAN_Adapter all; -import from BSSAP_LE_Adapter all; -import from BSSAP_LE_CodecPort all; import from BSSAP_CodecPort all; import from BSSMAP_Templates all; import from IPA_Emulation all; @@ -482,10 +480,8 @@ var StatsD_Checker_CT vc_STATSD; var RAN_Adapter g_bssap[NUM_MSC]; - var BSSAP_LE_Adapter g_bssap_le; /* for old legacy-tests only */ port BSSAP_CODEC_PT BSSAP; - port BSSAP_LE_CODEC_PT BSSAP_LE; /* are we initialized yet */ var boolean g_initialized := false; @@ -557,17 +553,6 @@ } }; - BSSAP_LE_Configuration mp_bssap_le_cfg := { - sccp_service_type := "mtp3_itu", - sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, - own_pc := 6, /* 0.0.6 SMLC emulation */ - own_ssn := 252, /* SMLC side SSN */ - peer_pc := 187, /* 0.23.3 osmo-bsc */ - peer_ssn := 250, /* BSC side SSN */ - sio := '83'O, - rctx := 6 - }; - /* Whether to enable osmux tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ @@ -943,14 +928,6 @@ } } - if (handler_mode) { - f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", SMLC_BssapLeOps); - } else { - f_bssap_le_adapter_init(g_bssap_le, mp_bssap_le_cfg, "VirtSMLC", omit); - connect(self:BSSAP_LE, g_bssap_le.vc_SCCP:SCCP_SP_PORT); - } - f_bssap_le_adapter_start(g_bssap_le); - /* start the test with exactly all enabled MSCs allowed to attach */ f_vty_msc_allow_attach(BSCVTY, allow_attach); @@ -2901,7 +2878,6 @@ ***********************************************************************/ import from RAN_Emulation all; -import from BSSAP_LE_Emulation all; import from RSL_Emulation all; import from MSC_ConnectionHandler all; @@ -2922,7 +2898,6 @@ connect(vc_conn:RSL2_PROC, bts[2].rsl.vc_RSL:RSL_PROC); } connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_LE, g_bssap_le.vc_BSSAP_LE:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index f02cfb4..bf96eff 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -19,9 +19,6 @@ import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; -import from BSSAP_LE_Emulation all; -import from BSSAP_LE_Types all; -import from BSSMAP_LE_Templates all; import from BSSMAP_Templates all; import from IPL4asp_Types all; @@ -414,7 +411,7 @@ /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ -type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, BSSAP_LE_ConnHdlr, StatsD_ConnHdlr { +type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr, StatsD_ConnHdlr { /* SCCP Connecction Identifier for the underlying SCCP connection */ var integer g_sccp_conn_id; @@ -473,20 +470,6 @@ return resp; } -/* Callback function from general BSSAP_LE_Emulation whenever a connectionless - * BSSAP_LE message arrives. Can return a PDU_BSSAP_LE that should be sent in return */ -private function BSSAP_LE_UnitdataCallback(PDU_BSSAP_LE bssap) -runs on BSSAP_LE_Emulation_CT return template PDU_BSSAP_LE { - var template PDU_BSSAP_LE resp := omit; - - /* answer all RESET with a RESET ACK */ - if (match(bssap, tr_BSSMAP_LE_Reset)) { - resp := ts_BSSMAP_LE_ResetAck; - } - - return resp; -} - const RanOps MSC_RanOps := { create_cb := refers(RAN_Emulation.ExpectedCreateCallback), unitdata_cb := refers(UnitdataCallback), @@ -499,15 +482,6 @@ sccp_addr_peer := omit } -const BssapLeOps SMLC_BssapLeOps := { - create_cb := refers(BSSAP_LE_Emulation.ExpectedCreateCallback), - unitdata_cb := refers(BSSAP_LE_UnitdataCallback), - decode_dtap := false, - role_ms := false, - sccp_addr_local := omit, - sccp_addr_peer := omit -} - const MGCPOps MSC_MGCPOps := { create_cb := refers(MGCP_Emulation.ExpectedCreateCallback), unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback) diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index f316509..02e093d 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -70,9 +70,7 @@ FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " -FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " -FILES+="BSSAP_LE_CodecPort.ttcn BSSAP_LE_Emulation.ttcn BSSAP_LE_Types.ttcn BSSAP_LE_Adapter.ttcn BSSLAP_Types.ttcn BSSMAP_LE_Templates.ttcn " - +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn" gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7898dd336cbef27553d97857ac22f1a539da1380 Gerrit-Change-Number: 19915 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Mon Aug 31 15:02:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:02:47 +0000 Subject: Change in pysim[master]: fix 'TabError: inconsistent use of tabs and spaces in indentation' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/19913 ) Change subject: fix 'TabError: inconsistent use of tabs and spaces in indentation' ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/19913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e Gerrit-Change-Number: 19913 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 31 Aug 2020 15: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 Mon Aug 31 15:02:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:02:49 +0000 Subject: Change in pysim[master]: fix 'TabError: inconsistent use of tabs and spaces in indentation' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/19913 ) Change subject: fix 'TabError: inconsistent use of tabs and spaces in indentation' ...................................................................... fix 'TabError: inconsistent use of tabs and spaces in indentation' those errors appear with python 3.8.5 otherwise Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e --- M pySim/cards.py 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/pySim/cards.py b/pySim/cards.py index 2d779b3..2971d45 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -45,8 +45,8 @@ def file_exists(self, fid): res_arr = self._scc.try_select_file(fid) for res in res_arr: - if res[1] != '9000': - return False + if res[1] != '9000': + return False return True def verify_adm(self, key): @@ -1182,7 +1182,7 @@ self._scc.update_binary('af20', p['opc'], 17) # update EF.EHPLMN in ADF.USIM - if self.file_exists(EF_USIM_ADF_map['EHPLMN']): + if self.file_exists(EF_USIM_ADF_map['EHPLMN']): if p.get('mcc') and p.get('mnc'): sw = self.update_ehplmn(p['mcc'], p['mnc']) if sw != '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/19913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5e8a41a8aa9abdd0162c4635ccf9bfe736cca27e Gerrit-Change-Number: 19913 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge 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 Mon Aug 31 15:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:04:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 ) Change subject: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f Gerrit-Change-Number: 19905 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15: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 Mon Aug 31 15:05:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 ) Change subject: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b Gerrit-Change-Number: 19906 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:05: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 Aug 31 15:05:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: restrict Mobile Allocation length In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 ) Change subject: library/GSM_RR_Types: restrict Mobile Allocation length ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 Gerrit-Change-Number: 19907 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:05:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:05:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0, H1} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 ) Change subject: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 Gerrit-Change-Number: 19908 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:05:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:05:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add missing Channel Identification IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 ) Change subject: library/RSL_Types: add missing Channel Identification IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 Gerrit-Change-Number: 19909 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:05: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 Aug 31 15:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 ) Change subject: library/Osmocom_Types: fix: '10111111'B is a valid emergency RA ...................................................................... library/Osmocom_Types: fix: '10111111'B is a valid emergency RA Most likely, the second part of the condition was copy-pasted from ra_is_ps(), where the specs. require that at least one of the three LSB's shall be zero. This requirement does not apply to emergency RA values in range '101xxxxx'B. Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f --- M library/Osmocom_Types.ttcn 1 file changed, 1 insertion(+), 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/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 2ee3215..fa36881 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -208,10 +208,7 @@ function ra_is_emerg(OCT1 ra) return boolean { /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */ - if ((ra and4b 'E0'O == 'A0'O) and (ra and4b '1F'O != '1F'O)) { - return true; - } - return false; + return (ra and4b 'E0'O == 'A0'O); } /* generate a random RACH for circuit-switched */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f Gerrit-Change-Number: 19905 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 Mon Aug 31 15:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 ) Change subject: library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA ...................................................................... library/Osmocom_Types: fix f_rnd_ra_cs(): ensure non-emergency RA Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b --- M library/Osmocom_Types.ttcn 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/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index fa36881..6281280 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -216,7 +216,7 @@ var OCT1 ra; do { ra := f_rnd_octstring(1); - } while (ra_is_ps(ra)); + } while (ra_is_ps(ra) or ra_is_emerg(ra)); return ra; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idbb2a2c7c2024adea5ff5ee639aeca6eab8ebb3b Gerrit-Change-Number: 19906 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 Mon Aug 31 15:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: restrict Mobile Allocation length In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 ) Change subject: library/GSM_RR_Types: restrict Mobile Allocation length ...................................................................... library/GSM_RR_Types: restrict Mobile Allocation length Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 --- M library/GSM_RR_Types.ttcn 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/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 76b03a9..2ad3b6a 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -296,7 +296,7 @@ /* 10.5.2.21 */ type record MobileAllocationLV { uint8_t len, - bitstring ma + bitstring ma length (0..64) } with { variant (len) "LENGTHTO(ma)" variant (ma) "BYTEORDER(first), BITORDER(msb)" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8333900949c0f39dc1cb777904e207ed1e212440 Gerrit-Change-Number: 19907 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 Mon Aug 31 15:05:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0, H1} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 ) Change subject: library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} ...................................................................... library/GSM_RR_Types: add receive templates tr_ChanDesc{H0,H1} Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 --- M library/GSM_RR_Types.ttcn 1 file changed, 18 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/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 2ad3b6a..59fe6d5 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1120,6 +1120,15 @@ arfcn := arfcn, maio_hsn := omit } + template ChannelDescription tr_ChanDescH0(template (present) RslChannelNr chan_nr := ?, + template (present) uint12_t arfcn := ?, + template (present) uint3_t tsc := ?) := { + chan_nr := chan_nr, + tsc := tsc, + h := false, + arfcn := arfcn, + maio_hsn := omit + } template (value) ChannelDescription ts_ChanDescH1(template (value) RslChannelNr chan_nr, template (value) MaioHsn maio_hsn, @@ -1130,6 +1139,15 @@ arfcn := omit, maio_hsn := maio_hsn } + template ChannelDescription tr_ChanDescH1(template (present) RslChannelNr chan_nr := ?, + template (present) MaioHsn maio_hsn := ?, + template (present) uint3_t tsc := ?) := { + chan_nr := chan_nr, + tsc := tsc, + h := true, + arfcn := omit, + maio_hsn := maio_hsn + } /* Templates for the RR Channel Release message's "Cell selection indicator after release of all TCH and SDCCH" IE. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ff98c97f2670e47be5e03f3540a4e2ec8e4c373 Gerrit-Change-Number: 19908 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 Mon Aug 31 15:05:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 31 Aug 2020 15:05:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add missing Channel Identification IE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 ) Change subject: library/RSL_Types: add missing Channel Identification IE ...................................................................... library/RSL_Types: add missing Channel Identification IE Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 --- M library/RSL_Types.ttcn 1 file changed, 44 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/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index af01c5d..05effa2 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -15,6 +15,7 @@ import from General_Types all; import from Osmocom_Types all; + import from GSM_RR_Types all; import from GSM_Types all; import from MobileL3_CommonIE_Types all; import from L3_Templates all; @@ -319,6 +320,47 @@ a_bits := ACT_REL_TO_OSMO_PDCH } + /* 9.3.5 */ + type record RSL_IE_ChannelIdent { + uint8_t len, + /* 3GPP TS 44.018 Channel Description IE (TV) */ + ChannelDescriptionTV ch_desc, + /* 3GPP TS 44.018 Mobile Allocation IE (shall be empty) */ + MobileAllocationTLV ma + } with { variant (len) "LENGTHTO(ch_desc,ma)" }; + + template (value) RSL_IE_ChannelIdent + ts_RSL_ChannelIdent(template (value) ChannelDescription ch_desc) := { + len := 0, /* overwritten */ + ch_desc := { + iei := '64'O, + v := ch_desc + }, + /* Shall be included but empty */ + ma := { + iei := '72'O, + v := { + len := 0, + ma := ''B + } + } + }; + + template RSL_IE_ChannelIdent + tr_RSL_ChannelIdent(template (present) ChannelDescription ch_desc := ?, + template (present) MobileAllocationLV ma := ?) := { + len := ?, + ch_desc := { + iei := '64'O, + v := ch_desc + }, + /* Shall be included but empty */ + ma := { + iei := '72'O, + v := ma + } + }; + /* 9.3.6 */ type enumerated RSL_SpeechDataInd { RSL_SPDI_SPEECH ('00000001'B), @@ -791,6 +833,7 @@ RSL_LV rlm_cause, RSL_IE_ReleaseMode release_mode, RSL_IE_ActivationType act_type, + RSL_IE_ChannelIdent chan_ident, RSL_IE_ChannelMode chan_mode, uint8_t handover_ref, RSL_IE_BS_Power bs_power, @@ -846,6 +889,7 @@ rlm_cause, iei = RSL_IE_RLM_CAUSE; release_mode, iei = RSL_IE_RELEASE_MODE; act_type, iei = RSL_IE_ACT_TYPE; + chan_ident, iei = RSL_IE_CHAN_IDENT; chan_mode, iei = RSL_IE_CHAN_MODE; handover_ref, iei = RSL_IE_HANDO_REF; bs_power, iei = RSL_IE_BS_POWER; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4698fd15a14ee55aa4004d80e65912531f78cf06 Gerrit-Change-Number: 19909 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 Mon Aug 31 15:11:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 15:11:37 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19827 ) Change subject: bts-trx: Use TRXC RFMUTE instead of resetting the scheduler ...................................................................... Patch Set 2: Code-Review+1 Ok, thanks for the explanation! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1423ddb390ef327ec7d4a27de2ac5dca663773a5 Gerrit-Change-Number: 19827 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Hoernchen Gerrit-Comment-Date: Mon, 31 Aug 2020 15:11:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:18:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 15:18:34 +0000 Subject: Change in osmo-bts[master]: bts-trx: Ensure RFMUTE state is set properly at startup In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19830 ) Change subject: bts-trx: Ensure RFMUTE state is set properly at startup ...................................................................... Patch Set 1: Code-Review+1 Wouldn't this cause proprietary implementations to reject the command and stop working? I remember we had some problems with SETFORMAT, so you introduced a VTY command to disable it. If so, we should only send 'RFMUTE 1' for locked transceivers, and do not send 'RFMUTE 0' by default. P.S. In general, I think we should implicitly state in the documentation that unknown commands shall be rejected, and the transceiver shall continue to operate as before (i.e. do not stop working completely). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I96b64cdc901d6f216df628d7be57a67af4a21e25 Gerrit-Change-Number: 19830 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 Aug 2020 15:18: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 Aug 31 15:20:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 15:20:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_{chan_activ, imm_ass} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 ) Change subject: BSC_Tests/hopping: add TC_fh_params_{chan_activ,imm_ass} ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910/1/bsc/BSC_Tests.ttcn at 6548 PS1, Line 6548: /* FIXME: ma_mask := ma_mask & slot_mask[i]; // triggers a bug in TITAN */ > Probably because you are then doing"bitstring & bit", yo may need to convert slot_mask[i] to a bitst [?] See https://bugs.eclipse.org/bugs/show_bug.cgi?id=566516. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib9218b61a2b0c0467340656e4b65a36b7b0ba302 Gerrit-Change-Number: 19910 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:20:50 +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 Aug 31 15:56:18 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 15:56:18 +0000 Subject: Change in osmo-sgsn[rel-1.5.1]: gtphub_test: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 ) Change subject: gtphub_test: Fix compilation with gcc-10 ...................................................................... gtphub_test: Fix compilation with gcc-10 /usr/bin/ld: ../../src/gtphub/gtphub.o:/home/laforge/projects/git/osmo-sgsn/src/gtphub/gtphub.c:50: multiple definition of `osmo_gtphub_ctx'; gtphub_test.o:/home/laforge/projects/git/osmo-sgsn/tests/gtphub/gtphub_test.c:57: first defined here collect2: error: ld returned 1 exit status See also https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000653.html Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 --- M tests/gtphub/gtphub_test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/gtphub/gtphub_test.c b/tests/gtphub/gtphub_test.c index 9a8ec6b..d381b9b 100644 --- a/tests/gtphub/gtphub_test.c +++ b/tests/gtphub/gtphub_test.c @@ -54,7 +54,7 @@ void gtphub_init(struct gtphub *hub); void gtphub_free(struct gtphub *hub); -void *osmo_gtphub_ctx; +extern void *osmo_gtphub_ctx; static void nr_mapping_free(struct expiring_item *e) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I19c1eef6649d2747f0b624f5292d7ae47c4ca839 Gerrit-Change-Number: 19660 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 Aug 31 15:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 15:56:25 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Bump version: 1.5.0.1-481fa ? 1.5.1 This is just to make osmo-gtphub build against modern libosmocore, which creates a naming clash about 'struct osmo_sockaddr'. Related: OS#4710 Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d --- M debian/changelog 1 file changed, 10 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/debian/changelog b/debian/changelog index 02ec236..70f4703 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +osmo-sgsn (1.5.1) unstable; urgency=medium + + [ Alexander Couzens ] + * gtphub: rename sgsn's oww osmo_sockaddr into sgsn_sockaddr + + [ Harald Welte ] + * gtphub_test: Fix compilation with gcc-10 + + -- Harald Welte Thu, 13 Aug 2020 11:41:58 +0200 + osmo-sgsn (1.5.0) unstable; urgency=medium [ Max ] -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: 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 Aug 31 15:57:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 15:57:51 +0000 Subject: Change in osmo-bts[master]: bts-trx: Ensure RFMUTE state is set properly at startup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/19830 ) Change subject: bts-trx: Ensure RFMUTE state is set properly at startup ...................................................................... Patch Set 1: I did test that osmo-bts-trx continues working fine if the command is rejected, as expected (since in that case anyway we drop the tx power to -10dBm as a poor man solution to mute). I would expect TRX implementations to keep working if a command is not found, but that's really up to the owner of the implementation. If needed we can always add a VTY command to disable it, but given that implementing a fake handler for it (ack it but do nothing) is 5 minutes work, I think we can go forward and add the VTY command later if needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/19830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I96b64cdc901d6f216df628d7be57a67af4a21e25 Gerrit-Change-Number: 19830 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:57:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 15:57:56 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 15:57:56 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/19662 ) Change subject: ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 ...................................................................... ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9 Before debian 9 those packages aren't available. e.g. libczmq-dev or libsoapysdr-dev Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved lynxis lazus: 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 e2196b6..54dcdc7 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -154,6 +154,7 @@ - libuhd-dev - libczmq-dev - libsoapysdr-dev + when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install open5gs build dependencies apt: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/19662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b Gerrit-Change-Number: 19662 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Aug 31 15:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 15:58:59 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19895/2/src/osmo-bsc/handover_fsm.c File src/osmo-bsc/handover_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/19895/2/src/osmo-bsc/handover_fsm.c at 85 PS2, Line 85: if (counter >= 0) { > Alternative approach: [?] ah indeed, i missed that it's a while loop -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 15:58:59 +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 Aug 31 15:59:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 15:59:50 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sgsn=5Brel-1=2E5=2E1=5D=3A_Bump_version=3A_1=2E5=2E0=2E1-481fa_=E2=86=92_1=2E5=2E1?= In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 ) Change subject: Bump version: 1.5.0.1-481fa ? 1.5.1 ...................................................................... Patch Set 3: reminder: push tag. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/19616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: rel-1.5.1 Gerrit-Change-Id: I46043906d7f39d989f57bbdb5417e10d155a4d4d Gerrit-Change-Number: 19616 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 15:59: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 Aug 31 16:01:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:01:26 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 to look at the new patch set (#3). Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... fix 'handover:*' counters: remove bogus increments To handle cases of unknown handover type (like failure to find the target cell), return -1 as counter code; treat -1 as skipping in ho_count_bsc() and ho_count_bts(). The handover:* counters indicate overall counts, without knowing whether inter- or intra-BSC, or whether the target ARFCN even exists. So they need to be counted separately, and must not serve as fallback category in result_counter_bsc() and result_counter_bts(). Related: OS#4736 Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a --- M src/osmo-bsc/handover_fsm.c 1 file changed, 8 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/19895/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:02:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:02:00 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... Patch Set 3: Code-Review+2 re-add and sum previous 2x +1, after a trivial tweak -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 16: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 Aug 31 16:02:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:02:25 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... Patch Set 3: Code-Review+2 combine 2x +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 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 Mon Aug 31 16:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:04:09 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h at 194 PS2, Line 194: Fail > Failure? Failed? yea, the difficulty is that all the other *_FAILED descriptions have this same weird doc string, and I want to stay consistent with those. Let's fix the doc strings in another commit? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 16:04:09 +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 Aug 31 16:04:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 16:04:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow submitting and parsing IPv6 addr in SDP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 to look at the new patch set (#5). Change subject: mgcp_client: Allow submitting and parsing IPv6 addr in SDP ...................................................................... mgcp_client: Allow submitting and parsing IPv6 addr in SDP Existing mgcp_client_test code required the '.' to trigger the same code path, since with this commit we do extra checks and without a dot the address is not accepted as IPv4 by osmo_ip_str_type(). Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.c M tests/mgcp_client/mgcp_client_test.err M tests/mgcp_client/mgcp_client_test.ok 4 files changed, 211 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/88/19888/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I936bf57d37f5f0607dfe7fc66c37e424c3793f9b Gerrit-Change-Number: 19888 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:04:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 16:04:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Allow setting IPv6 addresses References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19916 ) Change subject: mgcp_client: Allow setting IPv6 addresses ...................................................................... mgcp_client: Allow setting IPv6 addresses Change-Id: I257218b2ad7cbdd0ac4ae7fa75802bed74ce983f --- M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 2 files changed, 13 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/16/19916/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index df84226..72068b4 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -794,7 +794,7 @@ /* Initalize socket with the currently configured port * number */ - rc = osmo_sock_init2_ofd(&wq->bfd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr, + rc = osmo_sock_init2_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.remote_addr, mgcp->actual.remote_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); if (rc > 0) diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index d4e78f1..9c60ed9 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -36,9 +36,10 @@ struct mgcp_client_conf *global_mgcp_client_conf = NULL; DEFUN(cfg_mgw_local_ip, cfg_mgw_local_ip_cmd, - "mgw local-ip A.B.C.D", + "mgw local-ip " VTY_IPV46_CMD, MGW_STR "local bind to connect to MGW from\n" - "local bind IP address\n") + "local bind IPv4 address\n" + "local bind IPv6 address\n") { if (!global_mgcp_client_conf) return CMD_ERR_NOTHING_TODO; @@ -49,9 +50,10 @@ return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_local_ip, cfg_mgcpgw_local_ip_cmd, - "mgcpgw local-ip A.B.C.D", + "mgcpgw local-ip " VTY_IPV46_CMD, MGW_STR "local bind to connect to MGCP gateway with\n" - "local bind IP address\n") + "local bind IPv4 address\n" + "local bind IPv6 address\n") DEFUN(cfg_mgw_local_port, cfg_mgw_local_port_cmd, "mgw local-port <0-65535>", @@ -69,9 +71,10 @@ "local bind port\n") DEFUN(cfg_mgw_remote_ip, cfg_mgw_remote_ip_cmd, - "mgw remote-ip A.B.C.D", + "mgw remote-ip " VTY_IPV46_CMD, MGW_STR "remote IP address to reach the MGW at\n" - "remote IP address\n") + "remote IPv4 address\n" + "remote IPv6 address\n") { if (!global_mgcp_client_conf) return CMD_ERR_NOTHING_TODO; @@ -82,9 +85,10 @@ return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_remote_ip, cfg_mgcpgw_remote_ip_cmd, - "mgcpgw remote-ip A.B.C.D", + "mgcpgw remote-ip " VTY_IPV46_CMD, MGW_STR "remote bind to connect to MGCP gateway with\n" - "remote bind IP address\n") + "remote bind IPv4 address\n" + "remote bind IPv6 address\n") DEFUN(cfg_mgw_remote_port, cfg_mgw_remote_port_cmd, "mgw remote-port <0-65535>", -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I257218b2ad7cbdd0ac4ae7fa75802bed74ce983f Gerrit-Change-Number: 19916 Gerrit-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 Aug 31 16:04:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:04:44 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... Patch Set 3: Code-Review+2 combine 2x +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 16:04: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 Aug 31 16:05:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:05:03 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... Patch Set 3: Code-Review+2 combine 2x +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 31 Aug 2020 16:05: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 Aug 31 16:36:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 16:36:53 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 16:36:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:45 +0000 Subject: Change in osmo-bsc[master]: fix 'handover:*' counters: remove bogus increments In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19895 ) Change subject: fix 'handover:*' counters: remove bogus increments ...................................................................... fix 'handover:*' counters: remove bogus increments To handle cases of unknown handover type (like failure to find the target cell), return -1 as counter code; treat -1 as skipping in ho_count_bsc() and ho_count_bts(). The handover:* counters indicate overall counts, without knowing whether inter- or intra-BSC, or whether the target ARFCN even exists. So they need to be counted separately, and must not serve as fallback category in result_counter_bsc() and result_counter_bts(). Related: OS#4736 Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a --- M src/osmo-bsc/handover_fsm.c 1 file changed, 8 insertions(+), 10 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 9ab96e3..7e46147 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -81,6 +81,9 @@ /* Assume presence of local var 'conn' as struct gsm_subscriber_connection. * This is a macro to preserve the source file and line number in logging. */ #define ho_count_bsc(counter) do { \ + /* If a handover target could not be found, the counter index may be -1. */ \ + if (counter < 0) \ + break; \ LOG_HO(conn, LOGL_DEBUG, "(BSC) incrementing rate counter: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ @@ -91,6 +94,9 @@ * Handles bts == NULL gracefully * This is a macro to preserve the source file and line number in logging. */ #define ho_count_bts(bts, counter) do { \ + /* If a handover target could not be found, the counter index may be -1. */ \ + if (counter < 0) \ + break; \ LOG_HO(conn, LOGL_DEBUG, "(BTS) incrementing rate counter: %s %s\n", \ bts_ctr_description[counter].name, \ bts_ctr_description[counter].description); \ @@ -724,11 +730,7 @@ { switch (scope) { default: - LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", - handover_scope_name(scope)); - /* use "normal" HO counter... */ - case HO_NO_HANDOVER: - return result_counter_BSC_HANDOVER(result); + return -1; case HO_INTRA_CELL: return result_counter_BSC_INTRA_CELL_HO(result); case HO_INTRA_BSC: @@ -763,11 +765,7 @@ { switch (scope) { default: - LOGP(DHO, LOGL_ERROR, "invalid enum handover_scope value: %s\n", - handover_scope_name(scope)); - /* use "normal" HO counter... */ - case HO_NO_HANDOVER: - return result_counter_BTS_HANDOVER(result); + return -1; case HO_INTRA_CELL: return result_counter_BTS_INTRA_CELL_HO(result); case HO_INTRA_BSC: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie311e599d7bd35d33cf471c6c63e649246e8396a Gerrit-Change-Number: 19895 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:46 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:46 +0000 Subject: Change in osmo-bsc[master]: fix HO inter-BSC-IN target bts for counters In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19897 ) Change subject: fix HO inter-BSC-IN target bts for counters ...................................................................... fix HO inter-BSC-IN target bts for counters Related: OS#4736 Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace --- M src/osmo-bsc/handover_fsm.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 7e46147..3975ed3 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -919,6 +919,11 @@ if (hdc && hdc->on_handover_end) hdc->on_handover_end(conn, result); + /* HO_INTER_BSC_IN has the source BTS on a remote BSS, so count all of those on the target BTS; also count + * errors onto the HO target BTS if no lchan was obtained. */ + if (ho->scope & HO_INTER_BSC_IN) + bts = ho->new_bts; + ho_count_bsc(result_counter_BSC_HANDOVER(result)); ho_count_bsc(result_counter_bsc(ho->scope, result)); ho_count_bts(bts, result_counter_BTS_HANDOVER(result)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id38c69695c4ab93733571c0c288a2d5c10624ace Gerrit-Change-Number: 19897 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:48 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure So far, during inter-BSC outgoing handover, when receiving an RR Handover Failure from the MS, it would be counted as 'error'. Instead, add the 'failed' counter like for all other HO types. It may make sense to omit the 'failed' counter for inter-BSC *incoming* handover, because then we won't receive an RR Handover Failure message. I probably got those two mixed up during initial development. Related: OS#4736 Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/handover_fsm.c 3 files changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index dc51d17..5506a86 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -93,6 +93,7 @@ BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, BTS_CTR_INTER_BSC_HO_OUT_STOPPED, BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_FAILED, BTS_CTR_INTER_BSC_HO_OUT_ERROR, BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, BTS_CTR_INTER_BSC_HO_IN_COMPLETED, @@ -190,6 +191,7 @@ "Handover to remote BSS completed"}, [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BTS_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", "Handover to remote BSS failed for other reason"}, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 120c4a4..09c0214 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -987,6 +987,7 @@ BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, BSC_CTR_INTER_BSC_HO_OUT_STOPPED, BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BSC_CTR_INTER_BSC_HO_OUT_FAILED, BSC_CTR_INTER_BSC_HO_OUT_ERROR, BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, BSC_CTR_INTER_BSC_HO_IN_COMPLETED, @@ -1044,6 +1045,7 @@ "Handover to remote BSS completed"}, [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", "Handover to remote BSS failed for other reason"}, diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 3975ed3..d93e5bc 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -716,6 +716,8 @@ switch (result) { case HO_RESULT_OK: return BSC_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_RR_HO_FAIL: + return BSC_CTR_INTER_BSC_HO_OUT_FAILED; case HO_RESULT_FAIL_TIMEOUT: return BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT; case HO_RESULT_CONN_RELEASE: @@ -751,6 +753,8 @@ switch (result) { case HO_RESULT_OK: return BTS_CTR_INTER_BSC_HO_OUT_COMPLETED; + case HO_RESULT_FAIL_RR_HO_FAIL: + return BTS_CTR_INTER_BSC_HO_OUT_FAILED; case HO_RESULT_FAIL_TIMEOUT: return BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT; case HO_RESULT_CONN_RELEASE: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:48 +0000 Subject: Change in osmo-bsc[master]: bssap: do not send a Clear Request after a Clear Command In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19899 ) Change subject: bssap: do not send a Clear Request after a Clear Command ...................................................................... bssap: do not send a Clear Request after a Clear Command During handover cleanup due to a Clear Command from the MSC, do not send another Clear Request to the MSC. Only send that when no Clear Command was received yet. Add a flag rx_clear_command per gscon instance, indicating whether a Clear Command was received, and exit early in gscon_bssmap_clear() when true. This is part of patches fixing the rate counters around handover, which uncover some bugs: - Another patch enables proper handover result handling when receiving a Clear Command. - After that, the handover_end() handling would always cause sending a Clear Request, even if a Clear Command was already received. - This patch removes the extraneous Clear Request, for this scenario and for all other corner cases that might still exist. Related: OS#4736 Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c 2 files changed, 9 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 09c0214..ca96c56 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -303,6 +303,8 @@ /* MS Power Class, TS 05.05 sec 4.1.1 "Mobile station". 0 means unset. */ uint8_t ms_power_class:3; + + bool rx_clear_command; }; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 281ab71..e7c6efe 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -141,6 +141,11 @@ struct msgb *resp; int rc; + if (conn->rx_clear_command) { + LOGPFSML(conn->fi, LOGL_DEBUG, "Not sending BSSMAP CLEAR REQUEST, already got CLEAR COMMAND from MSC\n"); + return; + } + LOGPFSML(conn->fi, LOGL_DEBUG, "Tx BSSMAP CLEAR REQUEST(%s) to MSC\n", gsm0808_cause_name(cause)); resp = gsm0808_create_clear_rqst(cause); if (!resp) { @@ -764,6 +769,8 @@ /* Regular allstate event processing */ switch (event) { case GSCON_EV_A_CLEAR_CMD: + conn->rx_clear_command = true; + OSMO_ASSERT(data); ccd = data; if (conn->lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iab82cac0a7ffa7d36338c8ff7c0618a813025f13 Gerrit-Change-Number: 19899 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:49 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: signal Clear from gscon, for proper HO result counts In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19900 ) Change subject: handover_fsm: signal Clear from gscon, for proper HO result counts ...................................................................... handover_fsm: signal Clear from gscon, for proper HO result counts An inter-BSC-OUT handover ends with a Clear Command, which HO_OUT_ST_WAIT_CLEAR waits for. Actually tell the handover_fsm.c about an incoming Clear Command, so that the inter-BSC-OUT success can be counted. Similarly, count failing handover results for an unexpected Clear Command from the MSC. Related: OS#4736 Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/handover_fsm.c 2 files changed, 7 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index e7c6efe..b6ea59f 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -771,6 +771,11 @@ case GSCON_EV_A_CLEAR_CMD: conn->rx_clear_command = true; + /* Give the handover_fsm a chance to book this as handover success before tearing down everything, + * making it look like a sudden death failure. */ + if (conn->ho.fi) + osmo_fsm_inst_dispatch(conn->ho.fi, HO_EV_CONN_RELEASING, NULL); + OSMO_ASSERT(data); ccd = data; if (conn->lchan) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index d93e5bc..8e231e0 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -1269,6 +1269,8 @@ { struct gsm_subscriber_connection *conn = ho_fi_conn(fi); switch (event) { + /* See also ho_fsm_allstate_action() for ho_success() on HO_EV_CONN_RELEASING */ + case HO_EV_RR_HO_FAIL: ho_fail(HO_RESULT_FAIL_RR_HO_FAIL, "Received RR Handover Failure message"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0c489838a99f930e2104619ca745191d2a736f1b Gerrit-Change-Number: 19900 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:39:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:39:49 +0000 Subject: Change in osmo-bsc[master]: handover: fix detection for ambiguous HO neighbor ident In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... handover: fix detection for ambiguous HO neighbor ident Adding rate counter checks to TC_ho_neighbor_config_1 (1.c) uncovers that the test passes for the wrong reason. The ambiguous cell identification should be the cause for the handover error, but the log shows that instead a handover is attempted to BTS 3 which is not connected. find_handover_target_cell() first tries to find a precise match of values, and in a second pass applies wildcards like BSIC_ANY and NEIGHBOR_IDENT_KEY_ANY_BTS. That second pass lacks detection of ambiguous matches. Use the same code for both passes, by encapsulating in a loop of two, which first runs with exact_match == true and then false. Proper detection of the ambiguous target cell identification in TC_ho_neighbor_config_1() is shown by the resulting 'handover:error' count, see I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks). Related: OS#4736 Related: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks) Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 --- M src/osmo-bsc/handover_logic.c 1 file changed, 21 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index 071228e..ade330d 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -183,32 +183,34 @@ /* No explicit neighbor entries exist for this BTS. Hence apply the legacy default behavior that all * local cells are neighbors. */ struct gsm_bts *bts; - struct gsm_bts *wildcard_match = NULL; + int i; LOG_HO(conn, LOGL_DEBUG, "No explicit neighbors, regarding all local cells as neighbors\n"); - 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, true)) { - 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), - local_target_cell->nr, bts->nr); - return -EINVAL; + /* For i == 0, look for an exact 1:1 match of all ident_key fields. + * For i == 1, interpret wildcard values, when no exact match exists. */ + 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)) { + 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), + local_target_cell->nr, bts->nr); + return -EINVAL; + } + local_target_cell = bts; } - local_target_cell = bts; } - if (neighbor_ident_key_match(&bts_key, search_for, false)) - wildcard_match = bts; + if (local_target_cell) + break; } - if (!local_target_cell) - local_target_cell = wildcard_match; - if (!local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot Handover, no cell matches %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:40:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 ) Change subject: comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() ...................................................................... comment: Osmocom_CTRL: fix example for f_counter_name_vals_list_add() Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 --- M library/Osmocom_CTRL_Functions.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 60c66c0..d26dc89 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -166,14 +166,14 @@ * * // run some tests that increment rate counters in the program, * // and increment expected counters accordingly: - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 1, "mscpool:subscr:new", 7); - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 2, "mscpool:subscr:attach_lost", 3); + * f_counter_name_vals_list_add(my_counters, instance_nr := 1, "mscpool:subscr:new", 7); + * f_counter_name_vals_list_add(my_counters, instance_nr := 2, "mscpool:subscr:attach_lost", 3); * * // verify that the program reflects the expected counters: * f_counter_name_vals_expect_n(instance_name := "msc", my_counters); * * // run some more tests... - * my_counters := f_counter_name_vals_list_add(my_counters, instance_nr := 0, "mscpool:subscr:known"); + * f_counter_name_vals_list_add(my_counters, instance_nr := 0, "mscpool:subscr:known"); * // and verify again * f_counter_name_vals_expect_n(instance_name := "msc", my_counters); */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ff77176267058ced3639a42127f0063bed2fd60 Gerrit-Change-Number: 19902 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:41:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:41:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: verify handover rate counters In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 ) Change subject: bsc: verify handover rate counters ...................................................................... bsc: verify handover rate counters This will break the 'latest' builds for most handover tests until Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 is released. Move the TC_ho_neighbor_config_* closer to the f_tc_ho_neighbor_config_* functions, so that it is easier to read the added counters, relating to the expected handovers. Depends: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 (osmo-bsc) Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 --- M bsc/BSC_Tests.ttcn 1 file changed, 406 insertions(+), 43 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dce9ae9..4560957 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -93,6 +93,56 @@ { "mscpool:subscr:paged", 0 } }; +/* Default list of counters for 'bsc' and 'bts' entities. */ +const CounterNameVals counternames_bsc_bts_handover := { + { "assignment:attempted", 0 }, + { "assignment:completed", 0 }, + { "assignment:stopped", 0 }, + { "assignment:no_channel", 0 }, + { "assignment:timeout", 0 }, + { "assignment:failed", 0 }, + { "assignment:error", 0 }, + + { "handover:attempted", 0 }, + { "handover:completed", 0 }, + { "handover:stopped", 0 }, + { "handover:no_channel", 0 }, + { "handover:timeout", 0 }, + { "handover:failed", 0 }, + { "handover:error", 0 }, + + { "intra_cell_ho:attempted", 0 }, + { "intra_cell_ho:completed", 0 }, + { "intra_cell_ho:stopped", 0 }, + { "intra_cell_ho:no_channel", 0 }, + { "intra_cell_ho:timeout", 0 }, + { "intra_cell_ho:failed", 0 }, + { "intra_cell_ho:error", 0 }, + + { "intra_bsc_ho:attempted", 0 }, + { "intra_bsc_ho:completed", 0 }, + { "intra_bsc_ho:stopped", 0 }, + { "intra_bsc_ho:no_channel", 0 }, + { "intra_bsc_ho:timeout", 0 }, + { "intra_bsc_ho:failed", 0 }, + { "intra_bsc_ho:error", 0 }, + + { "interbsc_ho_out:attempted", 0 }, + { "interbsc_ho_out:completed", 0 }, + { "interbsc_ho_out:stopped", 0 }, + { "interbsc_ho_out:timeout", 0 }, + { "interbsc_ho_out:failed", 0 }, + { "interbsc_ho_out:error", 0 }, + + { "interbsc_ho_in:attempted", 0 }, + { "interbsc_ho_in:completed", 0 }, + { "interbsc_ho_in:stopped", 0 }, + { "interbsc_ho_in:no_channel", 0 }, + { "interbsc_ho_in:timeout", 0 }, + { "interbsc_ho_in:failed", 0 }, + { "interbsc_ho_in:error", 0 } +}; + /* Set of all System Information received during one RSL port's startup. * Note that some System Information may be sent on RSL, but lacking actual SI data, to indicate that the BTS should not * broadcast that SI type. That will be reflected as 'omit' here. @@ -498,6 +548,8 @@ timer T_guard := 30.0; var CounterNameValsList g_ctr_msc; + var CounterNameValsList g_ctr_bsc; + var CounterNameValsList g_ctr_bts; /* System Information bytes as received during RSL startup, for each RSL[idx]. */ var SystemInformationConfig_list g_system_information := {}; @@ -611,6 +663,78 @@ f_ctrs_msc_verify(); } +/* Convenience functions for rate counters using g_ctr_bts, always also including g_ctr_bsc. */ + +private function f_ctrs_bsc_and_bts_init(integer bts_count := NUM_BTS, CounterNameVals counternames := counternames_bsc_bts_handover) runs on test_CT { + g_ctr_bts := f_counter_name_vals_get_n(IPA_CTRL, "bts", bts_count, counternames); + log("initial bts rate counters: ", g_ctr_bts); + f_ctrs_bsc_init(counternames); +} + +private function f_ctrs_bsc_and_bts_add(integer bts_nr, charstring countername, integer val := 1) runs on test_CT { + f_counter_name_vals_list_add(g_ctr_bts, bts_nr, countername, val); + f_ctrs_bsc_add(countername, val); +} + +/* f_ctrs_bsc_and_bts_init(); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_do_other(on_bts := 1); + * f_ctrs_bsc_and_bts_add(0, "thing", 2); + * f_ctrs_bsc_and_bts_add(1, "other"); + * f_ctrs_bsc_and_bts_verify(); + */ +private function f_ctrs_bsc_and_bts_verify() runs on test_CT { + f_counter_name_vals_expect_n(IPA_CTRL, "bts", g_ctr_bts); + f_ctrs_bsc_verify(); +} + +/* convenience: f_ctrs_bsc_and_bts_add() and f_ctrs_bsc_and_bts_verify() in one call. + * f_ctrs_bsc_and_bts_init(); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_do_thing(on_bts := 0); + * f_ctrs_bsc_and_bts_expect(0, "thing", 3); + */ +private function f_ctrs_bsc_and_bts_expect(integer bts_nr, charstring countername, integer val := 1) runs on test_CT { + f_ctrs_bsc_and_bts_add(bts_nr, countername, val); + f_ctrs_bsc_and_bts_verify(); +} + + +/* Convenience functions for rate counters using g_ctr_bsc. */ + +private function f_ctrs_bsc_init(CounterNameVals counternames := counternames_bsc_bts_handover) runs on test_CT { + g_ctr_bsc := f_counter_name_vals_get_n(IPA_CTRL, "bsc", 1, counternames); + log("initial bsc rate counters: ", g_ctr_bsc); +} + +private function f_ctrs_bsc_add(charstring countername, integer val := 1) runs on test_CT { + f_counter_name_vals_list_add(g_ctr_bsc, 0, countername, val); +} + +/* f_ctrs_bsc_init(); + * f_do_thing(); + * f_do_thing(); + * f_do_other(); + * f_ctrs_bsc_add("thing", 2); + * f_ctrs_bsc_add("other"); + * f_ctrs_bsc_verify(); + */ +private function f_ctrs_bsc_verify() runs on test_CT { + f_counter_name_vals_expect_n(IPA_CTRL, "bsc", g_ctr_bsc); +} + +/* convenience: f_ctrs_bsc_add() and f_ctrs_bsc_verify() in one call. + * f_ctrs_bsc_init(); + * f_do_thing(); + * f_ctrs_bsc_expect("thing", 1); + */ +private function f_ctrs_bsc_expect(charstring countername, integer val := 1) runs on test_CT { + f_ctrs_bsc_add(countername, val); + f_ctrs_bsc_verify(); +} + private function f_shutdown_helper() runs on test_CT { all component.stop; @@ -4112,8 +4236,21 @@ var MSC_ConnHdlr vc_conn; f_init(2, true); f_sleep(1.0); + + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_int)); vc_conn.done; + + /* from f_establish_fully() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + /* from handover */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:completed"); + f_ctrs_bsc_and_bts_verify(); } /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ @@ -4211,8 +4348,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_of_this_bsc)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC HO, but the MSC decides that it won't happen and @@ -4258,8 +4405,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_no_msc_response)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC HO, receives BSSMAP Handover Command, but MS reports @@ -4342,8 +4499,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_rr_ho_failure)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:failed"); + f_ctrs_bsc_and_bts_verify(); } /* BSC asks for inter-BSC-out HO, receives BSSMAP Handover Command, but then no reply is received about HO outcome @@ -4429,8 +4596,18 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_out_fail_no_result_after_ho_cmd)); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr { @@ -4503,11 +4680,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_into_this_bsc), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:completed"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:completed"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_in_fail_msc_clears(charstring id) runs on MSC_ConnHdlr { @@ -4576,11 +4761,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_msc_clears), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:stopped"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:stopped"); + f_ctrs_bsc_and_bts_verify(); } private function f_tc_ho_in_fail_msc_clears_after_ho_detect(charstring id) runs on MSC_ConnHdlr { @@ -4656,11 +4849,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_msc_clears_after_ho_detect), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:stopped"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:stopped"); + f_ctrs_bsc_and_bts_verify(); } /* The new BSS's lchan times out before the MSC decides that handover failed. */ @@ -4737,11 +4938,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_no_detect), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:error"); + f_ctrs_bsc_and_bts_verify(); } /* Same as f_tc_ho_in_fail_no_detect, but MSC fails to send a Clear Command */ @@ -4808,11 +5017,19 @@ f_init(1, true); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + pars.sccp_addr_msc := g_bssap[0].sccp_addr_own; pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer; vc_conn := f_start_handler(refers(f_tc_ho_in_fail_no_detect2), pars); vc_conn.done; + + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_in:error"); + f_ctrs_bsc_and_bts_verify(); } type record of charstring Commands; @@ -4994,6 +5211,43 @@ "handover any to arfcn 871 bsic 11", true); } +testcase TC_ho_neighbor_config_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 60.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_1)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 1.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 1.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 1.c */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 1.d */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_2(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5016,6 +5270,33 @@ "handover any to arfcn 871 bsic 12", false); } +testcase TC_ho_neighbor_config_2() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_2)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 2.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 2.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_3(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5037,6 +5318,33 @@ "handover any to arfcn 871 bsic 12", true); } +testcase TC_ho_neighbor_config_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_3)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 3.a */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 3.b */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_4(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5061,6 +5369,37 @@ "handover any to arfcn 123 bsic 45", true, true); } +testcase TC_ho_neighbor_config_4() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true, guard_timeout := 50.0); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_4)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 4.a */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 4.b */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + /* 4.c */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_5(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5079,6 +5418,29 @@ "handover any to arfcn 871 bsic 12", true, true); } +testcase TC_ho_neighbor_config_5() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_5)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 5 */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_6(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5098,6 +5460,27 @@ "handover any to arfcn 871 bsic 12", false); } +testcase TC_ho_neighbor_config_6() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(3, true); + f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); + vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_6)); + vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 6.a */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:error"); + + f_ctrs_bsc_and_bts_verify(); +} + private function f_tc_ho_neighbor_config_7(charstring id) runs on MSC_ConnHdlr { f_tc_ho_neighbor_config_start(); @@ -5120,55 +5503,35 @@ "handover any to arfcn 123 bsic 45", true, true); } - -testcase TC_ho_neighbor_config_1() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 60.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_1)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_2() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_2)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_3() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_3)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_4() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true, guard_timeout := 50.0); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_4)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_5() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_5)); - vc_conn.done; -} -testcase TC_ho_neighbor_config_6() runs on test_CT { - var MSC_ConnHdlr vc_conn; - f_init(3, true); - f_sleep(1.0); - vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_6)); - vc_conn.done; -} testcase TC_ho_neighbor_config_7() runs on test_CT { var MSC_ConnHdlr vc_conn; f_init(3, true, guard_timeout := 50.0); f_sleep(1.0); + f_ctrs_bsc_and_bts_init(); vc_conn := f_start_handler(refers(f_tc_ho_neighbor_config_7)); vc_conn.done; + + /* f_tc_ho_neighbor_config_start() */ + f_ctrs_bsc_and_bts_add(0, "assignment:attempted"); + f_ctrs_bsc_and_bts_add(0, "assignment:completed"); + + /* 7.a */ + /* "failed" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by sending a Handover Failure message. */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:failed"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); + f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:failed"); + + /* 7.b */ + /* "timeout" means a handover was triggered and started (which is all this test aims for) and the test ended the + * handover quickly by timing out after the Handover Required message */ + f_ctrs_bsc_and_bts_add(0, "handover:attempted"); + f_ctrs_bsc_and_bts_add(0, "handover:timeout"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted"); + f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:timeout"); + + f_ctrs_bsc_and_bts_verify(); } /* OS#3041: Open and close N connections in a normal fashion, and expect no -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 Gerrit-Change-Number: 19904 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 16:41:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 16:41:42 +0000 Subject: Change in libosmocore[master]: socket: Add some osmo_sockaddr print helpers References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19917 ) Change subject: socket: Add some osmo_sockaddr print helpers ...................................................................... socket: Add some osmo_sockaddr print helpers These are APIs useful to inline in log calls. Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/19917/1 diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 9cb8d6b..e6a6bd5 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -75,6 +75,9 @@ size_t osmo_sockaddr_in_to_str_and_uint(char *addr, unsigned int addr_len, uint16_t *port, const struct sockaddr_in *sin); +const char *osmo_sockaddr_ntop(const struct sockaddr *sa, char *dst); +uint16_t osmo_sockaddr_port(const struct sockaddr *sa); + int osmo_sock_unix_init(uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags); diff --git a/src/socket.c b/src/socket.c index f91ad10..e8a2ce2 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1001,6 +1001,38 @@ return 0; } +/*! inet_ntop() wrapper for a struct sockaddr. + * \param[in] sa source sockaddr to get the address from. + * \param[out] dst string buffer of at least INET6_ADDRSTRLEN size. + * \returns returns a non-null pointer to dst. NULL is returned if there was an + * error, with errno set to indicate the error. + */ +const char *osmo_sockaddr_ntop(const struct sockaddr *sa, char *dst) +{ + const struct osmo_sockaddr *osa = (const struct osmo_sockaddr *)sa; + return inet_ntop(osa->u.sa.sa_family, + osa->u.sa.sa_family == AF_INET6 ? + (const void *)&osa->u.sin6.sin6_addr : + (const void *)&osa->u.sin.sin_addr, + dst, INET6_ADDRSTRLEN); +} + +/*! Get sockaddr port content (in host byte order) + * \param[in] sa source sockaddr to get the port from. + * \returns returns the sockaddr port in host byte order + */ +uint16_t osmo_sockaddr_port(const struct sockaddr *sa) +{ + const struct osmo_sockaddr *osa = (const struct osmo_sockaddr *)sa; + switch (osa->u.sa.sa_family) { + case AF_INET6: + return ntohs(osa->u.sin6.sin6_port); + case AF_INET: + return ntohs(osa->u.sin.sin_port); + } + return 0; +} + /*! Initialize a unix domain socket (including bind/connect) * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d Gerrit-Change-Number: 19917 Gerrit-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 Aug 31 16:42:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 16:42:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL funcs: on rate counter mismatch, show all mismatches In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 ) Change subject: CTRL funcs: on rate counter mismatch, show all mismatches ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70b319adcecc3ff7a85a0206b8dc2285133943c1 Gerrit-Change-Number: 19903 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 17:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 17:01:39 +0000 Subject: Change in libosmocore[master]: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19918 ) Change subject: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC ...................................................................... tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC The function is checking for IP version matching between local and remote addresses even if only one is needed based on flags. For example, if user only desired to bind, the remote address should not be used nor checked. Bug was introduced here: 2c962f5de1eeea119cfac7d9d92db31c570353b9 Change-Id: I87afd1db9bd017426abcc959fa515d15784cdf1c --- M tests/socket/socket_test.c M tests/socket/socket_test.err M tests/socket/socket_test.ok 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/19918/1 diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index a2e103c..5cf20b7 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -143,6 +144,11 @@ OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT); OSMO_ASSERT(fd >= 0); + printf("Checking osmo_sock_init2(AF_UNSPEC) BIND on IPv4\n"); + fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "127.0.0.1", 0, NULL, 0, + OSMO_SOCK_F_BIND); + OSMO_ASSERT(fd == -ENODEV); /* BUG! */ + talloc_free(name); return 0; diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 0f0f8da..37504e7 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,3 +2,4 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. +Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: (null). diff --git a/tests/socket/socket_test.ok b/tests/socket/socket_test.ok index 4265be8..696e356 100644 --- a/tests/socket/socket_test.ok +++ b/tests/socket/socket_test.ok @@ -9,3 +9,4 @@ Checking osmo_sock_init2(AF_UNSPEC) must fail on mixed IPv6 & IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv4 Checking osmo_sock_init2(AF_UNSPEC) BIND + CONNECT on IPv6 +Checking osmo_sock_init2(AF_UNSPEC) BIND on IPv4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87afd1db9bd017426abcc959fa515d15784cdf1c Gerrit-Change-Number: 19918 Gerrit-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 Aug 31 17:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 17:01:39 +0000 Subject: Change in libosmocore[master]: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19919 ) Change subject: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions ...................................................................... socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions See previous commit for a bug description. Fixes: 2c962f5de1eeea119cfac7d9d92db31c570353b9 Change-Id: I59bf4b4b3ed14766a5a5285923d1ffa9fc8b2294 --- M src/socket.c M tests/socket/socket_test.c M tests/socket/socket_test.err 3 files changed, 22 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/19919/1 diff --git a/src/socket.c b/src/socket.c index e8a2ce2..56f01dc 100644 --- a/src/socket.c +++ b/src/socket.c @@ -316,19 +316,27 @@ } } - /* priotize ipv6 as per RFC */ - if (local_ipv6 && remote_ipv6) - family = AF_INET6; - else if (local_ipv4 && remote_ipv4) - family = AF_INET; - else { - if (local) - freeaddrinfo(local); - if (remote) - freeaddrinfo(remote); - LOGP(DLGLOBAL, LOGL_ERROR, "Unable to find a common protocol (IPv4 or IPv6) for local host: %s and remote host: %s.\n", - local_host, remote_host); - return -ENODEV; + if ((flags & OSMO_SOCK_F_BIND) && (flags & OSMO_SOCK_F_CONNECT)) { + /* prioritize ipv6 as per RFC */ + if (local_ipv6 && remote_ipv6) + family = AF_INET6; + else if (local_ipv4 && remote_ipv4) + family = AF_INET; + else { + if (local) + freeaddrinfo(local); + if (remote) + freeaddrinfo(remote); + LOGP(DLGLOBAL, LOGL_ERROR, + "Unable to find a common protocol (IPv4 or IPv6) " + "for local host: %s and remote host: %s.\n", + local_host, remote_host); + return -ENODEV; + } + } else if ((flags & OSMO_SOCK_F_BIND)) { + family = local_ipv6 ? AF_INET6 : AF_INET; + } else if ((flags & OSMO_SOCK_F_CONNECT)) { + family = remote_ipv6 ? AF_INET6 : AF_INET; } } diff --git a/tests/socket/socket_test.c b/tests/socket/socket_test.c index 5cf20b7..ae77184 100644 --- a/tests/socket/socket_test.c +++ b/tests/socket/socket_test.c @@ -147,7 +147,7 @@ printf("Checking osmo_sock_init2(AF_UNSPEC) BIND on IPv4\n"); fd = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "127.0.0.1", 0, NULL, 0, OSMO_SOCK_F_BIND); - OSMO_ASSERT(fd == -ENODEV); /* BUG! */ + OSMO_ASSERT(fd >= 0); talloc_free(name); diff --git a/tests/socket/socket_test.err b/tests/socket/socket_test.err index 37504e7..0f0f8da 100644 --- a/tests/socket/socket_test.err +++ b/tests/socket/socket_test.err @@ -2,4 +2,3 @@ invalid: you have to specify either BIND or CONNECT flags Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: ::1. Unable to find a common protocol (IPv4 or IPv6) for local host: ::1 and remote host: 127.0.0.1. -Unable to find a common protocol (IPv4 or IPv6) for local host: 127.0.0.1 and remote host: (null). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59bf4b4b3ed14766a5a5285923d1ffa9fc8b2294 Gerrit-Change-Number: 19919 Gerrit-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 Aug 31 17:37:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 17:37:02 +0000 Subject: Change in osmo-bsc[master]: add {BTS, BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19898 ) Change subject: add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/19898/2/include/osmocom/bsc/bts.h at 194 PS2, Line 194: Fail > yea, the difficulty is that all the other *_FAILED descriptions have this same weird doc string, and [?] Sure, not gonna block you here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9a61d5cc7273a830ba4e66e43e4aac6cdb707471 Gerrit-Change-Number: 19898 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 17:37:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 17:38:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 17:38:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: Make MGCP_CLIENT_LOCAL_ADDR_DEFAULT IPv6 compatible References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/19920 ) Change subject: mgcp_client: Make MGCP_CLIENT_LOCAL_ADDR_DEFAULT IPv6 compatible ...................................................................... mgcp_client: Make MGCP_CLIENT_LOCAL_ADDR_DEFAULT IPv6 compatible If "0.0.0.0", the default, is passed together with an IPv6 configured address (ex: "mgw remote-ip ::1") in VTY, socket creation will fail due to address version mismatch (because getaddrinfo() returns only an IPv4 address in the local result set). If instead NULL is passed, then 2 entries are returned, one in IPv4 and one in IPv6, and osmo_sock_init2 is smart enough to take one or another when passed AF_UNSPEC. Change-Id: I1be6f3b71486ce1782ba6b8c62f25145b42ec894 --- M include/osmocom/mgcp_client/mgcp_client.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/19920/1 diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 8914cc2..b5a3529 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -6,7 +6,7 @@ #include /* See also: RFC 3435, chapter 3.5 Transmission over UDP */ -#define MGCP_CLIENT_LOCAL_ADDR_DEFAULT "0.0.0.0" +#define MGCP_CLIENT_LOCAL_ADDR_DEFAULT NULL /* INADDR(6)_ANY */ #define MGCP_CLIENT_LOCAL_PORT_DEFAULT 2727 #define MGCP_CLIENT_REMOTE_ADDR_DEFAULT "127.0.0.1" #define MGCP_CLIENT_REMOTE_PORT_DEFAULT 2427 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/19920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1be6f3b71486ce1782ba6b8c62f25145b42ec894 Gerrit-Change-Number: 19920 Gerrit-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 Aug 31 18:12:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 18:12:41 +0000 Subject: Change in osmo-bsc[master]: Fix creating MGCP proxy socket if MGW listens on an IPv6 address References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19921 ) Change subject: Fix creating MGCP proxy socket if MGW listens on an IPv6 address ...................................................................... Fix creating MGCP proxy socket if MGW listens on an IPv6 address If for instance "mgw remote-ip ::1" is configured, the MGCP IPA proxy socket towards the MGW will use ::1 as the destination address, but it was being created as AF_INET. Let's use AF_UNSPEC instead and let osmo_sock_init2 decide the best socket type to create. Moreover, change the default local address from "0.0.0.0" to NULL to also let osmo_sock_init2 pick an IPv6 address if necessary. Change-Id: Ide88c7358a38702ef11c84145518794e75870ef8 --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/19921/1 diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index b1bb245..26d2bc8 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -164,7 +164,7 @@ else mgw_port = MGCP_CLIENT_REMOTE_PORT_DEFAULT; - rc = osmo_sock_init2_ofd(&msc->mgcp_ipa.ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, + rc = osmo_sock_init2_ofd(&msc->mgcp_ipa.ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, msc->mgcp_ipa.local_addr, msc->mgcp_ipa.local_port, net->mgw.conf->remote_addr, mgw_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); @@ -256,7 +256,7 @@ msc_data->audio_support[4]->hr = 1; osmo_fd_setup(&msc_data->mgcp_ipa.ofd, -1, OSMO_FD_READ, &bsc_sccplite_mgcp_proxy_cb, msc_data, 0); - msc_data->mgcp_ipa.local_addr = talloc_strdup(msc_data, "0.0.0.0"); + msc_data->mgcp_ipa.local_addr = NULL; /* = INADDR(6)_ANY */ msc_data->mgcp_ipa.local_port = 0; /* dynamic */ msc_data->nri_ranges = osmo_nri_ranges_alloc(msc_data); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide88c7358a38702ef11c84145518794e75870ef8 Gerrit-Change-Number: 19921 Gerrit-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 Aug 31 18:20:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:20:26 +0000 Subject: Change in libosmocore[master]: socket: Add some osmo_sockaddr print helpers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19917 ) Change subject: socket: Add some osmo_sockaddr print helpers ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c at 1010 PS1, Line 1010: const struct sockaddr *sa, char *dst How about the opposite order of arguments, like in memcpy()/memset()? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d Gerrit-Change-Number: 19917 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 31 Aug 2020 18:20: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 Aug 31 18:21:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:21:31 +0000 Subject: Change in libosmocore[master]: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19918 ) Change subject: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87afd1db9bd017426abcc959fa515d15784cdf1c Gerrit-Change-Number: 19918 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:21: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 Aug 31 18:22:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 18:22:16 +0000 Subject: Change in libosmocore[master]: socket: Add some osmo_sockaddr print helpers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19917 ) Change subject: socket: Add some osmo_sockaddr print helpers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c at 1010 PS1, Line 1010: const struct sockaddr *sa, char *dst > How about the opposite order of arguments, like in memcpy()/memset()? Go tell the guy who wrote inet_ntop in first place, I'm simply mimicing it: const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d Gerrit-Change-Number: 19917 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:22:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 18:26:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:26:55 +0000 Subject: Change in libosmocore[master]: socket: Add some osmo_sockaddr print helpers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19917 ) Change subject: socket: Add some osmo_sockaddr print helpers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c at 1010 PS1, Line 1010: const struct sockaddr *sa, char *dst > Go tell the guy who wrote inet_ntop in first place, I'm simply mimicing it: [?] Well, this way it would be consistent with osmo_sockaddr_to_str_and_uint() and osmo_sockaddr_in_to_str_and_uint(). Not blocking you, just an idea. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d Gerrit-Change-Number: 19917 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:26:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 18:28:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:28:23 +0000 Subject: Change in libosmocore[master]: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19919 ) Change subject: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59bf4b4b3ed14766a5a5285923d1ffa9fc8b2294 Gerrit-Change-Number: 19919 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:28: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 Aug 31 18:37:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:37:05 +0000 Subject: Change in osmocom-bb[master]: fake_trx: Implement RFMUTE TRXC cmd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/19839 ) Change subject: fake_trx: Implement RFMUTE TRXC cmd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/19839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I67d16858cd70cb0527c1da77bd3787d5e53100b4 Gerrit-Change-Number: 19839 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:37: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 Aug 31 18:37:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 18:37:10 +0000 Subject: Change in libosmocore[master]: socket: Add some osmo_sockaddr print helpers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19917 ) Change subject: socket: Add some osmo_sockaddr print helpers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/19917/1/src/socket.c at 1010 PS1, Line 1010: const struct sockaddr *sa, char *dst > Well, this way it would be consistent with osmo_sockaddr_to_str_and_uint() and osmo_sockaddr_in_to_s [?] I prefer to keep it same way as inet_ntop, but thanks for the idea! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a38b05b7888885dba4ae795e9f3d9a561543d Gerrit-Change-Number: 19917 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18:37:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 18:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:37:40 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if.adoc: Document RFMUTE TRXC command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 ) Change subject: trx_if.adoc: Document RFMUTE TRXC command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/19829 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: Id7031b52639f55d36d1589a786e0d29ebb5def53 Gerrit-Change-Number: 19829 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 18: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 Mon Aug 31 18:41:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 18:41:30 +0000 Subject: Change in osmo-trx[master]: Add support for TRXC MUTE command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19828 ) Change subject: Add support for TRXC MUTE command ...................................................................... Patch Set 2: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-trx/+/19828/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/19828/2/Transceiver52M/Transceiver.cpp at 1014 PS2, Line 1014: } else if (match_cmd(command, "RFMUTE", ¶ms)) { Something is wrong with spacing here. https://gerrit.osmocom.org/c/osmo-trx/+/19828/2/Transceiver52M/Transceiver.cpp at 1015 PS2, Line 1015: set TRXD protocol version copy pasted? https://gerrit.osmocom.org/c/osmo-trx/+/19828/2/Transceiver52M/Transceiver.cpp at 1018 PS2, Line 1018: mStates[chan].mMuted = mute ? true : false; ... and here. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I39983d026ad54c479aa224968e9491d01f30dc35 Gerrit-Change-Number: 19828 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 31 Aug 2020 18:41:30 +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 Aug 31 18:45:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 31 Aug 2020 18:45:34 +0000 Subject: Change in osmo-msc[master]: Support sending IPv6 Transport Address in Assignment Command References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/19922 ) Change subject: Support sending IPv6 Transport Address in Assignment Command ...................................................................... Support sending IPv6 Transport Address in Assignment Command Change-Id: Ida43f10a41afbd275233f0ef102287522a2e7099 --- M src/libmsc/ran_msg_a.c 1 file changed, 30 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/22/19922/1 diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 8158e91..936cd5b 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -977,25 +977,38 @@ /* Package RTP-Address data */ if (osmo_sockaddr_str_is_nonzero(ac->cn_rtp)) { - struct sockaddr_in rtp_addr_in; - - memset(&rtp_addr_in, 0, sizeof(rtp_addr_in)); - rtp_addr_in.sin_family = AF_INET; - rtp_addr_in.sin_port = osmo_htons(ac->cn_rtp->port), - rtp_addr_in.sin_addr.s_addr = inet_addr(ac->cn_rtp->ip); - - if (rtp_addr_in.sin_addr.s_addr == INADDR_NONE) { - LOG_RAN_A_ENC(log_fi, LOGL_ERROR, "Assignment Command: Invalid RTP-Address\n"); + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; + int family = osmo_ip_str_type(ac->cn_rtp->ip); + switch (family) { + case AF_INET: + sin = (struct sockaddr_in *)&rtp_addr; + sin->sin_family = AF_INET; + sin->sin_port = osmo_htons(ac->cn_rtp->port); + if (inet_pton(AF_INET, ac->cn_rtp->ip, &sin->sin_addr) != 1) { + LOG_RAN_A_ENC(log_fi, LOGL_ERROR, + "Assignment Command: Invalid RTP-Address %s\n", + ac->cn_rtp->ip); + return NULL; + } + break; + case AF_INET6: + sin6 = (struct sockaddr_in6 *)&rtp_addr; + sin6->sin6_family = AF_INET6; + sin6->sin6_port = osmo_htons(ac->cn_rtp->port); + if (inet_pton(AF_INET6, ac->cn_rtp->ip, &sin6->sin6_addr) != 1) { + LOG_RAN_A_ENC(log_fi, LOGL_ERROR, + "Assignment Command: Invalid RTP-Address %s\n", + ac->cn_rtp->ip); + return NULL; + } + break; + default: + LOG_RAN_A_ENC(log_fi, LOGL_ERROR, + "Assignment Command: Invalid RTP-Address type for %s\n", + ac->cn_rtp->ip); return NULL; } - if (rtp_addr_in.sin_port == 0) { - LOG_RAN_A_ENC(log_fi, LOGL_ERROR, "Assignment Command: Invalid RTP-Port\n"); - return NULL; - } - - memset(&rtp_addr, 0, sizeof(rtp_addr)); - memcpy(&rtp_addr, &rtp_addr_in, sizeof(rtp_addr_in)); - use_rtp_addr = &rtp_addr; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/19922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ida43f10a41afbd275233f0ef102287522a2e7099 Gerrit-Change-Number: 19922 Gerrit-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 Aug 31 20:28:01 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 20:28:01 +0000 Subject: Change in libosmocore[master]: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19918 ) Change subject: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC ...................................................................... Patch Set 1: why not merging it into the next commit? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87afd1db9bd017426abcc959fa515d15784cdf1c Gerrit-Change-Number: 19918 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 20:28: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 Aug 31 20:28:07 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 20:28:07 +0000 Subject: Change in libosmocore[master]: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19918 ) Change subject: tests: Add test to showcase osmo_sock_init2 bug with AF_UNSPEC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87afd1db9bd017426abcc959fa515d15784cdf1c Gerrit-Change-Number: 19918 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 20:28:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 20:28:12 2020 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 31 Aug 2020 20:28:12 +0000 Subject: Change in libosmocore[master]: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/19919 ) Change subject: socket: Fix bug in osmo_sock_init2(AF_UNSPEC) matching IP versions ...................................................................... Patch Set 1: Code-Review+2 why -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59bf4b4b3ed14766a5a5285923d1ffa9fc8b2294 Gerrit-Change-Number: 19919 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 31 Aug 2020 20:28: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 Aug 31 20:35:01 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 20:35:01 +0000 Subject: Change in osmo-bsc[master]: CBSP: fix link startup when enabled in config file References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19923 ) Change subject: CBSP: fix link startup when enabled in config file ...................................................................... CBSP: fix link startup when enabled in config file Restart the CBSP link from the VTY only from telnet sessions, not when reading in the config file. When reading the config file, link startup might happen too early and twice -- rather rely only on the CBSP startup invoked from main(). This is fixing a bug introduced recently in "CBSP: rewrite the CBSP link setup and 'cbc' VTY section" commit 641f7f08450f2d0c4b8e8a9f6a36b0a6b2788816 Change-Id Icaa2775cc20a99227dabe38a775ff808b374cf98 Change-Id: Ia0bb507c8468048789a446df09185ad8565c5ad8 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/19923/1 diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index e5e72de..f4cdbb7 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -347,7 +347,12 @@ struct bsc_cbc_link *cbc = vty_cbc_data(vty); cbc->mode = get_string_value(bsc_cbc_link_mode_names, argv[0]); OSMO_ASSERT(cbc->mode >= 0); - bsc_cbc_link_restart(); + + /* Immediately restart/stop CBSP only when coming from a telnet session. The settings from the config file take + * effect in osmo_bsc_main.c's invocation of bsc_cbc_link_restart(). */ + if (vty->type != VTY_FILE) + bsc_cbc_link_restart(); + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0bb507c8468048789a446df09185ad8565c5ad8 Gerrit-Change-Number: 19923 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 Aug 31 20:38:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 20:38:43 +0000 Subject: Change in osmo-bsc[master]: CBSP: fix link startup when enabled in config file In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19923 ) Change subject: CBSP: fix link startup when enabled in config file ...................................................................... Patch Set 1: Code-Review+2 triviality, regression +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0bb507c8468048789a446df09185ad8565c5ad8 Gerrit-Change-Number: 19923 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 31 Aug 2020 20:38:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 20:46:02 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 31 Aug 2020 20:46:02 +0000 Subject: Change in osmo-bsc[master]: CBSP: fix link startup when enabled in config file In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19923 ) Change subject: CBSP: fix link startup when enabled in config file ...................................................................... CBSP: fix link startup when enabled in config file Restart the CBSP link from the VTY only from telnet sessions, not when reading in the config file. When reading the config file, link startup might happen too early and twice -- rather rely only on the CBSP startup invoked from main(). This is fixing a bug introduced recently in "CBSP: rewrite the CBSP link setup and 'cbc' VTY section" commit 641f7f08450f2d0c4b8e8a9f6a36b0a6b2788816 Change-Id Icaa2775cc20a99227dabe38a775ff808b374cf98 Change-Id: Ia0bb507c8468048789a446df09185ad8565c5ad8 --- M src/osmo-bsc/cbsp_link.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index e5e72de..f4cdbb7 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -347,7 +347,12 @@ struct bsc_cbc_link *cbc = vty_cbc_data(vty); cbc->mode = get_string_value(bsc_cbc_link_mode_names, argv[0]); OSMO_ASSERT(cbc->mode >= 0); - bsc_cbc_link_restart(); + + /* Immediately restart/stop CBSP only when coming from a telnet session. The settings from the config file take + * effect in osmo_bsc_main.c's invocation of bsc_cbc_link_restart(). */ + if (vty->type != VTY_FILE) + bsc_cbc_link_restart(); + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0bb507c8468048789a446df09185ad8565c5ad8 Gerrit-Change-Number: 19923 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 31 23:26:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 23:26:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add minimalistic AssignmentCommand References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19924 ) Change subject: library/GSM_RR_Types: add minimalistic AssignmentCommand ...................................................................... library/GSM_RR_Types: add minimalistic AssignmentCommand Change-Id: If1a5244a688abed6e6de2bf3f6e19e0e28129ea5 Related: SYS#4868, OS#4545 --- M library/GSM_RR_Types.ttcn 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/19924/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 59fe6d5..e4c0d57 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -17,6 +17,7 @@ import from GSM_Types all; import from RLCMAC_CSN1_Types all; import from MobileL3_CommonIE_Types all; + import from MobileL3_RRM_Types all; /* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */ type enumerated RrMessageType { @@ -671,6 +672,29 @@ type record of NcellReport NcellReports; + /* 3GPP TS 44.018, section 9.1.2 (minimalistic implementation) */ + type record AssignmentCommand { + ChannelDescription chan_desc, + PowerCommand_V power_cmd, + FrequencyList_TLV freq_list_at optional, + CellChannelDescription_TV cell_chan_desc optional, + /* TODO: Multislot Allocation IE */ + ChannelMode_TV chan1_mode optional, + ChannelMode_TV chan2_mode optional, + /* TODO: Mode of Channel Set 3..8 IE */ + MobileAllocationTLV mobile_allocation optional + /* TODO: more optional IEs... */ + } with { + variant "TAG( + freq_list_at, elementIdentifier = '05'O; + cell_chan_desc, elementIdentifier = '62'O; + chan1_mode, elementIdentifier = '63'O; + chan2_mode, elementIdentifier = '11'O; + mobile_allocation, iei = '72'O; + )" + }; + + /* 9.1.18 */ type record ImmediateAssignment { DedicatedModeOrTbf ded_or_tbf, @@ -828,6 +852,7 @@ type union RrL3Union { PagingResponse paging_response, MeasurementReport meas_rep, + AssignmentCommand ass_cmd, octetstring other }; @@ -837,6 +862,7 @@ } with { variant (payload) "CROSSTAG( paging_response, header.message_type = PAGING_RESPONSE; meas_rep, header.message_type = MEASUREMENT_REPORT; + ass_cmd, header.message_type = ASSIGNMENT_COMMAND; other, OTHERWISE; )" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If1a5244a688abed6e6de2bf3f6e19e0e28129ea5 Gerrit-Change-Number: 19924 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 Aug 31 23:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 23:26:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: cosmetic: fix formatting in RrL3Union References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19925 ) Change subject: library/GSM_RR_Types: cosmetic: fix formatting in RrL3Union ...................................................................... library/GSM_RR_Types: cosmetic: fix formatting in RrL3Union Change-Id: I00bcc5ebb6e098f8ec4986a3dec7e6d7e31e12f8 --- M library/GSM_RR_Types.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/19925/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index e4c0d57..c2c9d1b 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -850,10 +850,10 @@ } with { variant "" }; type union RrL3Union { - PagingResponse paging_response, - MeasurementReport meas_rep, - AssignmentCommand ass_cmd, - octetstring other + PagingResponse paging_response, + MeasurementReport meas_rep, + AssignmentCommand ass_cmd, + octetstring other }; type record GsmRrL3Message { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00bcc5ebb6e098f8ec4986a3dec7e6d7e31e12f8 Gerrit-Change-Number: 19925 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 Aug 31 23:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 23:26:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_assignment_cmd References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19926 ) Change subject: BSC_Tests/hopping: add TC_fh_params_assignment_cmd ...................................................................... BSC_Tests/hopping: add TC_fh_params_assignment_cmd Change-Id: Id12509385b444c426f4af7a0cf0d46efe2cb0eda --- M bsc/BSC_Tests.ttcn 1 file changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/19926/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 53c133b..578b207 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -7069,6 +7069,85 @@ setverdict(pass); } +/* Verify the hopping parameters (HSN, MAIO, MA) in (RR) Assignment Command */ +testcase TC_fh_params_assignment_cmd() runs on test_CT { + var FHParamsTrx fhp := f_TC_fh_params_gen(); + var RSL_Message rsl_msg; + var RSL_IE_Body ie; + + f_init_vty(); + + f_TC_fh_params_set(fhp); /* Enable frequency hopping */ + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1); + + /* HACK: work around "Couldn't find Expect for CRCX" */ + vc_MGCP.stop; + + var template PDU_BSSAP ass_cmd := f_gen_ass_req(); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := ts_BSSMAP_IE_CodecList({ts_CodecFR}); + + /* CS domain (TCH): 4 (TCH/F) + 2 (TCH/H) channels available + * NOTE: only 3 SDCCH/4 channels are available on CCCH+SDCCH4+CBCH */ + for (var integer i := 0; i < 3; i := i + 1) { + /* Establish a dedicated channel, so we can trigger (late) TCH assignment */ + var DchanTuple dt := f_est_dchan(f_rnd_ra_cs(), 23, f_rnd_octstring(16)); + + /* Send a BSSMAP Assignment Command, expect CHANnel ACTIVation */ + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ass_cmd)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + /* ACKnowledge CHANnel ACTIVation, expect RSL DATA REQuest */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(rsl_msg.ies[0].body.chan_nr, 33)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeR(RSL_MT_DATA_REQ)); + + /* Make sure that L3 Information IE is present */ + if (not f_rsl_find_ie(rsl_msg, RSL_IE_L3_INFO, ie)) { + setverdict(fail, "RSL L3 Information IE is absent"); + continue; + } + + /* Decode the L3 message and make sure it is (RR) Assignment Command */ + var GsmRrL3Message l3_msg := dec_GsmRrL3Message(ie.l3_info.payload); + if (not match(l3_msg.header, t_RrL3Header(ASSIGNMENT_COMMAND))) { + setverdict(fail, "Failed to match Assignment Command: ", l3_msg); + continue; + } + + /* Make sure that hopping parameters (HSN/MAIO) match */ + var ChannelDescription chan_desc := l3_msg.payload.ass_cmd.chan_desc; + f_TC_fh_params_match_chan_desc(fhp, chan_desc); + + /* Make sure that Cell Channel Description IE is present if FH is enabled */ + if (chan_desc.h and not ispresent(l3_msg.payload.ass_cmd.cell_chan_desc)) { + setverdict(fail, "FH enabled, but Mobile Allocation IE is absent"); + continue; + } + + /* Make sure that the Mobile Allocation IE matches (if present) */ + var boolean ma_present := ispresent(l3_msg.payload.ass_cmd.mobile_allocation); + if (chan_desc.h and ma_present) { + f_TC_fh_params_match_ma(fhp, chan_desc.chan_nr.tn, + l3_msg.payload.ass_cmd.mobile_allocation.v); + } else if (chan_desc.h and not ma_present) { + setverdict(fail, "FH enabled, but Mobile Allocation IE is absent"); + continue; + } else if (not chan_desc.h and ma_present) { + setverdict(fail, "FH disabled, but Mobile Allocation IE is present"); + continue; + } + } + + /* Give the IUT some time to release all channels */ + f_sleep(3.0); + + /* Disable frequency hopping */ + f_TC_fh_params_unset(fhp); + + setverdict(pass); +} + /* Dyn PDCH todo: * activate OSMO as TCH/F * activate OSMO as TCH/H @@ -7300,6 +7379,7 @@ /* Frequency hopping parameters handling */ execute( TC_fh_params_chan_activ() ); execute( TC_fh_params_imm_ass() ); + execute( TC_fh_params_assignment_cmd() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id12509385b444c426f4af7a0cf0d46efe2cb0eda Gerrit-Change-Number: 19926 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 Aug 31 23:27:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 31 Aug 2020 23:27:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests/hopping: add TC_fh_params_assignment_cmd In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19926 ) Change subject: BSC_Tests/hopping: add TC_fh_params_assignment_cmd ...................................................................... BSC_Tests/hopping: add TC_fh_params_assignment_cmd Change-Id: Id12509385b444c426f4af7a0cf0d46efe2cb0eda Related: SYS#4868, OS#4545 --- M bsc/BSC_Tests.ttcn 1 file changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/19926/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id12509385b444c426f4af7a0cf0d46efe2cb0eda Gerrit-Change-Number: 19926 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: