Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multicast is not work on network #2363

Open
myddpp opened this issue Jul 8, 2024 · 3 comments
Open

multicast is not work on network #2363

myddpp opened this issue Jul 8, 2024 · 3 comments

Comments

@myddpp
Copy link

myddpp commented Jul 8, 2024

Describe the bug
multicat operates only in local loop.
If chip-tool and OTBR run on one device.
My end device (nrf52840) receives multicast packets.
and mroute set by both direction
wlan0 -> wpan0
wpan0 -> wlan0

ip -6 mroute
(fd5b:35de:ad5b:beef:e3a0:6290:dab7:e37a,ff35:40:fd00::100:1) Iif: wlan0 Oifs: wpan0 State: resolved
(fd11:35::782d:5b46:d438:5761,ff35:40:fd00::100:1) Iif: wpan0 Oifs: wlan0 State: resolved

But If I work chip-tool in rpi4 - 1 and OTRBR running ont rpi4 - 2

only 1 mroute are add
ubuntu@ubuntu:~/chip-certification-tool/scripts/OTBR$ ip -6 mroute
(fd5b:35de:ad5b:beef:5c0a:7aeb:fd9c:55e1,ff35:40:fd00::100:1) Iif: wlan0 Oifs: wpan0 State: resolved

I checked tcpdump at wlan0 and wpan0.
If I try on same board, I see the wlan0 and wpan0 get almost same pkt.
So I guess OTBR forwarding the packet from wlan0 to wpan0.

But, If I try on rpi4 1/2, OTBR wlan0 get packet but, wpan0 isn't

I can ping from rpi4-1 to end device, I thinks connection is well.
I can onoff toggle end device by unicast, connection is also well I guess
"./chip-tool onoff toggle 2 1"

I tested with below command set.

./chip-tool pairing ble-thread 2  hex:0e08000000000001000035060004001fffe00708fdabbc98c27896b90c0402a0f7f800030000110102123402081111111122222222030e4f70656e54687265616444656d6f051000112233445566778899aabbccddeeff0410445f2b5ca6f2a93a55ce570a70efeecb   20202021 3840

./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 4, "authMode": 3, "subjects": null, "targets": [{"cluster": 6, "endpoint": 1, "deviceType": null}, {"cluster": 8, "endpoint": 1, "deviceType": null}] }]' 2 0

./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 4, "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 2 0
./chip-tool groupkeymanagement write group-key-map '[{"groupId": 1, "groupKeySetID": 4, "fabricIndex": 1}]' 2 0
./chip-tool groupkeymanagement read group-key-map 2 0

./chip-tool accesscontrol read acl 2 0

./chip-tool groupsettings add-group grp1      0x0001
./chip-tool groupsettings add-keysets 4  0  0x000000000021dfe0  hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
./chip-tool groupsettings bind-keyset 0x0001 4

./chip-tool groupsettings show-groups
./chip-tool groupsettings show-keysets

./chip-tool groups add-group 0x0001 grp1 2 1
./chip-tool onoff toggle 2 1 
./chip-tool onoff toggle 0xffffffffffff0001 1 

And I build my otbr with below config.
./script/cmake-build -DBUILD_TESTING=OFF
-DOTBR_DBUS=ON
-DOTBR_REST=ON
-DOTBR_WEB=OFF
-DOTBR_MDNS=avahi
-DOTBR_BACKBONE_ROUTER=ON
-DOTBR_BORDER_ROUTING=ON
-DOTBR_SRP_ADVERTISING_PROXY=ON
-DOTBR_BORDER_AGENT=ON
-DOT_SPINEL_RESET_CONNECTION=ON
-DOT_TREL=ON
-DOT_MLR=ON
-DOT_SRP_SERVER=ON
-DOT_ECDSA=ON
-DOT_SERVICE=ON
-DOTBR_DUA_ROUTING=ON
-DOT_DUA=ON
-DOT_BORDER_ROUTING_NAT64=ON
-DOTBR_DNSSD_DISCOVERY_PROXY=ON
-DOTBR_INFRA_IF_NAME=eth0
-DOTBR_NO_AUTO_ATTACH=1
-DOT_REFERENCE_DEVICE=ON
-DOT_DHCP6_CLIENT=ON
-DOT_DHCP6_SERVER=ON

could you help me, how to check multicast?

To Reproduce Information to reproduce the behavior, including:

  1. Git commit id
  2. IEEE 802.15.4 hardware platform
  3. Build steps
  4. Network topology
    RPi4-1 ( chip-tool) <--> RPi4 2 ( OTBR ) with nrf52840 dongle <---> End device ( nrf52840DK )

Expected behavior A clear and concise description of what you expected to happen.

Console/log output If applicable, add console/log output to help explain your problem.

Additional context Add any other context about the problem here.

@superwhd
Copy link
Contributor

superwhd commented Jul 8, 2024

But If I work chip-tool in rpi4 - 1 and OTRBR running ont rpi4 - 2

only 1 mroute are add
ubuntu@ubuntu:~/chip-certification-tool/scripts/OTBR$ ip -6 mroute
(fd5b:35de:ad5b:beef:5c0a:7aeb:fd9c:55e1,ff35:40:fd00::100:1) Iif: wlan0 Oifs: wpan0 State: resolved

Could you confirm if ping Rpi4-1 -> ED multicast group is working?

On the other hand, could you share the result of ping from ED to Rpi4-1's multicast group?

i.e. on ED run this command:

> ping <Rpi's multicast group> 100 10 1

See this codelab for some background: https://openthread.io/codelabs/openthread-border-router-ipv6-multicast#6

@myddpp
Copy link
Author

myddpp commented Jul 9, 2024

It is not ping to Rpi4-1 -> ED multicast group addr.

But, Multicast group work well after remove all otbr-ingress-* configure

Thanks

@superwhd
Copy link
Contributor

superwhd commented Jul 9, 2024

Normally otbr-ingress-* rules shouldn't drop such kind of multicast packets. Not sure what could go wrong here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants