From 84b46623cb71a17e19c5d74fc65345dd6168a8d0 Mon Sep 17 00:00:00 2001
From: Alexander Komarov <alexander.komarov@intel.com>
Date: Thu, 19 Oct 2017 09:11:49 +0200
Subject: Makefile change and new task structures for IPSec Prox task

Change-Id: I389389e5317d1a9d0d79cc1762d6f15d8287e36a
Signed-off-by: Alexander Komarov <alexander.komarov@intel.com>
Signed-off-by: Alexander Komarov <izard.ak@gmail.com>
---
 VNFs/DPPD-PROX/Makefile    | 1 +
 VNFs/DPPD-PROX/prox_args.c | 3 +++
 VNFs/DPPD-PROX/task_init.h | 3 ++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/VNFs/DPPD-PROX/Makefile b/VNFs/DPPD-PROX/Makefile
index 0288181c..e9a4211b 100644
--- a/VNFs/DPPD-PROX/Makefile
+++ b/VNFs/DPPD-PROX/Makefile
@@ -161,6 +161,7 @@ SRCS-y += handle_mirror.c
 SRCS-y += handle_genl4.c
 SRCS-y += handle_ipv6_tunnel.c
 SRCS-y += handle_read.c
+SRCS-$(call rte_ver_GE,17,2,0,16) += handle_esp.c
 SRCS-y += handle_cgnat.c
 SRCS-y += handle_nat.c
 SRCS-y += handle_dump.c
diff --git a/VNFs/DPPD-PROX/prox_args.c b/VNFs/DPPD-PROX/prox_args.c
index df9a2ca4..2703c228 100644
--- a/VNFs/DPPD-PROX/prox_args.c
+++ b/VNFs/DPPD-PROX/prox_args.c
@@ -1288,6 +1288,9 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
 	if (STR_EQ(str, "local ipv4")) { /* source IP address to be used for packets */
 		return parse_ip(&targ->local_ipv4, pkey);
 	}
+	if (STR_EQ(str, "remote ipv4")) { /* source IP address to be used for packets */
+		return parse_ip(&targ->remote_ipv4, pkey);
+	}
         if (STR_EQ(str, "local ipv6")) { /* source IPv6 address to be used for packets */
                 return parse_ip6(&targ->local_ipv6, pkey);
         }
diff --git a/VNFs/DPPD-PROX/task_init.h b/VNFs/DPPD-PROX/task_init.h
index beb4de02..e1f5ce1c 100644
--- a/VNFs/DPPD-PROX/task_init.h
+++ b/VNFs/DPPD-PROX/task_init.h
@@ -56,7 +56,7 @@ struct qos_cfg {
 };
 
 enum task_mode {NOT_SET, MASTER, QINQ_DECAP4, QINQ_DECAP6,
-		QINQ_ENCAP4, QINQ_ENCAP6, GRE_DECAP, GRE_ENCAP,CGNAT,
+		QINQ_ENCAP4, QINQ_ENCAP6, GRE_DECAP, GRE_ENCAP,CGNAT, ESP_ENC, ESP_DEC,
 };
 
 struct task_args;
@@ -126,6 +126,7 @@ struct task_args {
 	uint32_t               gateway_ipv4;
 	uint32_t               number_gen_ip;
 	uint32_t               local_ipv4;
+	uint32_t               remote_ipv4;
 	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];
-- 
cgit