Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated diagramms

Summary

...

Code Block
/interface mesh

HWMP+ is a MikroTik specific layer-2 routing protocol for wireless mesh networks. It is based on Hybrid Wireless Mesh Protocol (HWMP) from IEEE 802.11s draft standard. It can be used instead of (Rapid) Spanning Tree protocols in mesh setups to ensure loop-free optimal routing.

...

Note that the distribution system you use for your network need not to be a Wireless Distribution System (WDS). HWMP+ mesh routing supports not only WDS interfaces , but also Ethernet interfaces inside the mesh. So you can use a simple Ethernet-based distribution system, or you can combine both WDS and Ethernet links!

Note

...

 Prerequisites for this article: you understand what WDS is and why to use it!

Properties

Mesh

PropertyDescription
admin-mac (MAC address; Default: 00:00:00:00:00:00)Administratively assigned MAC address, used when the auto-mac setting is disabled
arp (disabled | enabled | proxy-arp | reply-only; Default: enabled)Address Resolution Protocol setting
auto-mac (boolean; Default: no)If disabled, then the value from admin-mac will be used as the MAC address of the mesh interface; else address of some port will be used if ports are present
hwmp-default-hoplimit (integer: 1..255; Default: )Maximum hop count for generated routing protocol packets; after
a
an HWMP+ packet is forwarded "hoplimit" times, it is dropped
hwmp-prep-lifetime (time; Default: 5m)Lifetime for routes created from received PREP or PREQ messages
hwmp-preq-destination-only (boolean; Default: yes)Whether the only destination can respond to HWMP+ PREQ message
hwmp-preq-reply-and-forward (boolean; Default: yes)Whether intermediate nodes should forward HWMP+ PREQ message after responding to it. Useful only when hwmp-preq-destination-only is disabled
hwmp-preq-retries (integer; Default: 2)How many times to retry a route discovery to a specific MAC address before the address is considered unreachable
hwmp-preq-waiting-time (time; Default: 4s)How long to wait for a response to the first PREQ message. Note that for subsequent PREQs the waiting time is increased exponentially
hwmp-rann-interval (time; Default: 10s)How often to send out HWMP+ RANN messages
hwmp-rann-lifetime (time; Default: 1s)Lifetime for routes created from received RANN messages
hwmp-rann-propagation-delay (number; Default: 0.5)How long to wait before propagating a RANN message. Value in seconds
mesh-portal (boolean; Default: no)Whether this interface is a portal in the mesh network
mtu (number; Default: 1500)Maximum transmission unit size
name (string; Default: )Interface name
reoptimize-paths (boolean; Default: no)Whether to send out periodic PREQ messages asking for known MAC addresses. Turning on this setting is useful if the network topology is changing often. Note that if no reply is received to a
reoptimization
re-optimization PREQ, the existing path is kept anyway (until it timeouts itself)

Port

PropertyDescription
active-port-type (read-only: wireless | WDS | ethernet-mesh | ethernet-bridge | ethernet-mixed; Default: )port type and state actually used
hello-interval (time; Default: 10s)the maximum interval between sending out HWMP+ Hello messages. Used only for Ethernet type ports
interface (interface name; Default: )interface name, which is to be included in a mesh
mesh (interface name; Default: )mesh interface this port belongs to
path-cost (integer: 0..65535; Default: 10)path cost to the interface, used by routing protocol to determine the 'best' path
port-type (WDS | auto | ethernet | wireless; Default: )port type to use
  • auto - port type is determined automatically based on the underlying interface's type
  • WDS - a Wireless Distribution System interface. Remote MAC address is
learnt
  • learned from wireless connection data
  • ethernet - Remote MAC addresses are
learnt
  • learned either from HWMP+ Hello messages or from source MAC addresses in received or forwarded traffic
  • wireless - Remote MAC addresses are
learnt
  • learned from wireless connection data

FDB Status

PropertyDescription
mac-address (MAC address)MAC address corresponding for this FDB entry
seq-number (integer)sequence number used in routing protocol to avoid loops
type (integer)sequence number used in routing protocol to avoid loops
interface (local | outsider | direct | mesh | neighbor | larval | unknown)type of this FDB entry
  • local -- MAC address belongs to the local router itself
  • outsider -- MAC address belongs to a device external to the mesh network
  • direct -- MAC address belongs to a wireless client on an interface that is in the mesh network
  • mesh -- MAC address belongs to a device reachable over the mesh network; it can be either internal or external to the mesh network
  • neighbor -- MAC address belongs to a mesh router that is a direct neighbor to this router
  • larval -- MAC address belongs to an unknown device that is reachable over the mesh network
  • unknown -- MAC address belongs to an unknown device
mesh (interface name)the mesh interface this FDB entry belongs to
on-interface (interface name)mesh port used for traffic forwarding, kind of a next-hop value
lifetime (time)time remaining to live if this entry is not used for traffic forwarding
age (time)age of this FDB entry
metric (integer)a metric value used by routing protocol to determine the 'best' path

Example

Image Modified

This example uses static WDS links that are dynamically added as mesh ports when they become active. Two different frequencies are used: one for AP interconnections, and one for client connections to APs, so the AP must have at least two wireless interfaces. Of course, the same frequency for all connections also could be used, but that might not work as good because of potential interference issues.

...

Protocol description

Reactive mode

Image AddedImage Removed
Router A wants to discover path to C


Image RemovedImage Added

Router C sends unicast response to A

...

This mode is best suited for mobile networks, and/or when most of the communication happens between intra-mesh nodes.

Proactive mode

Image AddedImage Removed
The root announces itself by flooding RANN


Image AddedImage Removed
Internal nodes respond with PREGs

...

Topology change detection

Image AddedImage Removed
Data flow path

Image AddedImage Removed
After link disappears, error is propagated upstream

...

Problematic example 1: Ethernet switch inside a mesh

Image Modified

Router A is outside the mesh, all the rest of the routers are inside. For routers B, C, D all interfaces are added as mesh ports.

...

Consider this (invalid) setup example:

Image Modified

Routers A and B are inside the mesh, router C: outside. For routers A and B all interfaces are added as mesh ports.

...