<div dir="ltr">Hi.<div><br></div><div>I'm having trouble running Suricata and I think it might be due to VLAN tagging.</div><div><br></div><div>The environment has a different VLAN for each direction of traffic so the standard PF_RING clustering mode is not suitable.</div>
<div><br></div><div>I patched runmode-pfring.c and source-pfring.h to allow a different cluster_type of "cluster_flow_5_tuple"; this setting uses PF_RINGs "cluster_per_flow_5_tuple" defined in kernel/linux/pf_ring.h.  Those patches are attached to this email.</div>
<div><br></div><div style>Before this change I saw many many errors about invalid PPP packets and other similar bad things; afterwards I see lots of errors about invalid ACK and wrong direction.  Now I'm thinking maybe there is something wrong with the flow tracking and VLAN tags.  I read this mailing list discussion [1] about VLAN tags and flow tracking but I'm not sure at the moment how that applies to suricata-1.4.1... I think I may need to apply the patch which appears to force all flows into VLAN 0 ?</div>
<div style><br></div><div style>Maybe my configuration is at fault, I've attached it to this email as well.</div><div style><br></div><div style>tl;dr -- Ultimately I want to ignore the VLANs.  [1] mentioned something about a global switch to disable VLAN consideration.. how does the current suricata-1.4.1 code handle them ?  Should I apply the patch ?</div>
<div style><br></div><div style>Thanks for the help and software.</div><div style><br></div><div style>Regards,</div><div style><br></div><div style>--TC</div><div style><br></div><div style>[1] <a href="https://lists.openinfosecfoundation.org/pipermail/oisf-devel/2013-April/002206.html">https://lists.openinfosecfoundation.org/pipermail/oisf-devel/2013-April/002206.html</a></div>
<div style><br></div><div style><br></div><div style><div>05/04/2013-15:26:45.676424  [**] [1:2210029:1] SURICATA STREAM ESTABLISHED invalid ack [**] [Classification: (null)] [Priority: 3] {TCP} </div><div><br></div><div>
05/04/2013-15:26:37.302138  [**] [1:2210000:1] SURICATA STREAM 3way handshake with ack in wrong dir [**] [Classification: (null)] [Priority: 3] {TCP} </div><div><br></div><div>05/04/2013-15:26:45.676427  [**] [1:2210045:1] SURICATA STREAM Packet with invalid ack [**] [Classification: (null)] [Priority: 3] {TCP} </div>
<div><br></div><div><br></div><div>kernel/linux/pf_ring.h<br></div><div>-------------------------------------------</div></div><div><div>778:typedef enum {</div><div>779:  cluster_per_flow = 0,     /* 6-tuple: <src ip, src port, dst ip, dst port, proto, vlan>  */</div>
<div>780:  cluster_round_robin,</div><div>781:  cluster_per_flow_2_tuple, /* 2-tuple: <src ip,           dst ip                       >  */</div><div>782:  cluster_per_flow_4_tuple, /* 4-tuple: <src ip, src port, dst ip, dst port             >  */</div>
<div>783:  cluster_per_flow_5_tuple, /* 5-tuple: <src ip, src port, dst ip, dst port, proto      >  */</div><div>784:  cluster_per_flow_tcp_5_tuple, /* 5-tuple only with TCP, 2 tuple with all other protos   */</div>
<div>785:} cluster_type;</div><div><br></div><div><br></div></div></div>