list_devices() shouldn't change in the way it's generated
pre- or post-write so just us a pre-write invoke to get the
list of assignable devices.
Not completely true for weird WLAN case with the parent
assignment but sooner or later we will be able to get rid
of that as well.
o add basic workflow (start/stop/list)
o basic configd actions + implementation in capture.py script
o grid without actions to show current capture jobs
Removes them from get_interface_list() and shows their description
on the assignments page. It's already in the interface name but
we should adhere to consistency in the select box.
* get_interface_list() now excludes wlan parents
* console needs to cope with that change, restructuring
* add wlan device visbility for pluginctl
* use section logic in assignment to match wireless
* during assignment save move i.e. "iwn0" to "iwn0_wlan0"
since the console also does this now so that the firewall
rules expansion is correct
* speed up assignment a little by calling plugins_devices()
only once
* fix 'status' key warning for PHP 8+
It's still debatable if ifctl is a tool to record data
for interfaces and act on it or if the latter part should
be handled by more authorative (interface) code.
Inspired by: https://github.com/opnsense/core/pull/5992
For most purposes adding an IPv4 or IPv6 address already does the
UP/RUNNING thing and DHCP and PPPoE might as well so at the point
when we add the description bring it "up" explicity as well and
remove the later interface_bring_up() call.
For rtsold this is also required and IPv6 device might be different
from main device so add another "up" there and then also follow-up
with another "up" and "description" in case the main device and
IPv6 device differ.
On the overlap cases the duplicated "up" additions do not slow down
the boot.