1. Overview
NFQUEUE interface. Declares packet metadata, allow/drop verdicts, callback decisions and queue lifecycle management.
The original source path is:
include/bsc/netfilter/NFQueue.hpp
2. Role in the Daemon
This file participates in the privileged BastionGuard Secure Connection daemon. It uses the shared bsc models and follows the daemon-wide fallback strategy: optional high-fidelity backends are used when available, while portable polling or stub behavior preserves service startup.
3. Namespaces
bsc::netfilter
4. Dependencies and Included Interfaces
bsc/model/Connection.hppatomiccstdintfunctionalmemoryoptionalstring
5. Declared Types
enum class Verdictstruct PacketInfostruct Decisionclass NFQueueclass Impl
6. State and Data Members
The interface declares the following relevant state members:
bsc::model::Connection connectionclass Implstd::unique_ptr<Impl> impl_
7. API and Functions
The file declares or implements the following callable entry points:
bool open(std::uint16_t queue_id, Handler handler)void close()bool available()NFQueue()
8. External Resources and Protocol Values
Relevant paths, endpoints, command names or policy values referenced by this file include:
bsc/model/Connection.hpp
9. Concurrency and Lifecycle
- Uses atomic flags for lifecycle or activity state.
10. Implementation Considerations
- Atomic flags are used for low-cost lifecycle or activity state coordination.
11. Source Metrics
| Metric | Value |
|---|---|
| File size | 1115 bytes |
| Lines | 54 |
| Detected API entries | 4 |
| Detected types | 5 |
