AeroCoder Logo

Serialization, Routing, and Security

Message routing rules

Target system/component filtering, broadcast addresses, and relay behavior.

MAVLink routing determines which messages a node forwards versus consumes. A routing node (GCS, radio bridge, companion computer) should forward a message if the target_system matches a known system on another link, or if target_system is 0 (broadcast).

Messages without a target (e.g. HEARTBEAT, telemetry streams) are always forwarded to all links. Messages with a specific target_system and target_component are forwarded only to the link where that (sysid, compid) has been seen.

Avoiding loops

A router must never re-emit a message on the same link it arrived from. It should also track (sysid, compid, msgid, sequence) tuples to de-duplicate messages that arrive via redundant paths.

For redundant links (e.g. Wi-Fi + telemetry radio), the receiver should accept the first copy and discard duplicates using the sequence number. The sender is not responsible for link selection — it transmits on all available interfaces.

← Previous

Serialization format

Next →

MAVLink 2 message signing

Edit this page on mavlink.io ↗

On This Page

Avoiding loops

© 2024 AeroCoder. All rights reserved

TwitterYouTubeInstagram