LDPD.CONF(5)

NAME
ldpd.conf - Label Distribution Protocol daemon configuration file

DESCRIPTION
The ldpd(8) daemon implements the Label Distribution Protocol as described in RFC 5036.

SECTIONS
The ldpd.conf config file is divided into six main sections.

Macros
    User-defined variables may be defined and used later, simplifying the configuration file.

Global Configuration
    Global settings for ldpd(8).

Interfaces Configuration
    Interface-specific parameters.

Targeted Neighbors Configuration
    Targeted neighbor specific parameters.

Neighbors Configuration
    Neighbor-specific parameters.

Layer 2 VPNs Configuration
    Layer 2 VPNs parameters as per RFC 4447.

MACROS
Much like cpp(1) or m4(1), macros can be defined that will later be expanded in context. Macro names must start with a letter, digit, or underscore, and may contain any of those characters. Macro names may not be reserved words (for example, cost). Macros are not expanded inside quotes.

For example:

    hi="2"
    interface em0 {
    	cost $hi
    }

GLOBAL CONFIGURATION
All interface related settings can be configured globally and per interface. The only settings that can be set globally and not overruled are listed below.

    fib-update (yes|no) If set to no, do not update the Label Forwarding Information Base, a.k.a. the kernel routing table. The default is yes.

router-id address
    Set the router ID; in combination with labelspace it forms the LSR-ID.

keepalive seconds
    Set the keepalive timeout in seconds. The default value is 180; valid range is 1-65535.

    targeted-hello-accept (yes|no) If set to yes, allow LDP sessions to be established with remote neighbors that have not been specifically configured. The default is no.

INTERFACES
Each interface can have several parameters configured individually, otherwise they are inherited.

    interface em0 {
    }

Interface-specific parameters are listed below.

link-hello-holdtime seconds
    Set the hello holdtime in seconds. The maximum time ldpd(8) will wait between two consecutive hello messages from a peer before it is marked as being down. The default value is 15.

link-hello-interval seconds
    Set the hello interval in seconds. The default value is 5; valid range is 1-65535.

TARGETED NEIGHBORS
Each targeted neighbor can have several parameters configured individually, otherwise they are inherited.

    targeted-neighbor A.B.C.D {
    }

Targeted-neighbor specific parameters are listed below.

targeted-hello-holdtime seconds
    Set the hello holdtime in seconds. The maximum time ldpd(8) will wait between two consecutive hello messages from a peer before it is marked as being down. The default value is 45.

targeted-hello-interval seconds
    Set the hello interval in seconds. The default value is 5; valid range is 1-65535.

NEIGHBORS
The neighbor section allows for the configuration of neighbor-specific parameters. Note, however, that ldpd(8) uses the hello discovery mechanism to discover its neighbors. Without an underlying adjacency these commands have no effect.

    neighbor A.B.C.D {
    }

Neighbor-specific parameters are listed below.

password secret
    Enable TCP MD5 signatures per RFC 5036.

LAYER 2 VPNS
ldpd(8) implements the signaling of pseudowires which can be used to implement either the VPWS solution (also known as PWE3) or the VPLS solution. Currently only the VPLS solution is supported.

    l2vpn name type vpls {
            bridge bridge0
            interface em1
            pseudowire mpw1 {
                    pw-id 100
                    neighbor 192.168.1.10
            }
            pseudowire mpw2 {
                    pw-id 200
                    neighbor 10.0.1.5
            }
    }

Layer 2 VPN specific parameters are listed below.

    type (ethernet|ethernet-tagged) Specify the type of the configured pseudowires. The type must be the same at both endpoints. The default is ethernet.

mtu number
    Set the MTU advertised in the pseudowires. Local and remote MTUs must match for a pseudowire to be set up. The default value is 1500.

bridge interface
    Set the bridge interface the VPLS is associated with. This parameter is optional and is only used to remove MAC addresses received from MAC address withdrawal messages. Only one bridge interface can be set.

interface interface
    Configure a non pseudowire interface pertaining to the VPLS. This parameter is optional and is only used to send MAC address withdrawal messages when the specified interface is shutdown. Multiple interfaces can be configured.

PSEUDOWIRES
Each mpw(4) pseudowire interface can have several parameters configured individually, otherwise they are inherited. A pseudowire interface is specified by its name.

    pseudowire mpw5 {
    	pw-id 5000
    	neighbor 172.16.1.50
    }

Pseudowire-specific parameters are listed below.

neighbor address
    Specify the endpoint of the pseudowire on the remote PE router. A targeted neighbor will automatically be created for this address.

pw-id number
    Set the PW ID used to identify the pseudowire. The PW ID must be the same at both endpoints. Valid range is 1-4294967295.

    status-tlv (yes|no) Specify whether the use of the Status TLV is preferred or not preferred. The default is yes.

    control-word (yes|no) Specify whether the use of the control word is preferred or not preferred. The default is yes.

FILES
/etc/ldpd.conf
    ldpd(8) configuration file

SEE ALSO
ldpctl(8), ldpd(8), rc.conf.local(8)

HISTORY
The ldpd.conf file format first appeared in OpenBSD 4.6.