]> git.ipfire.org Git - people/ms/suricata.git/commitdiff
erspan: respect vlan.use-for-tracking setting
authorVictor Julien <victor@inliniac.net>
Fri, 19 Jun 2015 11:09:36 +0000 (13:09 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 19 Jun 2015 11:09:36 +0000 (13:09 +0200)
src/decode-erspan.c

index ff6390b5238774c80299d030fc8d6923e4bf62cf..f2fb0eb124fce4dc97bd8384c8e01106e913c37c 100644 (file)
@@ -64,12 +64,13 @@ int DecodeERSPAN(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt,
         return TM_ECODE_FAILED;
     }
 
-    if (vlan_id > 0) {
+    if (vlan_id > 0 && dtv->vlan_disabled == 0) {
         if (p->vlan_idx >= 2) {
             ENGINE_SET_EVENT(p,ERSPAN_TOO_MANY_VLAN_LAYERS);
             return TM_ECODE_FAILED;
         }
-        p->vlan_id[p->vlan_idx++] = vlan_id;
+        p->vlan_id[p->vlan_idx] = vlan_id;
+        p->vlan_idx++;
     }
 
     return DecodeEthernet(tv, dtv, p, pkt + sizeof(ErspanHdr), len - sizeof(ErspanHdr), pq);