af_packet: Add FANOUT_CBPF and FANOUT_EBPF

This commit is contained in:
Johanna Amann 2021-05-10 10:52:02 +01:00 committed by Tim Wojtulewicz
parent 79842b25c1
commit e4aa85d2a6
2 changed files with 230 additions and 221 deletions

View file

@ -1,4 +1,3 @@
#include "zeek/zeek-config.h" #include "zeek/zeek-config.h"
#include "AF_Packet.h" #include "AF_Packet.h"
@ -184,9 +183,17 @@ inline uint32_t AF_PacketSource::GetFanoutMode(bool defrag)
switch ( zeek::BifConst::AF_Packet::fanout_mode->AsEnum() ) { switch ( zeek::BifConst::AF_Packet::fanout_mode->AsEnum() ) {
case BifEnum::AF_Packet::FANOUT_CPU: fanout_mode = PACKET_FANOUT_CPU; case BifEnum::AF_Packet::FANOUT_CPU: fanout_mode = PACKET_FANOUT_CPU;
break; break;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0) #ifdef PACKET_FANOUT_QM
case BifEnum::AF_Packet::FANOUT_QM: fanout_mode = PACKET_FANOUT_QM; case BifEnum::AF_Packet::FANOUT_QM: fanout_mode = PACKET_FANOUT_QM;
break; break;
#endif
#ifdef PACKET_FANOUT_CBPF
case BifEnum::AF_Packet::FANOUT_CBPF: fanout_mode = PACKET_FANOUT_CBPF;
break;
#endif
#ifdef PACKET_FANOUT_EBPF
case BifEnum::AF_Packet::FANOUT_EBPF: fanout_mode = PACKET_FANOUT_EBPF;
break;
#endif #endif
default: fanout_mode = PACKET_FANOUT_HASH; default: fanout_mode = PACKET_FANOUT_HASH;
break; break;

View file

@ -7,6 +7,8 @@ enum FanoutMode %{
FANOUT_HASH, # PACKET_FANOUT_HASH FANOUT_HASH, # PACKET_FANOUT_HASH
FANOUT_CPU, # PACKET_FANOUT_CPU FANOUT_CPU, # PACKET_FANOUT_CPU
FANOUT_QM, # PACKET_FANOUT_QM FANOUT_QM, # PACKET_FANOUT_QM
FANOUT_CBPF, # PACKET_FANOUT_CBPF
FANOUT_EBPF, # PACKET_FANOUT_EBPF
%} %}
const buffer_size: count; const buffer_size: count;