Fix toeplitz initialization key and rss key len for mlx4
[samplevnf.git] / VNFs / DPPD-PROX / prox_args.c
index 9b76a43..274e6c9 100644 (file)
@@ -920,6 +920,9 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
                return parse_flag(&targ->runtime_flags, TASK_FP_HANDLE_ARP, pkey);
        }
 
+       if (STR_EQ(str, "do not forward geneve")) {
+               return parse_flag(&targ->runtime_flags, TASK_DO_NOT_FWD_GENEVE, pkey);
+       }
        /* Using tx port name, only a _single_ port can be assigned to a task. */
        if (STR_EQ(str, "tx port")) {
                if (targ->nb_txports > 0) {
@@ -1019,6 +1022,18 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
        if (STR_EQ(str, "random")) {
                return parse_str(targ->rand_str[targ->n_rand_str++], pkey, sizeof(targ->rand_str[0]));
        }
+       if (STR_EQ(str, "range")) {
+               int rc = parse_range(&targ->range[targ->n_ranges].min, &targ->range[targ->n_ranges].max, pkey);
+               targ->n_ranges++;
+               return rc;
+       }
+       if (STR_EQ(str, "range_offset")) {
+               if (targ->n_ranges == 0) {
+                       set_errf("No range defined previously (use range=...)");
+                       return -1;
+               }
+               return parse_int(&targ->range[targ->n_ranges - 1].offset, pkey);
+       }
        if (STR_EQ(str, "rand_offset")) {
                if (targ->n_rand_str == 0) {
                        set_errf("No random defined previously (use random=...)");
@@ -1129,6 +1144,9 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
        if (STR_EQ(str, "latency buffer size")) {
                return parse_int(&targ->latency_buffer_size, pkey);
        }
+       if (STR_EQ(str, "loss buffer size")) {
+               return parse_int(&targ->loss_buffer_size, pkey);
+       }
        if (STR_EQ(str, "accuracy pos")) {
                return parse_int(&targ->accur_pos, pkey);
        }
@@ -1587,6 +1605,8 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
                return parse_int(&targ->arp_ndp_retransmit_timeout, pkey);
        if (STR_EQ(str, "number of packets"))
                return parse_int(&targ->n_pkts, pkey);
+       if (STR_EQ(str, "store size"))
+               return parse_int(&targ->store_max, pkey);
        if (STR_EQ(str, "pipes")) {
                uint32_t val;
                int err = parse_int(&val, pkey);
@@ -1620,45 +1640,69 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
                return 0;
        }
        if (STR_EQ(str, "subport tb rate")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tb_rate, pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tb_rate, pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tb_rate, pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "subport tb size")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tb_size, pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tb_size, pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tb_size, pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "subport tc 0 rate")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tc_rate[0], pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tc_rate[0], pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tc_rate[0], pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "subport tc 1 rate")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tc_rate[1], pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tc_rate[1], pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tc_rate[1], pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "subport tc 2 rate")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tc_rate[2], pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tc_rate[2], pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tc_rate[2], pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "subport tc 3 rate")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tc_rate[3], pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tc_rate[3], pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tc_rate[3], pkey);
+#endif
 #endif
        }
 
@@ -1669,18 +1713,29 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
                        return -1;
                }
 
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               targ->qos_conf.port_params.subport_profiles->tc_rate[0] = val;
+               targ->qos_conf.port_params.subport_profiles->tc_rate[1] = val;
+               targ->qos_conf.port_params.subport_profiles->tc_rate[2] = val;
+               targ->qos_conf.port_params.subport_profiles->tc_rate[3] = val;
+#else
                targ->qos_conf.subport_params[0].tc_rate[0] = val;
                targ->qos_conf.subport_params[0].tc_rate[1] = val;
                targ->qos_conf.subport_params[0].tc_rate[2] = val;
                targ->qos_conf.subport_params[0].tc_rate[3] = val;
+#endif
 
                return 0;
        }
        if (STR_EQ(str, "subport tc period")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(20,11,0,0)
+               return parse_u64(&targ->qos_conf.port_params.subport_profiles->tc_period, pkey);
+#else
 #if RTE_VERSION > RTE_VERSION_NUM(19,11,0,0)
                return parse_u64(&targ->qos_conf.subport_params[0].tc_period, pkey);
 #else
                return parse_int(&targ->qos_conf.subport_params[0].tc_period, pkey);
+#endif
 #endif
        }
        if (STR_EQ(str, "pipe tb rate")) {