This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Thread Broadcast with CLI Example

I'm interested in Thread for a industrial application which likely won't have a border router.  My application requires data be broadcast to all nodes in the network (node count is low max 8).  Is this possible with Thread?  How could I test this using the CLI exmaple?

Thanks in advance.

Parents
  • Hi,

    Yes, this is possible. Thread support IPv6 natively and you can use its multicast capabilities within a Thread network. 

    Please see scope and multicast sections in the OpenThread IPv6 addressing documentation.

    You can do ping multicast on link-local and mesh-local scopes in the CLI example like this:

    > panid 0xabcd
    Done
    
    > ifconfig up
    Done
    
    > thread start
    Done
    
    > state
    child
    Done
    
    > router table
    | ID | RLOC16 | Next Hop | Path Cost | LQ In | LQ Out | Age | Extended MAC     |
    +----+--------+----------+-----------+-------+--------+-----+------------------+
    |  4 | 0x1000 |        8 |         2 |     3 |      3 |   5 | f607098b15760d76 |
    |  8 | 0x2000 |        4 |         2 |     3 |      3 |   3 | 1e1809bd08a51407 |
    | 34 | 0x8800 |       63 |         0 |     0 |      0 |   0 | c68a7a93320e321e |
    
    Done
    
    > ping ff02::1
    > 16 bytes from fe80:0:0:0:1c18:9bd:8a5:1407: icmp_seq=4 hlim=64 time=9ms
    16 bytes from fe80:0:0:0:f407:98b:1576:d76: icmp_seq=4 hlim=64 time=19ms
    
    > ping ff03::1
    > 16 bytes from fdde:ad00:beef:0:0:ff:fe00:1000: icmp_seq=3 hlim=64 time=27ms
    16 bytes from fdde:ad00:beef:0:0:ff:fe00:2000: icmp_seq=3 hlim=64 time=30ms

    Best regards,
    Jørgen

Reply
  • Hi,

    Yes, this is possible. Thread support IPv6 natively and you can use its multicast capabilities within a Thread network. 

    Please see scope and multicast sections in the OpenThread IPv6 addressing documentation.

    You can do ping multicast on link-local and mesh-local scopes in the CLI example like this:

    > panid 0xabcd
    Done
    
    > ifconfig up
    Done
    
    > thread start
    Done
    
    > state
    child
    Done
    
    > router table
    | ID | RLOC16 | Next Hop | Path Cost | LQ In | LQ Out | Age | Extended MAC     |
    +----+--------+----------+-----------+-------+--------+-----+------------------+
    |  4 | 0x1000 |        8 |         2 |     3 |      3 |   5 | f607098b15760d76 |
    |  8 | 0x2000 |        4 |         2 |     3 |      3 |   3 | 1e1809bd08a51407 |
    | 34 | 0x8800 |       63 |         0 |     0 |      0 |   0 | c68a7a93320e321e |
    
    Done
    
    > ping ff02::1
    > 16 bytes from fe80:0:0:0:1c18:9bd:8a5:1407: icmp_seq=4 hlim=64 time=9ms
    16 bytes from fe80:0:0:0:f407:98b:1576:d76: icmp_seq=4 hlim=64 time=19ms
    
    > ping ff03::1
    > 16 bytes from fdde:ad00:beef:0:0:ff:fe00:1000: icmp_seq=3 hlim=64 time=27ms
    16 bytes from fdde:ad00:beef:0:0:ff:fe00:2000: icmp_seq=3 hlim=64 time=30ms

    Best regards,
    Jørgen

Children
No Data
Related