Skip to content

Multicast prototype: EXPERIMENTAL. #39126

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rcasallas-silabs
Copy link
Contributor

@rcasallas-silabs rcasallas-silabs commented May 22, 2025

EXPERIMENTAL: DO NOT MERGE.

Provisionally, the 0x8000 mask is used to signal groups belonging to the new cluster. So a message send to group 0x0100 is processed through the current Group cluster, but a message sent to group 0x8100 is processed using the experimental Multicast cluster.

The Multicast group keys are currently hard-coded in the chip-tool source.

Testing

  • DEVICE 1
# Commission
chip-tool pairing ble-thread 1001 hex:$OTBR_DATASET 20202021 1234

# ACL (Groups 0x8101, 0x8102, 0x8103)
chip-tool accesscontrol write acl '[ {"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [33025, 33026, 33027], "targets": null} ]' 1002  0

# Set targets
chip-tool multicast set-target 0x8101 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1001 0
chip-tool multicast set-target 0x8102 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1001 0
chip-tool multicast set-target 0x8103 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1001 0
  • DEVICE 2
# Commission
chip-tool pairing ble-thread 1002 hex:$OTBR_DATASET20202021 4321

# ACL (Groups 0x8101, 0x8103, 0x8105)
chip-tool accesscontrol write acl '[ {"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [33025, 33027, 33029], "targets": null} ]' 1002  0

# Set targets
chip-tool multicast set-target 0x8101 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1002 0
chip-tool multicast set-target 0x8103 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1002 0
chip-tool multicast set-target 0x8105 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1002 0
chip-tool multicast set-target 0x8107 "[1]" "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" 20 1002 0
  • TOGGLE
# Device 1 & 2
chip-tool onoff toggle 0xffffffffffff8101 0

# Device 1
chip-tool onoff toggle 0xffffffffffff8102 0

# Device 2
chip-tool onoff toggle 0xffffffffffff8105 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

3 participants