OSPFD.CONF(5) | File Formats Manual | OSPFD.CONF(5) |
ospfd.conf
— Open
Shortest Path First daemon configuration file
The ospfd(8) daemon implements the Open Shortest Path First protocol version 2 as described in RFC 2328.
The ospfd.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/ospfd.sub.conf"
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,
area
, interface
, or
hello-interval
). Macros are not expanded inside
quotes.
For example:
hi="5" area 0.0.0.0 { interface em0 { hello-interval $hi } }
The same can be accomplished by specifying the hello-interval globally or within the area declaration.
All interface related settings can be configured globally, per area and per interface. The only settings that can be set globally and not overruled are listed below.
fib-update
(yes
|no
)no
, do not update the Forwarding
Information Base, a.k.a. the kernel routing table. The default is
yes
. Setting fib-update
to
no
will implicitly set the
stub
router
option to
ensure that no traffic tries to transit via this router.
rdomain
tableidno
] redistribute
(static
|connected
|default
)
[set ...
]
[depend on
interface]no
] redistribute
prefix [set ...
]
[depend on
interface]no
] redistribute rtlabel
label [set ...
]
[depend on
interface]connected
, routes to directly attached
networks will be announced over OSPF. If set to
static
, static routes will be announced over OSPF.
If set to default
, a default route pointing to
this router will be announced over OSPF. It is possible to specify a
network range with prefix; networks need to be part
of that range to be redistributed. Additionally it is possible to
redistribute based on route labels using the
rtlabel
keyword. By default no additional routes
will be announced over OSPF.
redistribute
statements are evaluated
in sequential order, from first to last. The first matching rule decides
if a route should be redistributed or not. Matching rules starting with
no
will force the route to be not announced. The
only exception is default
, which will be set no
matter what, and additionally no
cannot be used
together with it.
With the depend on
option,
redistributed routes will have a metric of 65535 if the specified
interface is down or in state backup. This is
especially useful on a carp cluster to ensure all traffic goes to the
carp master.
It is possible to set the route metric
and type
for each redistribute rule.
type
is either 1 or 2. The default value for
type
is 1 and for metric
is 100. Setting more than one option needs curly brackets:
redistribute static set { metric 300 type 2 }
The use of redistribute
prefix|rtlabel can result in
higher CPU usage, since
ospfd(8) will need to
process more route updates.
rfc1583compat
(yes
|no
)yes
, decisions regarding AS-external
routes are evaluated according to RFC 2328. The default is
no
.
router-id
addressrtlabel
label external-tag
numberspf-delay
(seconds|msec
milliseconds)spf-holdtime
(seconds|msec
milliseconds)stub
router
(yes
|no
)yes
, all interfaces with active
neighbors will have a metric of infinity. This ensures that the other
routers prefer routes around this router while still being able to reach
directly connected IP prefixes. The stub
router
option is automatically enabled if either
the sysctl(8) variable
net.inet.ip.forwarding is set to a value other than
1 or if the FIB is not coupled.Areas are used for grouping interfaces. All interface-specific parameters can be configured per area, overruling the global settings.
area
addressarea 0.0.0.0 { interface em0 interface em1 { metric 10 } }
Area specific parameters are listed below.
demote
group [count]For more information on interface groups, see the
group
keyword in
ifconfig(8).
stub
[redistribute default
] [set
...
]Each interface can have several parameters configured individually, otherwise they are inherited. An interface is specified by its name. If multiple networks are configured an additional IP address can be supplied. By default the first IP address is used.
interface em0 { auth-type crypt auth-md 1 "yotVoo_Heypp" auth-md-keyid 1 } interface fxp0:192.168.1.3
Interface-specific parameters are listed below.
auth-key
keysimple
authentication. Up to 8 characters can be specified.auth-md
key-id keycrypt
authentication. The valid range for key-id is 0-255.
Up to 16 characters can be specified for key.
Multiple keys may be specified.auth-md-keyid
key-idcrypt
authentication. The valid range for
key-id is 0-255. The default key-id is 1. While
key-id 0 is valid, it is unavailable on various other
implementations.auth-type
(none
|simple
|crypt
)none
.
Simple authentication uses a plaintext password, up to 8 characters. Crypt
authentication uses an MD5 hash.demote
groupdepend
on
interfacefast-hello-interval
msec
millisecondsrouter-dead-time
minimal
, hello packets will be sent using this timer. The default
value is 333; valid range is 50-333 milliseconds.hello-interval
secondsmetric
costpassive
retransmit-interval
secondsrouter-dead-time
(seconds|minimal
)minimal
, the timer is
set to 1 second and hello packets are sent using the interval specified by
fast-hello-interval
. When a neighbor has been
inactive for router-dead-time its state is set to DOWN. Neighbors that
have been inactive for more than 24 hours are completely removed.router-priority
prioritytransmit-delay
secondsThe ospfd.conf
file format first appeared
in OpenBSD 3.7.
July 27, 2018 | OpenBSD-6.4 |