opnsense_bootgrid - rewire loaded.rs.jquery.bootgrid to renderComplete event, but push it forward until no new events are fired within 200ms. closes https://github.com/opnsense/core/issues/9362
Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature (#9354)
* Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature
This splits the Neighbors menu item in an existing static assignments and adds the automatic discovery feature which includes logging and insights into the currently known hosts on the network. When automatic discovery is disabled, it drops back to arp/ndp.
By default automatic mode is enabled on all interfaces, but configuration options exists (to limit interfaces and networks).
Other consumers which require host mappings can use the /usr/local/opnsense/scripts/interfaces/list_hosts.py script to either fetch the sqlite database or arp/ndp data for the selected pprotocol(s).
More information about the hostwatch daemon is available at https://github.com/opnsense/hostwatch
* Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature (review feedback https://github.com/opnsense/core/pull/9354)
* Interfaces: Neighbors: Automatic Discovery - change list_hosts.py to only query ndp when explicitly asked.
Due to the short timeouts of the ndp entries and the cost of querying them, it's probably best to only support ndp when explicitly asked.
In most cases where we need host data, we currently only support ipv4 anyway, which means a switch to the new entrypoint (list_hosts.py script) should be relatively harmless.
* Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature (review feedback https://github.com/opnsense/core/pull/9354)
Interfaces: Neighbors: Automatic Discovery - change list_hosts.py to only query ndp when explicitly asked.
Due to the short timeouts of the ndp entries and the cost of querying them, it's probably best to only support ndp when explicitly asked.
In most cases where we need host data, we currently only support ipv4 anyway, which means a switch to the new entrypoint (list_hosts.py script) should be relatively harmless.
Firewall: Rules [new] - split search logic and normalize legacy output, closes https://github.com/opnsense/core/pull/9346
The search filter logic is quite difficult to read, in order to improve readability, move various data formatting actions into their own methods.
system: rework previous again to align with the other code
Only define to null if not set and use it directly. The actual
interface configuration is already stored and so is 'if' but since
it may be accessed in error cases it's nicer to enforce that the
key exists like is the case with ipaddr(v6).