ebpf-blocker 1.0.0
XDP-based packet blocker using eBPF
Loading...
Searching...
No Matches
main.h
Go to the documentation of this file.
1/// \file main.h
2/// \brief Конфигурация и глобальное состояние eBPF Blocker.
3
4#ifndef MAIN_H
5#define MAIN_H
6
7#include <atomic>
8#include <string>
9
10/// Конфигурация приложения, полученная из аргументов командной строки.
11struct Config {
12 std::string iface = "eth0"; ///< Сетевой интерфейс для прикрепления XDP.
13 std::string db_path =
14 "/var/lib/ebpf-blocker/blocked.db"; ///< Путь к SQLite-базе данных.
15 std::string whitelist_conf =
16 "/etc/ebpf-blocker/whitelist.conf"; ///< Файл конфигурации белого списка.
17 std::string metrics_listen = "0.0.0.0:9101"; ///< Адрес HTTP-сервера метрик.
18 int interval_sec = 60; ///< Интервал опроса БД в секундах.
19};
20
21/// Глобальный флаг: false запускает graceful shutdown.
22extern std::atomic<bool> g_running;
23/// Глобальный флаг: true когда XDP-программа прикреплена к интерфейсу.
24extern std::atomic<bool> g_xdp_attached;
25/// Глобальный флаг: true когда SIGUSR1 запросил detach XDP.
26extern std::atomic<bool> g_detach_requested;
27
28#endif
std::atomic< bool > g_xdp_attached
Глобальный флаг: true когда XDP-программа прикреплена к интерфейсу.
Definition main.cpp:31
std::atomic< bool > g_detach_requested
Глобальный флаг: true когда SIGUSR1 запросил detach XDP.
Definition main.cpp:32
std::atomic< bool > g_running
Глобальный флаг: false запускает graceful shutdown.
Definition main.cpp:30
Конфигурация приложения, полученная из аргументов командной строки.
Definition main.h:11
std::string metrics_listen
Адрес HTTP-сервера метрик.
Definition main.h:17
std::string iface
Сетевой интерфейс для прикрепления XDP.
Definition main.h:12
std::string whitelist_conf
Файл конфигурации белого списка.
Definition main.h:15
int interval_sec
Интервал опроса БД в секундах.
Definition main.h:18
std::string db_path
Путь к SQLite-базе данных.
Definition main.h:13