Dynamic Loadable Module/Plugin Support
Look into supporting dynamically loadable modules in Suricata (aka plugins). Plugins we may want to support could be:
- inputs (example: pf_ring)
- outputs (example: kafka output)
- detection keywords
- app-layer protocols
Ideally plugins will be written in Rust, but I believe for Rust to load a dynamic module it has to follow a C interface, so in plugins could likely be written in C, Rust, C++, etc.
Also look into the possibility of unwinding panic's provided the plugin was written in Rust (see: https://redmine.openinfosecfoundation.org/issues/3333)