Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

IP Multicast

A device with this capability sends what it transmits to an IP multicast group on the local network and receives what is sent there. It is one of two kinds:

  • A forwarding device has a LoRa radio and a node beside the group, and advertises CAP_REPEATER. With PROP_MAC_REPEATER_ENABLED set, its node is a bridge between the group and its radio, as Nodes With a LoRa Radio describes; without it, the node sends only its own traffic and its host’s to the group.
  • A virtual radio has no LoRa radio: the group is its PHY, and PROP_PHY_ENABLED turns it on and off.

Configuration belongs to the device domain and is independent of the attached host. Joining the group does not enable Wi-Fi, change IP configuration, or change PROP_MAC_REPEATER_ENABLED.

Capabilities

CAP_LAN_BEARER (63) requires no other capability. It requires PROP_LAN_BEARER_GROUP and PROP_LAN_BEARER_STATE. A forwarding device also requires PROP_LAN_BEARER_ENABLED and PROP_LAN_BEARER_INGRESS_LIMIT, and, with CAP_STATS, the five counters; a virtual radio has none of these.

PROP_LAN_BEARER_ENABLED

Property 4992; Get/Set; BOOL. Defaults to false. A write changes the desired state immediately; it does not wait for the device to join the group.

PROP_LAN_BEARER_GROUP

Property 4993; Get/Set; six octets: an IPv4 address in network order, followed by a UINT16 port. Defaults to 239.255.134.121 port 15056. An address in 224.0.0.0/4 is a multicast group; any other is the peer of a point-to-point link. A write of an empty value returns it to the default; a read always reports the group in effect. A write of 0.0.0.0, 255.255.255.255, a zero port, or any other length is refused with STATUS_INVALID_ARGUMENT.

PROP_LAN_BEARER_INGRESS_LIMIT

Property 4994; Get/Set; UINT16. The most group receptions per minute the device hands to its node; see Ingress Limit. Defaults to 120. A write of an empty value returns it to the default; a read always reports the limit in effect. Zero is invalid. The device MAY admit a short burst above the rate after a quiet interval.

PROP_LAN_BEARER_STATE

Property 4995; Get/Is; UINT8. Read-only. Changes are announced to the attached host.

ValueMeaning
0Disabled: membership in the group, or a virtual radio’s PHY, is off
1Active: joined to the group and carrying frames
2No network: enabled, with no IPv4 network to join the group on

While the state is not Active, nothing is sent to the group.

Counters

On a forwarding device under CAP_STATS, with the semantics of the other statistics: cumulative UINT32_LE values, reset by writing four zero octets.

PropertyNameCounts
4845PROP_STAT_LAN_RXDatagrams handed to the node
4846PROP_STAT_LAN_RX_LIMITEDDatagrams dropped by the ingress limit, or because the node had not yet taken earlier ones
4847PROP_STAT_LAN_RX_MALFORMEDDatagrams dropped as empty, oversized, or of no recognized protocol
4848PROP_STAT_LAN_EXPORTEDTransmitted frames queued for the group
4849PROP_STAT_LAN_EXPORT_DROPPEDQueued frames discarded before they could be sent

Persistence and lifecycle

The configuration properties a device has are saved by CMD_SAVE in the device snapshot. A group or ingress limit at its default is saved as the default, not as its value, so that the device follows the default of whatever firmware it later runs. CMD_CLEAR erases saved configuration without changing live configuration; CMD_RST follows the normal saved-state restore rules. Attach and detach do not change these properties or interrupt membership in the group. Authorized mesh administrators may write them through the existing device-management binding.

Changing the group leaves the old one and joins the new one. Losing the network discards frames waiting to be sent, and the device rejoins the group when the network returns.

Virtual Radios

A virtual radio’s physical layer is the group rather than a LoRa radio: what it transmits is sent to the group, and what it receives is every datagram from the group, delivered to its host with no measurements. Its host is a node in the group.

A virtual radio uses no identifiers of its own. It declares CAP_LAN_BEARER and the host-side capabilities a companion radio does—the raw stream, host filters and keys, auto-acknowledgment, the inbound queue, and saved state—and none of the repeater, Wi-Fi, or hardware ones, since it has no node. It needs no device identity: what it sends to the group is its host’s. Its radio properties describe a LoRa channel it does not itself transmit on; their values set the frame time the host’s MAC times against.