diff --git a/worker/include/dpdk_filter/constants.h b/worker/include/dpdk_filter/constants.h index 78d1ffa..db2c377 100644 --- a/worker/include/dpdk_filter/constants.h +++ b/worker/include/dpdk_filter/constants.h @@ -3,6 +3,8 @@ #include +#define DNS_CACHE_DEFAULT_TTL (7 * 24 * 60 * 60) // 7 дней +#define IP_CACHE_DEFAULT_TTL (7 * 24 * 60 * 60) // 7 дней #define FORWARD_TO_OUT_BURST_SIZE 32 #define MAX_CATEGORIES_BY_TRUST_LVL 64 #define MAX_DOMAINS 64 diff --git a/worker/src/worker.cpp b/worker/src/worker.cpp index bd03edd..3c245fb 100644 --- a/worker/src/worker.cpp +++ b/worker/src/worker.cpp @@ -392,6 +392,12 @@ void Worker::MainLoop() { { std::lock_guard lock(policy_mutex); local_policy = current_policy; + if (local_policy.ttl_domain <= 0) { + local_policy.ttl_domain = DNS_CACHE_DEFAULT_TTL; + } + if (local_policy.ttl_ip <= 0) { + local_policy.ttl_ip = IP_CACHE_DEFAULT_TTL; + } } forward_to_out(port_exception, port_in, queue_number); pakage_processing(port_in, port_out, port_exception, queue_number, nb_pkts,