* Extract out parse_peer
* wip: handle_packet extract
* Extract out active_peers.rs
* wip: rework to struct from free function
* udp_listener working
* wip
* more udp_listener
* tun_device
* wip
* tun_device
* Remove some old commented out stuff
* tidy
* Remove commented out line
* Forward directly on known addr
* Extract out test dev creation
* Extract out RegisteredPeers
* Extract out registered_peers.rs
* Reset main rate limiter on a timer
* Some pedantic clippy
* minor tidy
* Add missing continue
* wireguard: try to have a flow where we parse the public key up front
* Fix bug with continue instead of return in loop
* fix clippy::enum-variant-names
* Initial work on reverse nat
* wip
* Refine key gen
* Rename to wg_tunnel
* Forward packet to peer
* Remove source_addr
* Check if allowed to write to tunnel
* Extract out network_table
* Move map struc definitions to udp_listener
* Delegate ip network table calls
* Fix mac compilation
* Add TunTaskTx type
* Initial experiments with using tun device
* Remove some unused stuff and start tidying
* Match stored peer addr
* Refine comments and names
* Fix deadlock
* Annotate with some more logging
* Tweak log statements in handle_routine
* wip: temp logging
* log to info
* Refine logging
* clippy
* wip
* wip
* Most channels are in place
* tidy
* Send data to tunnel
* wip: adding in boringtun
* Handle timers
* Add consume_wg
* Split into mod
* Reorder
* Comments
* Refine channel handling
* Sort out dependency conflict
* Move wireguard listener in gateway beind a feature flag