New to HA Matter: Pairing Failed every time— matter-server never receives commission request (Podman, macvlan)

Hey everyone. First of all: I’ve tried every other resource, specially this and this and I am genuinely desperate at this point.

The problem is quite straightforward: I have a Nanoleaf bulb… and when I try to connect it to HA from my iPhone it always says that the pairing failed.

Let me go over my setup:

  1. I bought a Sonoff Dongle-M and flashed Thread RPC.
  2. I learned that I needed an OTBR service, which makes sense.
  3. I learned that I needed to host the Matter service too, which makes sense too.

Yes, that’s right: I have both deployed with containers and podman-compose.
Here’s how those two services look:

version: "3.9"

services:
  homeassistant:
    build:
      context: services/homeassistant
      dockerfile: Dockerfile
    image: myhome/homeassistant:local
    container_name: homeassistant
    hostname: homeassistant
    cap_drop:
      - ALL
    cap_add:
      - NET_RAW
      - NET_BIND_SERVICE
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    logging:
      driver: journald
    volumes:
      - /srv/homeassistant/config:/config
      - /srv/homeassistant/tls:/certs:ro
    networks:
      services-front:
        mac_address: 02:CA:51:A1:F7:30
  otbr:
    build:
      context: services/otbr
      dockerfile: Dockerfile
    image: myhome/otbr:local
    container_name: otbr
    hostname: otbr
    privileged: true
    restart: unless-stopped
    logging:
      driver: journald
    environment:
      BACKBONE_IF: eth0
      DEVICE: /tmp/ttyOTBR
      NETWORK_DEVICE: "thread.myhome.com:6638"
      BAUDRATE: "115200"
      FLOW_CONTROL: "0"
      FIREWALL: "1"
      NAT64: "1"
      OTBR_REST_PORT: "8081"
      OTBR_WEB_PORT: "8080"
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.default.disable_ipv6=0
      - net.ipv4.conf.all.forwarding=1
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.all.accept_ra=2
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - /srv/otbr:/data/thread
    networks:
      services-back:
        mac_address: 02:CA:51:5B:D1:12
  matter-server:
    build:
      context: services/matter-server
      dockerfile: Dockerfile
    image: myhome/matter-server:local
    container_name: matter-server
    hostname: matter-server
    cap_drop:
      - ALL
    cap_add:
      - NET_RAW
      - NET_BIND_SERVICE
    security_opt:
      - apparmor=unconfined
      - no-new-privileges:true
    restart: unless-stopped
    logging:
      driver: journald
    sysctls:
      - net.ipv6.conf.all.accept_ra_rt_info_max_plen
=64
    command:
      - --primary-interface
      - eth0
      - --storage-path
      - /data
    volumes:
      - /srv/matter:/data
      - /run/dbus:/run/dbus:ro
    networks:
      services-back:
        mac_address: 02:CA:51:CF:04:30
networks:
  services-infra:
    driver: macvlan
    driver_opts:
      parent: eno1.51
    ipam:
      driver: dhcp
  services-back:
    driver: macvlan
    driver_opts:
      parent: eno1.52
    ipam:
      driver: dhcp
  services-front:
    driver: macvlan
    driver_opts:
      parent: eno1.53
    ipam:
      driver: dhcp

Now: as you probably read, my setup is a tad complex. I have as a router a TP-Link ER605 which supports IPv6 routing but not static IPv6 routes (mentioning this because I’ve read elsewhere that this may be a problem, hopefully not).

Here are the otbr logs:

otbr logs

