mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Move IP and IP tunnel code from Sessions into packet analyzers
This commit is contained in:
parent
69da2d7b1d
commit
1cf251d1ca
53 changed files with 1226 additions and 907 deletions
|
@ -36,6 +36,7 @@ extern "C" {
|
|||
#include "iosource/PktDumper.h"
|
||||
#include "plugin/Manager.h"
|
||||
#include "broker/Manager.h"
|
||||
#include "packet_analysis/Manager.h"
|
||||
|
||||
extern "C" {
|
||||
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
|
||||
|
@ -209,11 +210,8 @@ void expire_timers()
|
|||
zeek::detail::max_timer_expires - current_dispatched);
|
||||
}
|
||||
|
||||
void dispatch_packet(const Packet* pkt)
|
||||
void dispatch_packet(Packet* pkt, iosource::PktSrc* pkt_src)
|
||||
{
|
||||
if ( ! pkt->l2_valid )
|
||||
return;
|
||||
|
||||
double t = run_state::pseudo_realtime ? check_pseudo_time(pkt) : pkt->time;
|
||||
|
||||
if ( ! zeek_start_network_time )
|
||||
|
@ -224,6 +222,12 @@ void dispatch_packet(const Packet* pkt)
|
|||
event_mgr.Enqueue(network_time_init, Args{});
|
||||
}
|
||||
|
||||
current_iosrc = pkt_src;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
current_pktsrc = pkt_src;
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
// network_time never goes back.
|
||||
update_network_time(zeek::detail::timer_mgr->Time() < t ? t : zeek::detail::timer_mgr->Time());
|
||||
processing_start_time = t;
|
||||
|
@ -249,7 +253,7 @@ void dispatch_packet(const Packet* pkt)
|
|||
}
|
||||
}
|
||||
|
||||
sessions->NextPacket(t, pkt);
|
||||
packet_mgr->ProcessPacket(pkt);
|
||||
event_mgr.Drain();
|
||||
|
||||
if ( sp )
|
||||
|
@ -264,6 +268,12 @@ void dispatch_packet(const Packet* pkt)
|
|||
|
||||
if ( pseudo_realtime && ! first_wallclock )
|
||||
first_wallclock = util::current_time(true);
|
||||
|
||||
current_iosrc = nullptr;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
current_pktsrc = nullptr;
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
void run_loop()
|
||||
|
@ -468,7 +478,10 @@ bool is_processing_suspended() { return _processing_suspended; }
|
|||
} // namespace zeek::run_state
|
||||
|
||||
// Remove all of these in v4.1.
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
zeek::iosource::PktSrc*& current_pktsrc = zeek::run_state::detail::current_pktsrc;
|
||||
#pragma GCC diagnostic pop
|
||||
zeek::iosource::IOSource*& current_iosrc = zeek::run_state::detail::current_iosrc;
|
||||
zeek::iosource::PktDumper*& pkt_dumper = zeek::run_state::detail::pkt_dumper;
|
||||
bool& have_pending_timers = zeek::run_state::detail::have_pending_timers;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue