]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
af-packet: fix bypass for IPv6
authorEric Leblond <eric@regit.org>
Tue, 5 Mar 2019 22:12:12 +0000 (23:12 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 18 Jun 2019 05:07:02 +0000 (07:07 +0200)
src/source-af-packet.c

index 98070e27dd884d97d839d43e7a301c6b9d9fec7f..d770050c00fbe3f71b05fa05213dc1c4716cdec0 100644 (file)
@@ -2409,7 +2409,7 @@ static int AFPBypassCallback(Packet *p)
         key.port16[0] = GET_TCP_SRC_PORT(p);
         key.port16[1] = GET_TCP_DST_PORT(p);
         key.ip_proto = IPV6_GET_NH(p);
-        if (AFPInsertHalfFlow(p->afp_v.v4_map_fd, &key, p->flow_hash, p->flow->todstpktcnt,
+        if (AFPInsertHalfFlow(p->afp_v.v6_map_fd, &key, p->flow_hash, p->flow->todstpktcnt,
                               p->flow->todstbytecnt, p->afp_v.nr_cpus) == 0) {
             return 0;
         }
@@ -2419,7 +2419,7 @@ static int AFPBypassCallback(Packet *p)
         }
         key.port16[0] = GET_TCP_DST_PORT(p);
         key.port16[1] = GET_TCP_SRC_PORT(p);
-        if (AFPInsertHalfFlow(p->afp_v.v4_map_fd, &key, p->flow_hash, p->flow->tosrcpktcnt,
+        if (AFPInsertHalfFlow(p->afp_v.v6_map_fd, &key, p->flow_hash, p->flow->tosrcpktcnt,
                               p->flow->tosrcbytecnt, p->afp_v.nr_cpus) == 0) {
             return 0;
         }
@@ -2498,7 +2498,7 @@ static int AFPXDPBypassCallback(Packet *p)
         key.port16[0] = htons(GET_TCP_SRC_PORT(p));
         key.port16[1] = htons(GET_TCP_DST_PORT(p));
         key.ip_proto = IPV6_GET_NH(p);
-        if (AFPInsertHalfFlow(p->afp_v.v4_map_fd, &key, p->flow_hash, p->flow->todstpktcnt,
+        if (AFPInsertHalfFlow(p->afp_v.v6_map_fd, &key, p->flow_hash, p->flow->todstpktcnt,
                               p->flow->todstbytecnt, p->afp_v.nr_cpus) == 0) {
             return 0;
         }
@@ -2508,7 +2508,7 @@ static int AFPXDPBypassCallback(Packet *p)
         }
         key.port16[0] = htons(GET_TCP_DST_PORT(p));
         key.port16[1] = htons(GET_TCP_SRC_PORT(p));
-        if (AFPInsertHalfFlow(p->afp_v.v4_map_fd, &key, p->flow_hash, p->flow->tosrcpktcnt,
+        if (AFPInsertHalfFlow(p->afp_v.v6_map_fd, &key, p->flow_hash, p->flow->tosrcpktcnt,
                               p->flow->tosrcbytecnt, p->afp_v.nr_cpus) == 0) {
             return 0;
         }