00:37:16.765 [I] Mle-----------: Send Announce on channel 25
00:37:16.792 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:f97e, ecn:no, to:0xffff, sec:yes, prio:net, radio:all
00:37:16.792 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:16.792 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:18.878 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:18.907 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:f6ad, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:18.908 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:18.908 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:21.981 [I] MeshForwarder-: Received IPv6 UDP msg, len:56, chksum:dfc1, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:21.981 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:21.981 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:2]:19788
00:37:21.981 [I] Mle-----------: Receive Discovery Request (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:21.981 [I] Mle-----------: Delay Discovery Response (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:22.063 [I] Mle-----------: Send Discovery Response (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:22.064 [I] Mac-----------: Frame tx failed, error:Abort, len:74, seqnum:92, type:Data, src:8e939dde5d00b7bd, dst:023243212ffe3b85, sec:no, ackreq:yes, radio:trel
00:37:22.090 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:ffe4, ecn:no, to:023243212ffe3b85, sec:no, prio:net, radio:all
00:37:22.090 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:22.090 [I] MeshForwarder-: dst:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:26.448 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:8ea1, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:26.448 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:26.448 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:2]:19788
00:37:26.448 [I] Mle-----------: Receive Parent Request (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:26.448 [I] Mle-----------: Delay Parent Response (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:26.448 [I] RadioSelector-: RadioSelector: NewRadio(OnRx) 15.4 - neighbor:[023243212ffe3b85 rloc16:0x0000 radio-pref:{15.4:200} state:ParentReq]
00:37:26.695 [I] Mle-----------: Send Parent Response (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:26.740 [I] RadioSelector-: RadioSelector: UpdateOnTxSucc 15.4 - neighbor:[023243212ffe3b85 rloc16:0x0000 radio-pref:{15.4:225} state:ParentReq]
00:37:26.740 [I] MeshForwarder-: Sent IPv6 UDP msg, len:129, chksum:ffbe, ecn:no, to:023243212ffe3b85, sec:no, prio:net, radio:15.4
00:37:26.740 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:26.740 [I] MeshForwarder-: dst:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:27.204 [I] MeshForwarder-: Received IPv6 UDP msg, len:118, chksum:db03, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:27.204 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:27.204 [I] MeshForwarder-: dst:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:27.204 [I] Mle-----------: Receive Child ID Request (fe80:0:0:0:32:4321:2ffe:3b85)
00:37:27.207 [I] Settings------: Added ChildInfo {rloc:0xec02, extaddr:023243212ffe3b85, timeout:240, mode:0x0f, version:4}
00:37:27.207 [I] Mle-----------: Send Child ID Response (fe80:0:0:0:32:4321:2ffe:3b85,0xec02)
00:37:27.207 [I] Notifier------: StateChanged (0x00000400) [Child+]
00:37:27.207 [I] ChildSupervsn-: Starting Child Supervision
00:37:27.279 [I] MeshForwarder-: Sent IPv6 UDP msg, len:174, chksum:41a8, ecn:no, to:023243212ffe3b85, sec:yes, prio:net, radio:15.4
00:37:27.279 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:27.279 [I] MeshForwarder-: dst:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:27.519 [I] AddrResolver–: Cache entry added: fdd3:9094:945:7e39:c5a5:5188:bf14:8301, 0xec02 - snoop
00:37:27.553 [I] MeshForwarder-: Received IPv6 UDP msg, len:313, chksum:4f53, ecn:no, from:0xec02, sec:yes, prio:normal, rss:-65.25, radio:15.4
00:37:27.553 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:c5a5:5188:bf14:8301]:49155
00:37:27.553 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:29c5:ec97:ff17:f21b]:53536
00:37:27.553 [I] SrpServer-----: Received DNS update from fdd3:9094:945:7e39:c5a5:5188:bf14:8301
00:37:27.561 [I] SrpServer-----: Processed SRP update info
00:37:27.561 [I] SrpServer-----: Host:023243212FFE3B85.default.service.arpa.
00:37:27.561 [I] SrpServer-----: Lease:0, key-lease:1209600, ttl:7200
00:37:27.561 [I] SrpServer-----: No host address
00:37:27.561 [I] SrpServer-----: SRP update handler is notified (updatedId = 649875268)
[INFO]-ADPROXY-: Advertise SRP service updates: host=023243212FFE3B85.default.service.arpa.
[INFO]-MDNS----: Removing host 023243212FFE3B85
[INFO]-ADPROXY-: Handle unpublish SRP host ‘023243212FFE3B85.default.service.arpa.’: OK
00:37:27.561 [I] SrpServer-----: Handler result of SRP update (id = 649875268) is received: OK
00:37:27.561 [I] SrpServer-----: Committing update for new host 023243212FFE3B85.default.service.arpa.
00:37:27.561 [I] SrpServer-----: Granted lease:0, key-lease:680400, ttl:30
00:37:27.561 [I] SrpServer-----: Send success response with granted lease: 0 and key lease: 680400
00:37:27.588 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:1813, ecn:no, to:0xec02, sec:yes, prio:normal, radio:15.4
00:37:27.588 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:29c5:ec97:ff17:f21b]:53536
00:37:27.588 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:c5a5:5188:bf14:8301]:49155
00:37:28.199 [I] MeshForwarder-: Received IPv6 UDP msg, len:934, chksum:361f, ecn:no, from:0xec02, sec:yes, prio:normal, rss:-65.75, radio:15.4
00:37:28.199 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:c5a5:5188:bf14:8301]:49155
00:37:28.199 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:29c5:ec97:ff17:f21b]:53536
00:37:28.199 [I] SrpServer-----: Received DNS update from fdd3:9094:945:7e39:c5a5:5188:bf14:8301
00:37:28.207 [I] AddrResolver–: Cache entry added: fd3c:d29a:b910:1:d168:427b:dd10:6932, 0xec02 - snoop
00:37:28.207 [I] SrpServer-----: Processed SRP update info
00:37:28.207 [I] SrpServer-----: Host:023243212FFE3B85.default.service.arpa.
00:37:28.207 [I] SrpServer-----: Lease:7200, key-lease:1209600, ttl:7200
00:37:28.207 [I] SrpServer-----: 1 host address(es):
00:37:28.207 [I] SrpServer-----: fd3c:d29a:b910:1:d168:427b:dd10:6932
00:37:28.207 [I] SrpServer-----: Adding service ‘47BEC11B21AD4065-00000000DA650FDA._matter._tcp.default.service.arpa.’
00:37:28.207 [I] SrpServer-----: sub-type: _I47BEC11B21AD4065
00:37:28.207 [I] SrpServer-----: Adding service ‘Nanoleaf A19 59C-703E._ltpdu._udp.default.service.arpa.’
00:37:28.207 [I] SrpServer-----: Adding service ‘456F7A77442D140F._matterc._udp.default.service.arpa.’
00:37:28.207 [I] SrpServer-----: sub-type: _V4442
00:37:28.207 [I] SrpServer-----: sub-type: _S5
00:37:28.207 [I] SrpServer-----: sub-type: _L1436
00:37:28.207 [I] SrpServer-----: SRP update handler is notified (updatedId = 649875269)
[INFO]-ADPROXY-: Advertise SRP service updates: host=023243212FFE3B85.default.service.arpa.
[INFO]-MDNS----: Registering service 47BEC11B21AD4065-00000000DA650FDA._matter._tcp,_I47BEC11B21AD4065
[INFO]-MDNS----: Registering service Nanoleaf A19 59C-703E._ltpdu._udp
[INFO]-MDNS----: Registering service 456F7A77442D140F._matterc._udp,_L1436,_S5,_V4442
[INFO]-MDNS----: Registering new host 023243212FFE3B85
[INFO]-MDNS----: Successfully registered host 023243212FFE3B85 address fd3c:d29a:b910:1:d168:427b:dd10:6932
[INFO]-MDNS----: Successfully registered all host 023243212FFE3B85 addresses
[INFO]-ADPROXY-: Handle publish SRP host ‘023243212FFE3B85.default.service.arpa.’: OK
[INFO]-ADPROXY-: Waiting for more publishing callbacks 3
00:37:28.546 [I] RoutingManager: Sent Neighbor Solicitation to fe80:0:0:0:9a03:8eff:fec6:dc9 - attempt:1/5
00:37:28.547 [I] RoutingManager: Received NA from router fe80:0:0:0:9a03:8eff:fec6:dc9
[INFO]-MDNS----: Successfully registered service 456F7A77442D140F._matterc._udp
[INFO]-ADPROXY-: Handle publish SRP service ‘456F7A77442D140F._matterc._udp.default.service.arpa.’: OK
[INFO]-ADPROXY-: Waiting for more publishing callbacks 2
[INFO]-MDNS----: Successfully registered service 47BEC11B21AD4065-00000000DA650FDA._matter._tcp
[INFO]-ADPROXY-: Handle publish SRP service ‘47BEC11B21AD4065-00000000DA650FDA._matter._tcp.default.service.arpa.’: OK
[INFO]-ADPROXY-: Waiting for more publishing callbacks 1
[INFO]-MDNS----: Successfully registered service Nanoleaf A19 59C-703E._ltpdu._udp
[INFO]-ADPROXY-: Handle publish SRP service ‘Nanoleaf A19 59C-703E._ltpdu._udp.default.service.arpa.’: OK
00:37:28.866 [I] SrpServer-----: Handler result of SRP update (id = 649875269) is received: OK
00:37:28.867 [I] SrpServer-----: Committing update for existing host 023243212FFE3B85.default.service.arpa.
00:37:28.867 [I] SrpServer-----: Granted lease:7200, key-lease:680400, ttl:7200
00:37:28.867 [I] SrpServer-----: Add new service ‘47BEC11B21AD4065-00000000DA650FDA._matter._tcp.default.service.arpa.’
00:37:28.867 [I] SrpServer-----: sub-type: _I47BEC11B21AD4065._sub._matter._tcp.default.service.arpa.
00:37:28.867 [I] SrpServer-----: Add new service ‘Nanoleaf A19 59C-703E._ltpdu._udp.default.service.arpa.’
00:37:28.867 [I] SrpServer-----: Add new service ‘456F7A77442D140F._matterc._udp.default.service.arpa.’
00:37:28.867 [I] SrpServer-----: sub-type: _V4442._sub._matterc._udp.default.service.arpa.
00:37:28.867 [I] SrpServer-----: sub-type: _S5._sub._matterc._udp.default.service.arpa.
00:37:28.867 [I] SrpServer-----: sub-type: _L1436._sub._matterc._udp.default.service.arpa.
00:37:28.867 [I] SrpServer-----: Send success response with granted lease: 7200 and key lease: 680400
00:37:28.895 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:6a64, ecn:no, to:0xec02, sec:yes, prio:normal, radio:15.4
00:37:28.895 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:29c5:ec97:ff17:f21b]:53536
00:37:28.895 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:c5a5:5188:bf14:8301]:49155
00:37:30.257 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:30.283 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:c548, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:30.283 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:30.283 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:38.341 [I] Mle-----------: Send Announce on channel 26
00:37:38.372 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:9f6b, ecn:no, to:0xffff, sec:yes, prio:net, radio:all
00:37:38.372 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:38.372 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:39.551 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:39.577 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:27b0, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:39.577 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:39.577 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:40.737 [I] MeshForwarder-: Received IPv6 UDP msg, len:73, chksum:f537, ecn:no, from:0xec02, sec:yes, prio:net, rss:-65.0, radio:15.4
00:37:40.737 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:0:ff:fe00:ec02]:61631
00:37:40.737 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:0:ff:fe00:ec00]:61631
00:37:40.738 [I] Mle-----------: Receive Address Solicit (fdd3:9094:945:7e39:0:ff:fe00:ec02)
00:37:40.738 [N] RouterTable—: Allocate router id 4
00:37:40.738 [I] Mle-----------: Send Address Reply (fdd3:9094:945:7e39:0:ff:fe00:ec02)
00:37:40.738 [I] RouterTable—: Route table
00:37:40.738 [I] RouterTable—: 59 0xec00 - me - leader
00:37:40.738 [I] RouterTable—: 4 0x1000
00:37:40.761 [I] MeshForwarder-: Sent IPv6 UDP msg, len:73, chksum:9f7e, ecn:no, to:0xec02, sec:yes, prio:net, radio:15.4
00:37:40.761 [I] MeshForwarder-: src:[fdd3:9094:945:7e39:0:ff:fe00:ec00]:61631
00:37:40.761 [I] MeshForwarder-: dst:[fdd3:9094:945:7e39:0:ff:fe00:ec02]:61631
00:37:40.780 [I] MeshForwarder-: Received IPv6 UDP msg, len:91, chksum:9a42, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:40.780 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:40.780 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:40.780 [I] Mle-----------: Receive Advertisement (fe80:0:0:0:32:4321:2ffe:3b85,0x1000)
00:37:40.780 [I] Settings------: Read ChildInfo {rloc:0xec02, extaddr:023243212ffe3b85, timeout:240, mode:0x0f, version:4}
00:37:40.788 [I] Settings------: Removed ChildInfo {rloc:0xec02, extaddr:023243212ffe3b85, timeout:240, mode:0x0f, version:4}
00:37:40.788 [I] RouterTable—: Route table
00:37:40.788 [I] RouterTable—: 59 0xec00 - me - leader
00:37:40.788 [I] RouterTable—: 4 0x1000 - nbr{lq[i/o]:3/3 cost:1}
00:37:40.788 [I] Notifier------: StateChanged (0x00000800) [Child-]
00:37:40.788 [I] ChildSupervsn-: Stopping Child Supervision
00:37:41.354 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:41.384 [I] MeshForwarder-: Sent IPv6 UDP msg, len:91, chksum:ca12, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:41.384 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:41.384 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:41.730 [I] MeshForwarder-: Received IPv6 UDP msg, len:91, chksum:c524, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:41.730 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:41.730 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:41.730 [I] Mle-----------: Receive Advertisement (fe80:0:0:0:32:4321:2ffe:3b85,0x1000)
00:37:43.359 [I] MeshForwarder-: Received IPv6 UDP msg, len:91, chksum:b42b, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:43.359 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:43.359 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:43.359 [I] Mle-----------: Receive Advertisement (fe80:0:0:0:32:4321:2ffe:3b85,0x1000)
00:37:43.470 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:43.499 [I] MeshForwarder-: Sent IPv6 UDP msg, len:91, chksum:d93e, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:43.499 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:43.499 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:47.218 [I] MeshForwarder-: Received IPv6 UDP msg, len:91, chksum:5dd6, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:47.218 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:47.218 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:47.218 [I] Mle-----------: Receive Advertisement (fe80:0:0:0:32:4321:2ffe:3b85,0x1000)
00:37:47.250 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:47.274 [I] MeshForwarder-: Sent IPv6 UDP msg, len:91, chksum:c6bb, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:47.274 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:47.274 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:52.001 [I] MeshForwarder-: Received IPv6 UDP msg, len:91, chksum:4326, ecn:no, from:023243212ffe3b85, sec:no, prio:net, rss:-65.0, radio:15.4
00:37:52.001 [I] MeshForwarder-: src:[fe80:0:0:0:32:4321:2ffe:3b85]:19788
00:37:52.001 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:52.001 [I] Mle-----------: Receive Advertisement (fe80:0:0:0:32:4321:2ffe:3b85,0x1000)
00:37:52.059 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:37:52.085 [I] MeshForwarder-: Sent IPv6 UDP msg, len:91, chksum:eb6d, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:37:52.085 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:52.085 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
00:37:59.358 [I] Mle-----------: Send Announce on channel 11
00:37:59.387 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:b1c6, ecn:no, to:0xffff, sec:yes, prio:net, radio:all
00:37:59.387 [I] MeshForwarder-: src:[fe80:0:0:0:8c93:9dde:5d00:b7bd]:19788
00:37:59.387 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788

