Merge "PROX generator: performance optimization (2/4)"
[samplevnf.git] / VNFs / DPPD-PROX / prox_args.c
index c09c563..d77eab1 100644 (file)
@@ -559,6 +559,23 @@ static int get_port_cfg(unsigned sindex, char *str, void *data)
                else
                        cfg->requested_rx_offload &= ~DEV_RX_OFFLOAD_CRC_STRIP;
        }
+       else if (STR_EQ(str, "vlan")) {
+#if RTE_VERSION >= RTE_VERSION_NUM(18,8,0,1)
+               uint32_t val;
+               if (parse_bool(&val, pkey)) {
+                       return -1;
+               }
+               if (val) {
+                       cfg->requested_rx_offload |= DEV_RX_OFFLOAD_VLAN_STRIP;
+                       cfg->requested_tx_offload |= DEV_TX_OFFLOAD_VLAN_INSERT;
+               } else {
+                       cfg->requested_rx_offload &= ~DEV_RX_OFFLOAD_VLAN_STRIP;
+                       cfg->requested_tx_offload &= ~DEV_TX_OFFLOAD_VLAN_INSERT;
+               }
+#else
+               plog_warn("vlan option not supported : update DPDK at least to 18.08 to support this option\n");
+#endif
+       }
        else if (STR_EQ(str, "mtu size")) {
                uint32_t val;
                if (parse_int(&val, pkey)) {
@@ -1345,6 +1362,10 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
         if (STR_EQ(str, "local ipv6")) { /* source IPv6 address to be used for packets */
                 return parse_ip6(&targ->local_ipv6, pkey);
         }
+       if (STR_EQ(str, "arp timeout"))
+               return parse_int(&targ->arp_timeout, pkey);
+       if (STR_EQ(str, "arp update time"))
+               return parse_int(&targ->arp_update_time, pkey);
        if (STR_EQ(str, "number of packets"))
                return parse_int(&targ->n_pkts, pkey);
        if (STR_EQ(str, "pipes")) {