OSPFv2 Configuration
OSPFv2 component configuration is under the top level ospfv2
object in /etc/flockd/flockd.json
"ospfv2": {
# RFC2328 1.2 Router ID
# Optional: If not specified highest IPv4 Address is used.
"router_id": "String in dotted decimal format"
# Array of 'redistribute' objects
"redistribute": [
{
# Origin of the Routes in the RIB to be redistributed
"origin": ["kernel-static" | "kernel-connected"],
# RFC2328 2.3 Type 1 / Type 2 external metrics
"metric_type": [ 1 | 2 ],
# OSPF metric to reach redistributed routes, from this router.
# RFC2328 B. LSInfinity => 16777215
"metric": ( 0..16777215 )
},
],
# OSPFv2 Area level configuration
# -------------------------------
[[area]] # Array of 'area' objects
"area": [
{
# RFC2328 C.2 Area ID
"area_id": "String in dotted decimal format",
# OSPFv2 Interface level configuration
# ------------------------------------
"intf": [
{
# Specify the entire interface name i.e. "eno1"
# or use ^ to match the start of interface names
# e.g. "^en" will match all interfaces that start with "en"
"name": "Interface Name",
# RFC2328 C.3 Interface output cost
# Optional: Default is 10
"cost": ( 1..65,535 ),
# RFC2328 C.3 Router Priority
# Optional: Default is 1
"priority": ( 0..255 ),
# RFC2328 C.3 HelloInterval
# Optional: Default is 10s
"hello_interval": ( 1..65,535 seconds),
# RFC2328 C.3 RouterDeadInterval
# Optional: Default is 40s
"dead_interval": ( 1..65,535 seconds),
}
]
}
]
}
Example Exhaustive OSPFv2 Configuration
"ospfv2": {
"router_id": "10.0.1.100",
"redistribute": [
{
"metric": 100,
"metric_type": 1,
"origin": "kernel-static"
},
{
"metric": 1000,
"metric_type": 2,
"origin": "kernel-connected"
}
],
"area": [
{
"area_id": "0.0.0.0",
"intf": [
{
"cost": 20,
"dead_interval": 4,
"hello_interval": 1,
"name": "enp7s0",
"priority": 10
},
{
"cost": 40,
"dead_interval": 8,
"hello_interval": 2,
"name": "enp8s0",
"priority": 20
}
]
},
{
"area_id": "0.0.0.1",
"intf": [
{
"cost": 30,
"dead_interval": 80,
"hello_interval": 20,
"name": "enp9s0",
"priority": 30
}
]
}
]
}