tile: fix build
[dpdk.git] / app / test-acl / main.c
index 5e8db04..1b2b176 100644 (file)
@@ -35,8 +35,6 @@
 #include <getopt.h>
 #include <string.h>
 
-#ifndef RTE_LIBRTE_ACL_STANDALONE
-
 #include <rte_cycles.h>
 #include <rte_per_lcore.h>
 #include <rte_lcore.h>
 
 #define        PRINT_USAGE_START       "%s [EAL options]\n"
 
-#else
-
-#define IPv4(a, b, c, d) ((uint32_t)(((a) & 0xff) << 24) | \
-                               (((b) & 0xff) << 16) |     \
-                               (((c) & 0xff) << 8)  |     \
-                               ((d) & 0xff))
-
-#define        RTE_LCORE_FOREACH_SLAVE(x)      while (((x) = 0))
-
-#define        rte_eal_remote_launch(a, b, c)  DUMMY_MACRO
-#define        rte_eal_mp_wait_lcore()         DUMMY_MACRO
-
-#define        rte_eal_init(c, v)      (0)
-
-#define        PRINT_USAGE_START       "%s\n"
-
-#endif /*RTE_LIBRTE_ACL_STANDALONE */
-
 #define        RTE_LOGTYPE_TESTACL     RTE_LOGTYPE_USER1
 
 #define        APP_NAME        "TESTACL"
@@ -121,6 +101,14 @@ static const struct acl_alg acl_alg[] = {
                .name = "avx2",
                .alg = RTE_ACL_CLASSIFY_AVX2,
        },
+       {
+               .name = "neon",
+               .alg = RTE_ACL_CLASSIFY_NEON,
+       },
+       {
+               .name = "altivec",
+               .alg = RTE_ACL_CLASSIFY_ALTIVEC,
+       },
 };
 
 static struct {
@@ -182,6 +170,23 @@ enum {
        NUM_FIELDS_IPV4
 };
 
+/*
+ * That effectively defines order of IPV4VLAN classifications:
+ *  - PROTO
+ *  - VLAN (TAG and DOMAIN)
+ *  - SRC IP ADDRESS
+ *  - DST IP ADDRESS
+ *  - PORTS (SRC and DST)
+ */
+enum {
+       RTE_ACL_IPV4VLAN_PROTO,
+       RTE_ACL_IPV4VLAN_VLAN,
+       RTE_ACL_IPV4VLAN_SRC,
+       RTE_ACL_IPV4VLAN_DST,
+       RTE_ACL_IPV4VLAN_PORTS,
+       RTE_ACL_IPV4VLAN_NUM
+};
+
 struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = {
        {
                .type = RTE_ACL_FIELD_TYPE_BITMASK,
@@ -759,7 +764,8 @@ add_cb_rules(FILE *f, struct rte_acl_ctx *ctx)
                        return rc;
                }
 
-               v.data.category_mask = LEN2MASK(RTE_ACL_MAX_CATEGORIES);
+               v.data.category_mask = RTE_LEN2MASK(RTE_ACL_MAX_CATEGORIES,
+                       typeof(v.data.category_mask));
                v.data.priority = RTE_ACL_MAX_PRIORITY - n;
                v.data.userdata = n;
 
@@ -899,7 +905,7 @@ search_ip5tuples(__attribute__((unused)) void *arg)
                "%s  @lcore %u: %" PRIu32 " iterations, %" PRIu64 " pkts, %"
                PRIu32 " categories, %" PRIu64 " cycles, %#Lf cycles/pkt\n",
                __func__, lcore, i, pkt, config.run_categories,
-               tm, (long double)tm / pkt);
+               tm, (pkt == 0) ? 0 : (long double)tm / pkt);
 
        return 0;
 }