FreeBSDDriver (`freebsd`) and OpenBSDDriver (`openbsd`) on a shared
BsdDriver, for the BSD VMs netOrk provisions and BSD hosts added by hand
(NetOrk/netork#798).
- SSH over exec channels (napalm-device-types' run_on_transport): no PTY,
stdout and stderr apart, real exit codes; run_command()/open_stream()
are public. Root through `sudo -S` with the password on stdin, or
`sudo -n` without one.
- Facts: hostname, release and running kernel (freebsd-version / uname),
hardware from SMBIOS (kenv) or hw.* sysctls, uptime from kern.boottime.
- Interfaces and addresses (ifconfig -a: ether/lladdr, hex netmasks,
scoped IPv6), routes (netstat -rn, OpenBSD's abbreviated networks
written out, host/broadcast/loopback entries left out), ARP (FreeBSD's
sentences, OpenBSD's table), users and groups, processes (lstart read as
one five-word field), cron jobs (system crontab and the login user's).
- Parsers are pure functions, tested on output recorded from FreeBSD 15.1
(hand-installed and cloud image) and OpenBSD 7.9 (NetOrk/netork#793),
with internal addresses replaced by documentation ranges.