Fix port throughput related statistics for i40e virtual functions
[samplevnf.git] / VNFs / DPPD-PROX / task_init.h
index 5186826..9fa9f92 100644 (file)
@@ -27,6 +27,7 @@
 #include "ip6_addr.h"
 #include "flow_iter.h"
 #include "parse_utils.h"
+#include "prox_compat.h"
 
 struct rte_mbuf;
 struct lcore_cfg;
@@ -59,7 +60,7 @@ struct qos_cfg {
 };
 
 enum task_mode {NOT_SET, MASTER, QINQ_DECAP4, QINQ_DECAP6,
-               QINQ_ENCAP4, QINQ_ENCAP6, GRE_DECAP, GRE_ENCAP,CGNAT, ESP_ENC, ESP_DEC,
+               QINQ_ENCAP4, QINQ_ENCAP6, GRE_DECAP, GRE_ENCAP,CGNAT, ESP_ENC, ESP_DEC, QOS, POLICE
 };
 
 struct task_args;
@@ -89,9 +90,9 @@ static int task_init_flag_set(struct task_init *task_init, uint64_t flag)
 }
 
 enum police_action {
-        ACT_GREEN = e_RTE_METER_GREEN,
-        ACT_YELLOW = e_RTE_METER_YELLOW,
-        ACT_RED = e_RTE_METER_RED,
+        ACT_GREEN = RTE_COLOR_GREEN,
+        ACT_YELLOW = RTE_COLOR_YELLOW,
+        ACT_RED = RTE_COLOR_RED,
         ACT_DROP = 3,
        ACT_INVALID = 4
 };
@@ -127,6 +128,8 @@ struct task_args {
        uint32_t               gateway_ipv4;
        uint32_t               local_ipv4;
        uint32_t               remote_ipv4;
+       uint32_t               arp_timeout;
+       uint32_t               arp_update_time;
        struct ipv6_addr       local_ipv6;    /* For IPv6 Tunnel, it's the local tunnel endpoint address */
        struct rte_ring        *rx_rings[MAX_RINGS_PER_TASK];
        struct rte_ring        *tx_rings[MAX_RINGS_PER_TASK];
@@ -230,6 +233,7 @@ struct task_args {
        uint                            irq_debug;
        struct task_base *tmaster;
        char sub_mode_str[PROX_MODE_LEN];
+       uint32_t               igmp_address;
 };
 
 /* Return the first port that is reachable through the task. If the