# Rebroadcast Mode: ALL_SKIP_DECODING

The rebroadcast mode controls how a node handles incoming packets for retransmission. For repeater deployments, `ALL_SKIP_DECODING` is strongly recommended. Note that `ALL_SKIP_DECODING` is only available when the device role is REPEATER - on any other role (including ROUTER) the setting behaves as `ALL`. If your node uses the ROUTER role, use rebroadcast mode `ALL` instead.

## What ALL\_SKIP\_DECODING does

In this mode, the node rebroadcasts valid LoRa packets without attempting to decode or decrypt them. This mode is only available when `device.role` is REPEATER. It has several important advantages:

- **Lower CPU usage and power draw** - the node skips the packet-decoding/duplicate-check processing entirely, and it never decrypts or re-encrypts payloads
- **Relays channels whose key it does not have** - Meshtastic relays based on the unencrypted packet header, so a repeater forwards packets on any channel that shares its modem settings (preset/frequency), even private channels whose pre-shared key (PSK) - the encryption key that secures a private channel - the repeater does not hold. This lets one public repeater carry traffic for multiple user groups, provided they are all on the same modem preset.
- **Preserves end-to-end encryption** - messages are never decrypted at the repeater; the original encrypted packet is forwarded unchanged, maintaining the security model
- **Faster retransmission** - less processing time per packet means faster relay

## Setting ALL\_SKIP\_DECODING via app

1. Connect to your device in the [Meshtastic app](https://wiki.meshamerica.com/books/hardware-guide/page/meshtastic-app)
2. Make sure the device role is set to REPEATER first - the `ALL_SKIP_DECODING` option only applies on the REPEATER role
3. Go to **Settings → Device**
4. Find **Rebroadcast Mode** and select **ALL\_SKIP\_DECODING**
5. Save and allow the device to reboot

## Setting ALL\_SKIP\_DECODING via CLI

```
meshtastic --set device.rebroadcast_mode ALL_SKIP_DECODING
```

This is only valid when `device.role` is REPEATER. The setting lives under the `device.` namespace, not `lora.`

## Other rebroadcast modes (for reference)

<table id="bkmrk-modebehavioruse-case"><thead><tr><th>Mode</th><th>Behavior</th><th>Use case</th></tr></thead><tbody><tr><td>`ALL_SKIP_DECODING`</td><td>Rebroadcasts without decoding or decrypting</td><td>Recommended for all repeater deployments; requires REPEATER role</td></tr><tr><td>`ALL`</td><td>Processes/validates packets (including duplicate detection) before rebroadcasting the original encrypted packet; does not decrypt or re-encrypt payloads</td><td>Default; used on ROUTER and other roles that should relay</td></tr><tr><td>`LOCAL_ONLY`</td><td>Does not relay to other nodes</td><td>Not suitable for repeaters</td></tr><tr><td>`NONE`</td><td>No rebroadcasting (only permitted for SENSOR/TRACKER/TAK\_TRACKER roles)</td><td>Not suitable for repeaters</td></tr></tbody></table>