And here are the matter-server logs:

matter-server logs

root@sv-compute01:/opt/myhome.com# podman-compose logs -f matter-server
2026-04-13 20:13:06.840 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Logging…
2026-04-13 20:13:06.840 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Controller Stack…
[1776111186.861015][1:1] CHIP:CTL: Setting attestation nonce to random value
[1776111186.861193][1:1] CHIP:CTL: Setting CSR nonce to random value
[1776111186.861781][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1776111186.864873][1:1] CHIP:DL: Wrote settings to /tmp/chip_kvs
[1776111186.865093][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
[1776111186.865208][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
[1776111186.865235][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
[1776111186.866513][1:1] CHIP:DL: Wrote settings to /data/chip_counters.ini
[1776111186.866551][1:1] CHIP:DL: NVS set: chip-counters/reboot-count = 5 (0x5)
[1776111186.866698][1:1] CHIP:DL: Got Ethernet interface: eth0
[1776111186.866743][1:1] CHIP:DL: Found the primary Ethernet interface:eth0
[1776111186.866865][1:1] CHIP:DL: Failed to get WiFi interface
[1776111186.866871][1:1] CHIP:DL: Failed to reset WiFi statistic counts
[1776111186.866873][1:1] CHIP:PAF: WiFiPAF: WiFiPAFLayer::Init()
2026-04-13 20:13:06.867 (MainThread) INFO [chip.storage] Initializing persistent storage from file: /data/chip.json
2026-04-13 20:13:06.867 (MainThread) INFO [chip.storage] Loading configuration from /data/chip.json…
2026-04-13 20:13:06.933 (MainThread) INFO [chip.CertificateAuthority] Loading certificate authorities from storage…
2026-04-13 20:13:06.933 (MainThread) INFO [chip.CertificateAuthority] New CertificateAuthority at index 1
2026-04-13 20:13:06.934 (MainThread) INFO [chip.CertificateAuthority] Loading fabric admins from storage…
2026-04-13 20:13:06.934 (MainThread) INFO [chip.FabricAdmin] New FabricAdmin: FabricId: 0x0000000000000001, VendorId = 0xFFF1
2026-04-13 20:13:06.934 (MainThread) INFO [matter_server.server.stack] CHIP Controller Stack initialized.
2026-04-13 20:13:06.934 (MainThread) INFO [matter_server.server.server] Matter Server initialized
2026-04-13 20:13:06.934 (MainThread) INFO [matter_server.server.server] Using ‘eth0’ as primary interface (for link-local addresses)
2026-04-13 20:13:06.934 (MainThread) INFO [matter_server.server.server] Starting the Matter Server…
2026-04-13 20:13:06.937 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Fetching the latest PAA root certificates from DCL.
2026-04-13 20:13:10.000 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Fetched 74 PAA root certificates from DCL.
2026-04-13 20:13:10.001 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Fetching the latest PAA root certificates from Git.
2026-04-13 20:13:10.320 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Fetched 2 PAA root certificates from Git.
2026-04-13 20:13:10.321 (MainThread) INFO [chip.FabricAdmin] Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000001, NodeId: 0x000000000001B669, CatTags:
2026-04-13 20:13:10.377 (MainThread) INFO [matter_server.server.vendor_info] Loading vendor info from storage.
2026-04-13 20:13:10.382 (MainThread) INFO [matter_server.server.vendor_info] Loaded 411 vendors from storage.
2026-04-13 20:13:10.382 (MainThread) INFO [matter_server.server.vendor_info] Fetching the latest vendor info from DCL.
2026-04-13 20:13:10.699 (MainThread) INFO [matter_server.server.vendor_info] Fetched 410 vendors from DCL.
2026-04-13 20:13:10.699 (MainThread) INFO [matter_server.server.vendor_info] Saving vendor info to storage.
2026-04-13 20:13:10.711 (MainThread) INFO [matter_server.server.device_controller] Loaded 0 nodes from stored configuration
2026-04-13 20:13:10.719 (MainThread) INFO [matter_server.server.server] Matter Server successfully initialized.

Here is the otbr status taken from the UI:

otbr status

Get Status

IPv6:LinkLocalAddress

fe80:0:0:0:8c93:9dde:5d00:b7bd

IPv6:LocalAddress

fd3c:d29a:b910:1:a546:f7bd:551c:2af

IPv6:MeshLocalAddress

fdd3:9094:945:7e39:29c5:ec97:ff17:f21b

IPv6:MeshLocalPrefix

fdd3:9094:945:7e39:

Network:Name

ha-thread-bbb9

Network:PANID

0xbbb9

Network:PartitionID

1846422625

Network:XPANID

1c8e8955df7e9bef

OpenThread:Version

OPENTHREAD/thread-reference-20230706-1129-g7bd3abd67-dirty; POSIX; Feb 11 2026 16:47:23

OpenThread:Version API

470

RCP:Channel

15

RCP:EUI64

449fdafffe9a33a1

RCP:State

leader

RCP:TxPower

5 dBm

RCP:Version

SL-OPENTHREAD/2.4.5.0_GitHub-797150858; EFR32; Mar 26 2025 20:27:13

WPAN service

associated

My IPv6 VLANs are configured as follows:

ipv6 vlan

VLAN name(VLAN ID) Type Router address
services_front(53) SLAAC+RDNSS 2001:ca51:7a53:0:9a03:8eff:fec6:dc9/64
services_back(52) SLAAC+RDNSS 2001:ca51:7a52:0:9a03:8eff:fec6:dc9/64
management(19) SLAAC+RDNSS 2001:ca51:7a19:0:9a03:8eff:fec6:dc9/64
wifinetwork(20) SLAAC+RDNSS 2001:ca51:7a20:0:9a03:8eff:fec6:dc9/64

Finally, some screenshots of my HA instance during the pairing (I clicked those credentials buttons a decillion times in all possible combinations, I think):

If you have any idea, I am all ears. I’ve exhausted all my luck with online threads and I even wrote to a few AI agents all these insights. No luck either.

Thank you so much in advance! I hope to hear back from you guys!

You list a bunch of IPv6 addresses that are not used, since the servers use LLAs.
You have no handling of multicast routing.

Hey @WallyR , thanks a lot!

Since your message I did the following:

  1. Disabled IPv6 global unicast addresses in favour of LLAs
  2. Put my Sonoff Dongle-M, homeassistant, otbr, matter-server, and commissioning device (ie. my iOS phone) under the same VLAN 53
  3. Reset the Nanoleaf bulb, the otbr network (via HA), resend credentials and attempt commissioning again
  4. I get the same “Pairing Failed” by iOS
End device interface

$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether ee:fd:d2:c9:a4:98
inet6 fe80::80:6564:185c:54d%en0 prefixlen 64 secured scopeid 0xb
inet 192.168.53.8 netmask 0xffffff00 broadcast 192.168.53.255
inet6 fd75:52c5:d2d5:5038:18c3:a88f:73dc:3784 prefixlen 64 deprecated autoconf secured
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active

otbr interface

root@otbr:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host proto kernel_lo
valid_lft forever preferred_lft forever
2: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:ca:51:5b:d1:12 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.53.2/24 brd 192.168.53.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::ca:51ff:fe5b:d112/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
3: wpan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet6 fd2a:38b7:71e7:9cd3:0:ff:fe00:8400/64 metric 64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fd2a:38b7:71e7:9cd3:a15a:28e6:fcd3:68ad/64 metric 64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::f066:c492:9cd3:d225/64 scope link nodad
valid_lft forever preferred_lft forever

matter-server interface

root@matter-server:/app# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:ca:51:cf:04:30 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.53.3/24 brd 192.168.53.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::ca:51ff:fecf:430/64 scope link
valid_lft forever preferred_lft forever

pings across devices

End device to matter-server:

$ ping6 fe80::ca:51ff:fecf:430%en0
PING6(56=40+8+8 bytes) fe80::80:6564:185c:54d%en0 --> fe80::ca:51ff:fecf:430%en0
16 bytes from fe80::ca:51ff:fecf:430%en0, icmp_seq=0 hlim=64 time=10.873 ms
16 bytes from fe80::ca:51ff:fecf:430%en0, icmp_seq=1 hlim=64 time=11.525 ms
^C
--- fe80::ca:51ff:fecf:430%en0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 10.873/11.199/11.525/0.326 ms

End device to otbr:

$ ping6 fe80::ca:51ff:fe5b:d112%en0
PING6(56=40+8+8 bytes) fe80::80:6564:185c:54d%en0 --> fe80::ca:51ff:fe5b:d112%en0
16 bytes from fe80::ca:51ff:fe5b:d112%en0, icmp_seq=0 hlim=64 time=13.037 ms
^C
--- fe80::ca:51ff:fe5b:d112%en0 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 13.037/13.037/13.037/0.000 ms

otbr to matter-server:

root@otbr:/# ping6 fe80::ca:51ff:fecf:430%eth0
PING fe80::ca:51ff:fecf:430%eth0 (fe80::ca:51ff:fecf:430%eth0) 56 data bytes
64 bytes from fe80::ca:51ff:fecf:430%eth0: icmp_seq=1 ttl=64 time=0.105 ms
64 bytes from fe80::ca:51ff:fecf:430%eth0: icmp_seq=2 ttl=64 time=0.068 ms
^C
--- fe80::ca:51ff:fecf:430%eth0 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.068/0.086/0.105/0.018 ms

And here are the logs for the attempt of connection:

otbr logs

b6792caf7f09 00:01:21.129 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
b6792caf7f09 00:01:21.155 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:9a45, ecn:no, to:0xffff, sec:no, prio:net, radio:all
b6792caf7f09 00:01:21.155 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:21.155 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
b6792caf7f09 00:01:30.463 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
b6792caf7f09 00:01:30.488 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:9bad, ecn:no, to:0xffff, sec:no, prio:net, radio:all
b6792caf7f09 00:01:30.488 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:30.488 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
b6792caf7f09 00:01:33.321 [I] MeshForwarder-: Received IPv6 UDP msg, len:56, chksum:0e01, ecn:no, from:8e036e1aff9686e2, sec:no, prio:net, rss:-75.0, radio:15.4
b6792caf7f09 00:01:33.321 [I] MeshForwarder-: src:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:33.321 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:2]:19788
b6792caf7f09 00:01:33.321 [I] Mle-----------: Receive Discovery Request (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:33.321 [I] Mle-----------: Delay Discovery Response (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:33.403 [I] Mle-----------: Send Discovery Response (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:33.403 [I] Mac-----------: Frame tx failed, error:Abort, len:74, seqnum:57, type:Data, src:021952e333e55ab3, dst:8e036e1aff9686e2, sec:no, ackreq:yes, radio:trel
b6792caf7f09 00:01:33.432 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:9447, ecn:no, to:8e036e1aff9686e2, sec:no, prio:net, radio:all
b6792caf7f09 00:01:33.432 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:33.432 [I] MeshForwarder-: dst:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:38.207 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:1123, ecn:no, from:8e036e1aff9686e2, sec:no, prio:net, rss:-78.0, radio:15.4
b6792caf7f09 00:01:38.207 [I] MeshForwarder-: src:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:38.207 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:2]:19788
b6792caf7f09 00:01:38.207 [I] Mle-----------: Receive Parent Request (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:38.207 [I] Mle-----------: Delay Parent Response (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:38.207 [I] RadioSelector-: RadioSelector: NewRadio(OnRx) 15.4 - neighbor:[8e036e1aff9686e2 rloc16:0x0000 radio-pref:{15.4:200} state:ParentReq]
b6792caf7f09 00:01:38.680 [I] Mle-----------: Send Parent Response (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:38.716 [I] RadioSelector-: RadioSelector: UpdateOnTxSucc 15.4 - neighbor:[8e036e1aff9686e2 rloc16:0x0000 radio-pref:{15.4:225} state:ParentReq]
b6792caf7f09 00:01:38.716 [I] MeshForwarder-: Sent IPv6 UDP msg, len:129, chksum:f5f3, ecn:no, to:8e036e1aff9686e2, sec:no, prio:net, radio:15.4
b6792caf7f09 00:01:38.716 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:38.716 [I] MeshForwarder-: dst:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:38.975 [I] MeshForwarder-: Received IPv6 UDP msg, len:118, chksum:421b, ecn:no, from:8e036e1aff9686e2, sec:no, prio:net, rss:-73.0, radio:15.4
b6792caf7f09 00:01:38.975 [I] MeshForwarder-: src:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:38.975 [I] MeshForwarder-: dst:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:38.975 [I] Mle-----------: Receive Child ID Request (fe80:0:0:0:8c03:6e1a:ff96:86e2)
b6792caf7f09 00:01:38.979 [I] Settings------: Added ChildInfo {rloc:0x3401, extaddr:8e036e1aff9686e2, timeout:240, mode:0x0f, version:4}
b6792caf7f09 00:01:38.979 [I] Mle-----------: Send Child ID Response (fe80:0:0:0:8c03:6e1a:ff96:86e2,0x3401)
b6792caf7f09 00:01:38.979 [I] Notifier------: StateChanged (0x00000400) [Child+]
b6792caf7f09 00:01:38.979 [I] ChildSupervsn-: Starting Child Supervision
b6792caf7f09 00:01:39.055 [I] MeshForwarder-: Sent IPv6 UDP msg, len:175, chksum:f4c0, ecn:no, to:8e036e1aff9686e2, sec:yes, prio:net, radio:15.4
b6792caf7f09 00:01:39.055 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:39.055 [I] MeshForwarder-: dst:[fe80:0:0:0:8c03:6e1a:ff96:86e2]:19788
b6792caf7f09 00:01:39.679 [I] AddrResolver–: Cache entry added: fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de, 0x3401 - snoop
b6792caf7f09 00:01:39.709 [I] MeshForwarder-: Received IPv6 UDP msg, len:313, chksum:47f7, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-73.0, radio:15.4
b6792caf7f09 00:01:39.709 [I] MeshForwarder-: src:[fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de]:49155
b6792caf7f09 00:01:39.709 [I] MeshForwarder-: dst:[fdfd:38ad:1f61:473f:1e60:d9e8:c1f3:ca66]:53536
b6792caf7f09 00:01:39.709 [I] SrpServer-----: Received DNS update from fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Processed SRP update info
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Host:8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Lease:0, key-lease:1209600, ttl:7200
b6792caf7f09 00:01:39.717 [I] SrpServer-----: No host address
b6792caf7f09 00:01:39.717 [I] SrpServer-----: SRP update handler is notified (updatedId = 2084539299)
b6792caf7f09 [INFO]-ADPROXY-: Advertise SRP service updates: host=8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 [INFO]-MDNS----: Removing host 8E036E1AFF9686E2
b6792caf7f09 [INFO]-ADPROXY-: Handle unpublish SRP host ‘8E036E1AFF9686E2.default.service.arpa.’: OK
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Handler result of SRP update (id = 2084539299) is received: OK
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Committing update for new host 8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 00:01:39.717 [I] SrpServer-----: Granted lease:0, key-lease:680400, ttl:30
b6792caf7f09 00:01:39.720 [I] Settings------: Saved SrpServerInfo {port:53536}
b6792caf7f09 00:01:39.720 [I] SrpServer-----: Send success response with granted lease: 0 and key lease: 680400
b6792caf7f09 00:01:39.746 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:5394, ecn:no, to:0x3401, sec:yes, prio:normal, radio:15.4
b6792caf7f09 00:01:39.746 [I] MeshForwarder-: src:[fdfd:38ad:1f61:473f:1e60:d9e8:c1f3:ca66]:53536
b6792caf7f09 00:01:39.746 [I] MeshForwarder-: dst:[fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de]:49155
b6792caf7f09 00:01:40.313 [I] MeshForwarder-: Received IPv6 UDP msg, len:934, chksum:2335, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-76.625, radio:15.4
b6792caf7f09 00:01:40.313 [I] MeshForwarder-: src:[fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de]:49155
b6792caf7f09 00:01:40.313 [I] MeshForwarder-: dst:[fdfd:38ad:1f61:473f:1e60:d9e8:c1f3:ca66]:53536
b6792caf7f09 00:01:40.313 [I] SrpServer-----: Received DNS update from fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de
b6792caf7f09 00:01:40.321 [I] AddrResolver–: Cache entry added: fd5f:8638:a76a:1:1c01:9b1e:83d3:6502, 0x3401 - snoop
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Processed SRP update info
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Host:8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Lease:7200, key-lease:1209600, ttl:7200
b6792caf7f09 00:01:40.321 [I] SrpServer-----: 1 host address(es):
b6792caf7f09 00:01:40.321 [I] SrpServer-----: fd5f:8638:a76a:1:1c01:9b1e:83d3:6502
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Adding service ‘47BEC11B21AD4065-00000000E8CE46C6._matter._tcp.default.service.arpa.’
b6792caf7f09 00:01:40.321 [I] SrpServer-----: sub-type: _I47BEC11B21AD4065
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Adding service ‘Nanoleaf A19 59C-2915._ltpdu._udp.default.service.arpa.’
b6792caf7f09 00:01:40.321 [I] SrpServer-----: Adding service ‘11809C2DA08305AE._matterc._udp.default.service.arpa.’
b6792caf7f09 00:01:40.321 [I] SrpServer-----: sub-type: _V4442
b6792caf7f09 00:01:40.321 [I] SrpServer-----: sub-type: _S5
b6792caf7f09 00:01:40.321 [I] SrpServer-----: sub-type: _L1436
b6792caf7f09 00:01:40.321 [I] SrpServer-----: SRP update handler is notified (updatedId = 2084539300)
b6792caf7f09 [INFO]-ADPROXY-: Advertise SRP service updates: host=8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 [INFO]-MDNS----: Registering service 47BEC11B21AD4065-00000000E8CE46C6._matter._tcp,_I47BEC11B21AD4065
b6792caf7f09 [INFO]-MDNS----: Registering service Nanoleaf A19 59C-2915._ltpdu._udp
b6792caf7f09 [INFO]-MDNS----: Registering service 11809C2DA08305AE._matterc._udp,_L1436,_S5,_V4442
b6792caf7f09 [INFO]-MDNS----: Registering new host 8E036E1AFF9686E2
b6792caf7f09 [INFO]-MDNS----: Successfully registered host 8E036E1AFF9686E2 address fd5f:8638:a76a:1:1c01:9b1e:83d3:6502
b6792caf7f09 [INFO]-MDNS----: Successfully registered all host 8E036E1AFF9686E2 addresses
b6792caf7f09 [INFO]-ADPROXY-: Handle publish SRP host ‘8E036E1AFF9686E2.default.service.arpa.’: OK
b6792caf7f09 [INFO]-ADPROXY-: Waiting for more publishing callbacks 3
b6792caf7f09 [INFO]-MDNS----: Successfully registered service 11809C2DA08305AE._matterc._udp
b6792caf7f09 [INFO]-ADPROXY-: Handle publish SRP service ‘11809C2DA08305AE._matterc._udp.default.service.arpa.’: OK
b6792caf7f09 [INFO]-ADPROXY-: Waiting for more publishing callbacks 2
b6792caf7f09 [INFO]-MDNS----: Successfully registered service 47BEC11B21AD4065-00000000E8CE46C6._matter._tcp
b6792caf7f09 [INFO]-ADPROXY-: Handle publish SRP service ‘47BEC11B21AD4065-00000000E8CE46C6._matter._tcp.default.service.arpa.’: OK
b6792caf7f09 [INFO]-ADPROXY-: Waiting for more publishing callbacks 1
b6792caf7f09 [INFO]-MDNS----: Successfully registered service Nanoleaf A19 59C-2915._ltpdu._udp
b6792caf7f09 [INFO]-ADPROXY-: Handle publish SRP service ‘Nanoleaf A19 59C-2915._ltpdu._udp.default.service.arpa.’: OK
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Handler result of SRP update (id = 2084539300) is received: OK
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Committing update for existing host 8E036E1AFF9686E2.default.service.arpa.
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Granted lease:7200, key-lease:680400, ttl:7200
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Add new service ‘47BEC11B21AD4065-00000000E8CE46C6._matter._tcp.default.service.arpa.’
b6792caf7f09 00:01:41.018 [I] SrpServer-----: sub-type: _I47BEC11B21AD4065._sub._matter._tcp.default.service.arpa.
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Add new service ‘Nanoleaf A19 59C-2915._ltpdu._udp.default.service.arpa.’
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Add new service ‘11809C2DA08305AE._matterc._udp.default.service.arpa.’
b6792caf7f09 00:01:41.018 [I] SrpServer-----: sub-type: _V4442._sub._matterc._udp.default.service.arpa.
b6792caf7f09 00:01:41.018 [I] SrpServer-----: sub-type: _S5._sub._matterc._udp.default.service.arpa.
b6792caf7f09 00:01:41.018 [I] SrpServer-----: sub-type: _L1436._sub._matterc._udp.default.service.arpa.
b6792caf7f09 00:01:41.018 [I] SrpServer-----: Send success response with granted lease: 7200 and key lease: 680400
b6792caf7f09 00:01:41.047 [I] MeshForwarder-: Sent IPv6 UDP msg, len:83, chksum:37cd, ecn:no, to:0x3401, sec:yes, prio:normal, radio:15.4
b6792caf7f09 00:01:41.047 [I] MeshForwarder-: src:[fdfd:38ad:1f61:473f:1e60:d9e8:c1f3:ca66]:53536
b6792caf7f09 00:01:41.047 [I] MeshForwarder-: dst:[fdfd:38ad:1f61:473f:1a06:1996:3cf8:47de]:49155
b6792caf7f09 00:01:41.487 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:66e4, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:41.487 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:41.487 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:41.533 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:e6c6, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-75.0, radio:15.4
b6792caf7f09 00:01:41.533 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:41.533 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:41.646 [I] MeshForwarder-: Received IPv6 UDP msg, len:567, chksum:9268, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-74.125, radio:15.4
b6792caf7f09 00:01:41.647 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:41.647 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:41.647 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:41.647 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:41.647 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:41.899 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:615, chksum:cea5, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:41.899 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:41.899 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:42.535 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:66e4, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:42.535 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:42.535 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:42.547 [I] MeshForwarder-: Received IPv6 UDP msg, len:567, chksum:9268, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-78.25, radio:15.4
b6792caf7f09 00:01:42.547 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:42.547 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:42.555 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:e4c6, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-79.0, radio:15.4
b6792caf7f09 00:01:42.555 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:42.555 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:42.801 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:615, chksum:cea5, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:42.801 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:42.801 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:42.859 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:42.859 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:42.859 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:43.375 [I] MeshForwarder-: Received IPv6 UDP msg, len:567, chksum:9268, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-74.375, radio:15.4
b6792caf7f09 00:01:43.375 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:43.375 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:43.632 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:615, chksum:cea5, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:43.632 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:43.632 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:43.726 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:66e4, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:43.726 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:43.726 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:43.750 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:e3c6, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-76.0, radio:15.4
b6792caf7f09 00:01:43.750 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:43.750 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:43.808 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:43.808 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:43.808 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:44.469 [I] MeshForwarder-: Received IPv6 UDP msg, len:567, chksum:9268, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-74.25, radio:15.4
b6792caf7f09 00:01:44.469 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:44.469 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:44.716 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:615, chksum:cea5, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:44.716 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:44.716 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:45.065 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:66e4, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:45.065 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:45.065 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:45.084 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:e2c6, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-85.0, radio:15.4
b6792caf7f09 00:01:45.084 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:45.084 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:45.140 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:45.140 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:45.140 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:45.925 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
b6792caf7f09 00:01:45.957 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:8b33, ecn:no, to:0xffff, sec:no, prio:net, radio:all
b6792caf7f09 00:01:45.957 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:45.957 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
b6792caf7f09 00:01:45.967 [I] MeshForwarder-: Received IPv6 UDP msg, len:567, chksum:9268, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-77.25, radio:15.4
b6792caf7f09 00:01:45.967 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:45.967 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:46.212 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:615, chksum:cea5, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:46.212 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:46.212 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:47.564 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:66e4, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:47.564 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:47.564 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:47.583 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:e1c6, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-77.0, radio:15.4
b6792caf7f09 00:01:47.583 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:01:47.583 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:01:47.641 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:01:47.641 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:01:47.641 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:01:53.621 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
b6792caf7f09 00:01:53.646 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:e137, ecn:no, to:0xffff, sec:no, prio:net, radio:all
b6792caf7f09 00:01:53.646 [I] MeshForwarder-: src:[fe80:0:0:0:19:52e3:33e5:5ab3]:19788
b6792caf7f09 00:01:53.646 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
b6792caf7f09 00:02:00.266 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:729d, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:00.266 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:00.266 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:00.293 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:797b, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-73.0, radio:15.4
b6792caf7f09 00:02:00.293 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:00.293 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:00.350 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:132, chksum:d088, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:00.350 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:00.350 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:01.128 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:797b, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-71.0, radio:15.4
b6792caf7f09 00:02:01.128 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:01.128 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:01.189 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:132, chksum:d088, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:01.189 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:01.189 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:01.295 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:729d, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:01.295 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:01.295 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:01.316 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:10d3, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-70.0, radio:15.4
b6792caf7f09 00:02:01.316 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:01.316 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:01.384 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:01.384 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:01.384 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:01.970 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:797b, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-70.0, radio:15.4
b6792caf7f09 00:02:01.971 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:01.971 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:02.026 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:132, chksum:d088, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:02.026 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:02.026 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:02.344 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:729d, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:02.344 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:02.344 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:02.367 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:0fd3, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-69.0, radio:15.4
b6792caf7f09 00:02:02.367 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:02.367 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:02.432 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:02.432 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:02.432 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:03.046 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:797b, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-69.0, radio:15.4
b6792caf7f09 00:02:03.046 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:03.046 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:03.108 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:132, chksum:d088, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:03.108 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:03.108 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:03.759 [I] MeshForwarder-: Sent IPv6 UDP msg, len:244, chksum:729d, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:03.759 [I] MeshForwarder-: src:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:03.759 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:03.784 [I] MeshForwarder-: Received IPv6 UDP msg, len:74, chksum:0ed3, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-69.0, radio:15.4
b6792caf7f09 00:02:03.784 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]:5540
b6792caf7f09 00:02:03.784 [I] MeshForwarder-: dst:[fd9f:64e1:522:cbec:47e:d186:21ad:320e]:59171
b6792caf7f09 00:02:03.863 [I] MeshForwarder-: Sent IPv6 ICMP6 msg, len:122, chksum:d092, ecn:no, to:0x3401, sec:yes, prio:low, radio:15.4
b6792caf7f09 00:02:03.863 [I] MeshForwarder-: src:[fd5f:8638:a76a:1:a849:8006:a23c:fc26]
b6792caf7f09 00:02:03.863 [I] MeshForwarder-: dst:[fd5f:8638:a76a:1:1c01:9b1e:83d3:6502]
b6792caf7f09 00:02:04.443 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:797b, ecn:no, from:0x3401, sec:yes, prio:normal, rss:-69.0, radio:15.4

(I had to trim the logs because of max length).

I appreciate any further input you can give me :pray: .
Once again, thank you for your help.

You will need a “routable” IPv6 address prefix on the one VLAN that HA/Matter/OTBR live on in order for the OTBR to route from/to that VLAN to/from your Thread devices. Link Locals are not routable addresses. In general, the OTBR should be creating such a routable prefix if it doesn’t see one and sends it out using RAs, but somehow your OTBR’s eth0 doesn’t have a routable prefix. Just curious… but how did you configured the OTBR’s eth0 to only use link local?

I’m sorry – I have no experience with IPv6, not to mention HA, OTBR, Thread, Matter and all these network solutions… I must confess that I am quite lost with your comment. Let me see if I can give you an answer to what I understand you are asking me.

I didn’t configure it to only use link-local, it just ended up that way. My ER605 doesn’t support ULA prefixes on the LAN side (it only does ISP-delegated prefixes).

I think, as you can see below, in the absence of a global unicast address (which I removed following @WallyR 's advice) the fe80:: LLA is used, and since my podman-compose explicitly sets en0 to be the interface used by otbr, it ends up using that LLA? Notice the /64 for the prefix is hardcoded and ULA prefixes have /48, as far as my Google skills tell me.

As a final comment: my switches and router have IGMP Snooping enabled. I’ve read elsewhere that it may be a problem, but since every device now rests in the same network I do not see how that may conflict. No ACLs (specially for IPv6) are active at the moment. And also, mDNS multicast is enabled for every VLAN.

I would appreciate further input. As I mentioned: I am quite lost here. Thanks once again @wmaker @WallyR :pray:

So link local addresses (the FE80 addresses) are “scoped” to not go beyond the " link" (link here means VLAN), so these can not be used for routing. The OTBR is an IPv6 router, which means it can only route IPv6 network address that has a scope beyond the link (VLAN). A GUA (global like “2001”) or ULA (unique) are typical types of addresses that are scoped beyond the link and the types the OTBR needs for routing. So the VLAN that HA/OTBR/Matter are attached to need to have a routable (GUA/ULA) prefix/address.

Anyway, one of the issues I see is that the OTBR tries to ensure that the (V)LAN it is attached to has a routable IPv6 prefix. So if it doesn’t see any other router advertising a routable prefix, the OTBR is suppose to pick one and send it out using Router Advertisements and other IPv6 hosts on the same VLAN are suppose to use this prefix. After you turned off the 2001 addresses being advertised by your ER605, the OTBR was suppose to pick a ULA prefix and use it for RAs as well as assign itself an address using that prefix. I don’t see this happening.

Let me also add that pulling in a Docker OTBR that is not a derivative of the one used by HA can make things harder too. I have seen others instead use the Ownbee one (although I haven’t used it myself).

You are still not handling the multicast routing.
Multicast cant be routed with normal IP routing. It is not meant to be, so you need other features or hardware to handle that.

So I finally managed to get this working.

First my final podman-compose.yml and current setup – that I will break a few times 100% while trying to make it somewhat closer to my desired state.

services:
  homeassistant:
    build:
      context: services/homeassistant
      dockerfile: Dockerfile
    image: mydomain/homeassistant:local
    container_name: homeassistant
    hostname: homeassistant
    cap_drop:
      - ALL
    cap_add:
      - NET_RAW
      - NET_BIND_SERVICE
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    logging:
      driver: journald
    volumes:
      - /srv/homeassistant/config:/config
      - /srv/homeassistant/tls:/certs:ro
    networks:
      services-front:
        mac_address: 02:CA:51:A1:F7:30
  radvd:
    build:
      context: services/radvd
      dockerfile: Dockerfile
    image: mydomain/radvd:local
    container_name: radvd
    hostname: radvd
    cap_drop:
      - ALL
    cap_add:
      - NET_RAW
      - NET_BIND_SERVICE
      # Debian's radvd unconditionally calls setuid/setgid at startup even
      # with --username=root, so it needs these caps or it exits.
      - SETUID
      - SETGID
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    logging:
      driver: journald
    sysctls:
      - net.ipv6.conf.all.forwarding=1
    networks:
      services-front:
        mac_address: 02:CA:51:D0:EF:53
  otbr:
    build:
      context: services/otbr
      dockerfile: Dockerfile
    image: mydomain/otbr:local
    container_name: otbr
    hostname: otbr
    # privileged is required: OTBR creates a TUN interface (wpan0) and manages
    # iptables rules inside the container netns. cap_drop: ALL is not compatible.
    privileged: true
    restart: unless-stopped
    logging:
      driver: journald
    environment:
      BACKBONE_IF: eth0
      DEVICE: /tmp/ttyOTBR
      NETWORK_DEVICE: "thread.mydomain.net:6638"
      BAUDRATE: "115200"
      FLOW_CONTROL: "0"
      FIREWALL: "1"
      NAT64: "1"
      OTBR_REST_PORT: "8081"
      OTBR_WEB_PORT: "8080"
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.default.disable_ipv6=0
      - net.ipv4.conf.all.forwarding=1
      - net.ipv6.conf.all.forwarding=1
      # With forwarding=1, Linux sets accept_ra=0 and autoconf=0 by default.
      # Re-enable both on eth0 so OTBR gets a SLAAC address from radvd's RA.
      # (Per-interface sysctls are needed — macvlan eth0 doesn't inherit .all.*)
      - net.ipv6.conf.all.accept_ra=2
      - net.ipv6.conf.eth0.accept_ra=2
      - net.ipv6.conf.eth0.autoconf=1
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - /srv/otbr:/data/thread
    networks:
      services-front:
        mac_address: 02:CA:51:5B:D1:12
  matter-server:
    build:
      context: services/matter-server
      dockerfile: Dockerfile
    image: mydomain/matter-server:local
    container_name: matter-server
    hostname: matter-server
    # Shares OTBR's network namespace. CHIP uses link-local source addresses
    # for Matter CASE sessions, which only work if the commissioner can see
    # the Thread backbone interface (wpan0) directly — not across routers.
    # Running in OTBR's netns gives matter-server access to eth0 + wpan0 in
    # the same stack, matching the layout python-matter-server is designed
    # for (co-located with OTBR on HA OS).
    network_mode: "container:otbr"
    depends_on:
      - otbr
    privileged: true
    security_opt:
      - apparmor=unconfined
      - no-new-privileges:true
    restart: unless-stopped
    logging:
      driver: journald
    # No sysctls/networks here: both are inherited from OTBR's netns.
    command:
      - --primary-interface
      - eth0
      - --storage-path
      - /data
    volumes:
      - /srv/matter:/data
      - /run/dbus:/run/dbus:ro

networks:
  services-infra:
    driver: macvlan
    driver_opts:
      parent: eno1.51
    ipam:
      driver: dhcp
  services-back:
    driver: macvlan
    driver_opts:
      parent: eno1.52
    ipam:
      driver: dhcp
  services-front:
    driver: macvlan
    driver_opts:
      parent: eno1.53
    ipam:
      driver: dhcp

radvd:

FROM docker.io/debian:trixie-slim

RUN apt-get update && \
    apt-get install -y --no-install-recommends radvd && \
    rm -rf /var/lib/apt/lists/*

COPY radvd.conf /etc/radvd.conf

CMD ["radvd", "--nodaemon", "--logmethod=stderr_clean", "--config=/etc/radvd.conf", "--username=root"]
interface eth0 {
    IgnoreIfMissing on;
    AdvSendAdvert on;
    MinRtrAdvInterval 30;
    MaxRtrAdvInterval 100;
    # Do NOT advertise as the default router; we only want to hand out the
    # prefix for SLAAC, not influence default routing decisions.
    AdvDefaultLifetime 0;
    AdvManagedFlag off;
    AdvOtherConfigFlag off;
    # Tell radvd not to sync the kernel's CurHopLimit on eth0 — /proc/sys is
    # read-only in the container and the write would fail.
    AdvCurHopLimit 0;

    prefix fd53:ca51:0053:0053::/64 {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr off;
    };
};

otbr:

FROM ghcr.io/ownbee/hass-otbr-docker:v0.3.0

matter-server:

FROM ghcr.io/home-assistant-libs/python-matter-server:8.1.0

Important things that I’ve learned:

  1. I had a bunch of problems for trying to split the network of otbr and matter-server. They could reach each other always, but after inspecting IPv6 UDP packets with tcpdump, the packets were having some strange UDP checksum problems. Make sure to make the network of one or another be shared with the other container.
  2. Thanks to @WallyR I understood the multicast routing problem. While Googling (and talking to some AI agents) I learned that radvd existed and is now acting as my prefix router (if that’s the correct terminology, I am now getting into IPv6 networking :slight_smile: ).
  3. All my devices, from the Thread RPC to the end device initing the commissioning, are now on the same VLAN.

I want to try removing 2) and 3), but this is probably my final post.

Thanks for your help @wmaker @WallyR , I appreciate the time and effort :pray:
P.S.: If you have any comments about my words, let me know. It is possible that I am overcomplicating things here or that some of the things I said are not entirely accurate.

Just a minor comment, radvd is a Router Advertisement daemon which is used to send out Router Advertisements (RAs) and these RAs is what I mentioned earlier was missing from your OTBR. Nevertheless what you have done should work but if your goal is “removing 2)” then maybe removed the radvd and see if you can get the OTBR to send the RAs instead.

As for “removing 3)”, no keep all of this on the same VLAN.

Also, terminology-wise, RAs are not for multicast routing (whereas PIMv6 is), but RAs do use link-local multicast for their destination address and these are link-local multicast addresses.

Just to clarify, did you actually get a Matter/Thread device commissioned?

As I see it only works due to 3.

You have still not managed the multicast between the VLANs, so you can probably not get it to work in a setup with parts in different VLANs.