<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>