Flock Networks devices are designed to be run with a minimal uniform configuration. This is achieved by making each protocols configuration simple and generic, and allowing the device to auto configure. Specific configuration is supported so that devices can be RFC compliant, but users are encouraged to have as little device specific configuration as possible. Interface specific configuration is strongly discouraged.
This is the default OSPFv2 configuration shipped with Version 20.0. The Flock Routing Suite is designed for scale, you will not need multiple OSPF areas. (If you are adding a device to an existing multi-area OSPF AS, multiple areas are fully supported, please see Appendix A: Configuration Reference).
cat /etc/flockrsd/ospfv2.toml [ospf_v2] # Place all ethernet interfaces into area 0.0.0.0 [[ospf_v2.area]] area_id = "0.0.0.0" [[ospf_v2.area.intf]] # Match any interfaces that have name starting with "en" name = "^en"
You may wish to redistribute static routes from the RIB into OSPFv2.
[[ospf_v2.redistribute]] origin = "kernel-static" metric_type = 2 metric = 1000
By design, just configuring redistribution will not make the router an ASBR. The router will only become an ASBR if it actually has some routes to redistribute. This means the OSPF configuration can be kept the same on each router in the AS.
As a minimum we may want a default route added to the kernel of each ASBR router. This route will appear in the RIB and then be redistributed into OSPFv2. OSPFv2 will advertise this route across the AS, so all nodes learn the route to exit the network. Static routes are added using the Linux command line.
# ip route add 0.0.0.0/0 via 192.168.122.171 dev enp9s0
Logging can be viewed using journalctl
$ journalctl -u flockrsd --boot
[INFO] is used for expected events of note
[INFO flockrsd] START: PID 385 Compile Mode Release Log Level "debug" [INFO flockrsd::os_intf] Update IntfId(2)] Broadcast Mtu(1500) Up  event DownToUp [INFO flockrsd::ospf_intf] IntfId(2), 10.0.1.168/24 state change Wait -> DrOther [INFO flockrsd::ospf_neigh] RouterId(10.0.100.3), V4(10.0.1.152) neigh state change Loading -> Full
[WARN] is used for unexpected events signalled from outside the router. It is normal to see warnings whilst the network is converging. Warnings should never be seen after the network has converged and remains stable.
[WARN flockrsd::ospf_neigh] RouterId(10.0.100.2), V4(10.0.3.157) neigh state change Full -> Down
[ERROR] is used for unexpected events signalled from inside the router. These are never expected to be seen and indicate a bug. Please email a bug report to:
[DEBUG] is used for common expected events.
[TRACE] is used for very common expected events.
The default log level can be changed by setting the
RUST_LOG environment variable in the flockrsd systemd service file.
Supported log levels in descending order of importance are
grep RUST_LOG /lib/systemd/system/flockrsd.service Environment=RUST_LOG="info"
When the systemd service file has changed, systemd needs to be told to reload the new flockrsd configuration.
# systemctl daemon-reload
To enable the new log level, flockrsd needs to be restarted.
# service flockrsd restart