openthread / ot-br-posix

OpenThread Border Router, a Thread border router for POSIX-based platforms.
https://openthread.io/
BSD 3-Clause "New" or "Revised" License
420 stars 232 forks source link

otbr docker arm64 image shutting down wpan0 interface after network is formed successfully #1825

Open chatref opened 1 year ago

chatref commented 1 year ago

otbr docker arm64 image shutting down wpan0 interface after network is formed successfully.

I am using arm64 docker image from docker hub, with below image id

858bc1fc0888 sha256:858bc1fc0888d83d47a9b2f650d848c23c00c4c42393522e58d79d2cdc0668f6

docker command i used is

docker run -d --network=host --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 8081:80 -it --volume /dev/ttyACM0:/dev/ttyACM0 --privileged -e BACKBONE_INTERFACE=br1 latest-300mb-image:matter-test --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800

i am running it on machine with below details

uname -r

4.19.183

uname -a

Linux dsldevice 4.19.183 #2 SMP PREEMPT Mon Feb 20 11:45:42 EST 2023 aarch64

everything is working fine until thread start command or network is successfully formed, as soon as i start the thread network, it is getting started and after that it is shutting down wpan0, as per my view from docker logs, there is a signal coming from kernel,

docker logs e77d350d1cb6

RADIO_URL: spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 TREL_URL: TUN_INTERFACE_NAME: wpan0 BACKBONE_INTERFACE: br1 NAT64_PREFIX: 64:ff9b::/96 +++ dirname /app/script/server ++ cd /app/script/.. ++ [[ ! -n x ]] ++ echo 'Current platform is ubuntu' Current platform is ubuntu ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with DHCPV6_PD ++ local value +++ printenv DHCPV6_PD ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ with BORDER_ROUTING ++ local value +++ printenv BORDER_ROUTING ++ value=1 ++ [[ -z 1 ]] ++ [[ 1 == 1 ]] ++ with NETWORK_MANAGER ++ local value +++ printenv NETWORK_MANAGER ++ value= ++ [[ -z '' ]] ++ [[ -f examples/platforms/ubuntu/default ]] ++ [[ '' == 1 ]] ++ STAGE_DIR=/app/stage ++ BUILD_DIR=/app/build ++ [[ -d /app/stage ]] ++ mkdir -v -p /app/stage mkdir: created directory '/app/stage' ++ [[ -d /app/build ]] ++ mkdir -v -p /app/build mkdir: created directory '/app/build' ++ export PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ PATH=/app/stage/usr/bin:/app/stage/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ basename /app/script/server ++ TASKNAME=server ++ BEFORE_HOOK=examples/platforms/ubuntu/before_server ++ AFTER_HOOK=examples/platforms/ubuntu/after_server ++ [[ ! -f examples/platforms/ubuntu/before_server ]] ++ BEFORE_HOOK=/dev/null ++ [[ ! -f examples/platforms/ubuntu/after_server ]] ++ AFTER_HOOK=/dev/null

can anyone please let me know why is this happening and if anyone has faced this issue int he past.

jwhui commented 1 year ago

It appears that your Linux kernel does not have multicast routing support.

You can either enable multicast routing kernel module or disable multicast routing feature (OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE) in OTBR build.