We should trust the "other type" create/drop to handle the interface itself and interface_bring_down() should only unconfigure it, so possible parent/child interfaces won't break for no reason.
Fixes part of https://github.com/opnsense/core/issues/1709
We have a function pair rrd_import() / rrd_export() now, which do
wildly different things even though they've been used for a single
purpose:
(1) rrd_export() writes a string, appends it to the config.xml
(2) rrd_import() takes a parsed config portion, but not as an
argument, rather as a global config element
(3) There was also an older backup clue which exported files, but
simply packed them up for restore after boot
If we can get the system to unify the usage we'll end up with a
neat way of backing, restoring and migrating RRD data, although
I'm not sure if this can be fully compatible with the old files.
This is the glue needed to be entirely plugin-agnostic, it only
needs new hooks for spots we haven't pluginified yet. The dns
subsystem is another likely candidate in the long run.
Allows to move these plugins away from core: bsnmpd, igmpproxy,
relayd, miniupnpd. ACL and menu entries pending...
o consolidate "unbound_" prefix for unbound.inc for pluginification
o services.inc includes unbound.inc rightfully, a bit like a
plugin would do in the future, but this also means we can
zap all requires from top pages, which are entirely spurious.
o get_dns_servers() moves to system.inc because it is used by
status_interfaces.php
o RIP read_hosts()
The console would refuse to assign an IP that was used by the
PPTP or L2TP server (surprisingly not PPPoE). This rule changed
during the MPD4 -> MDP5 migration, so remove that code. Also,
the subnet check was never executed, good time to remove it as
well.
... Ad already annotated a few spots, the whole thing is beyond
repair and I dread extending it to PPP and others which has been
asked for a few times now. We will have to find another way.
To paraphrase Star Trek: He's dead, Jim.
The upside is that the cron config items are flushed by default
now, later we can remove this as we don't care what is in that
unused config section anyway.
The original script is from 2005 and most newer ath(4) drivers do not
even support it. One can still set the sysctls individually anyway,
it's highly likely you know the hardware when you're trying to set
this up in the first place...
See also: https://wiki.freebsd.org/dev/ath(4)
It only makes debugging harder as our translations are being
completed one after the other. Also has the positive side-
effect of freeing a few hard-to-do translations in the process.