LDPD.CONF(5) | File Formats Manual | LDPD.CONF(5) |
ldpd.conf
— Label
Distribution Protocol daemon configuration file
The ldpd(8) daemon implements the Label Distribution Protocol as described in RFC 5036.
The ldpd.conf
config file is divided into
the following main sections:
Argument names not beginning with a letter, digit, or underscore must be quoted.
Additional configuration files can be included with the
include
keyword, for example:
include "/etc/ldpd.sub.conf"
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, neighbor
). Macros are
not expanded inside quotes.
Several settings can be configured globally or within a more restricted scope, like per address-family or per interface. The only settings that can be set globally and not overruled are listed below.
ds-cisco-interop
(yes
|no
)yes
, Cisco non-compliant format will be
used to send and interpret the Dual-Stack capability TLV. The default is
no
.
fib-update
(yes
|no
)no
, do not update the Label Forwarding
Information Base, a.k.a. the kernel routing table. The default is
yes
.
rdomain
tableidrouter-id
addresstcp md5sig
password
secret
[lsr-id[/prefix]]tcp md5sig
key
secret
[lsr-id[/prefix]]no tcp
md5sig
[lsr-id[/prefix]]tcp md5sig password mekmitasdigoat 192.168.0.0/24 no tcp md5sig 192.168.0.25
transport-preference
(ipv4
|ipv6
)ipv6
.Each address-family can have several parameters configured individually, otherwise they are inherited.
address-family ipv6 { explicit-null yes transport-address 2001:db8::50 interface em0 }
explicit-null
(yes
|no
)yes
, advertise explicit-null labels in
place of implicit-null labels for directly connected prefixes. The default
is no
.
gtsm-enable
(yes
|no
)yes
,
ldpd(8) will use the GTSM procedures
described in RFC 6720 (for the IPv4 address-family) and RFC 7552 (for the
IPv6 address-family).
Since GTSM is mandatory for LDPv6, the only effect of disabling GTSM for the IPv6 address-family is that ldpd(8) will not discard packets with a hop limit below 255. This may be necessary to interoperate with older implementations. Outgoing packets will still be sent using a hop limit of 255 for maximum compatibility.
If GTSM is enabled, multi-hop neighbors should have either
GTSM disabled individually or configured with an appropriate gtsm-hops
distance. The default is yes
.
keepalive
secondstargeted-hello-accept
(yes
|no
)yes
, allow LDP sessions to be
established with remote neighbors that have not been specifically
configured. The default is no
.
transport-address
addressEach interface can have several parameters configured individually, otherwise they are inherited.
address-family ipv4 { interface em0 { link-hello-holdtime 9 link-hello-interval 3 } }
Interface-specific parameters are listed below.
link-hello-holdtime
secondslink-hello-interval
secondsEach targeted neighbor can have several parameters configured individually, otherwise they are inherited.
address-family ipv4 { targeted-neighbor A.B.C.D { targeted-hello-holdtime 90 targeted-hello-interval 10 } } address-family ipv6 { targeted-neighbor 2001:db8::1 }
Targeted-neighbor specific parameters are listed below.
targeted-hello-holdtime
secondstargeted-hello-interval
secondsThe 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. A neighbor is identified by its LSR-ID, not by its remote
address. The neighbor-specific parameters apply for both LDPoIPv4 and
LDPoIPv6 sessions.
neighbor A.B.C.D { }
Neighbor-specific parameters are listed below.
keepalive
secondsgtsm-enable
(yes
|no
)gtsm-hops
hopstcp md5sig
password
secrettcp md5sig
key
secretno tcp
md5sig
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-id 192.168.1.10 } pseudowire mpw2 { pw-id 200 neighbor-id 10.0.1.5 } }
Layer 2 VPN specific parameters are listed below.
bridge
interfaceinterface
interfacemtu
numbertype
(ethernet
|ethernet-tagged
)ethernet
.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-id 172.16.1.50 }
Pseudowire-specific parameters are listed below.
control-word
(yes
|no
)yes
.neighbor-addr
addressneighbor-id
addresspw-id
numberstatus-tlv
(yes
|no
)yes
.The ldpd.conf
file format first appeared
in OpenBSD 4.6.
May 16, 2020 | OpenBSD-current |