tile: fix build
[dpdk.git] / app / test-acl / main.c
index 524c43a..1b2b176 100644 (file)
@@ -101,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 {
@@ -162,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,
@@ -739,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;
 
@@ -879,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;
 }