NHDP Plugin

From OLSR.org Wiki
Jump to: navigation, search

The NHDP Plugin is a dualstack and multitopology capable implementation of IETF RFC 6130: Neighborhood Discovery Protocol (NHDP).

The plugin contains the necessary API calls to integrate Link Hysteresis, Metrics and Multipoint Relay (MPR) capability into the NHDP core.

Metrics and MPR logic are defined in RFC 7181, but they mostly change the behavior of NHDP so their functionality was integrated into this plugin.

The dualstack optimization code was developed by Henning Rogge and has been sent to the IETF Manet WG as a private draft.

The multitopology implementation is compliant to the IETF Manet WG draft (which should become a RFC soon).


The NHDP plugin adds two configuration sections named domain and interface.

Domain section

The plugin defines the domain configuration section with two settings. Domain is a named section with the name defining the number of the multitopology domain, starting with zero.

The default name of this section is "0".

Key Default Type Limits
metric * string
mpr * string

metric defines the name of the metric for this domain. "*" means NHDP just selects the first metric available, "-" means NHDP uses hopcount metric.

mpr defines the name of the MPR algorithm for this domain. "*" means NHDP just selects the first mpr algorithm available, "-" means NHDP selects every neighbor as a MPR.

Interface section

The plugin adds three settings to the interface configuration section.

Key Default Type Limits
ifaddr_filter -, -::1, default_accept ACL ipv4, ipv6
hello_validity 20.0 clock >=0.1
hello_interval 2.0 clock >=0.1

ifaddr_filter defines the IP addresses that are allowed to NHDP interface addresses.

hello_validity defines the time the local HELLO messages will be valid for the neighbors.

hello_interval defines the time between two HELLO messages on the interface.