Makefile change and new task structures for IPSec Prox task 53/45753/1
authorAlexander Komarov <alexander.komarov@intel.com>
Thu, 19 Oct 2017 07:11:49 +0000 (09:11 +0200)
committerAlexander Komarov <alexander.komarov@intel.com>
Thu, 19 Oct 2017 07:12:47 +0000 (09:12 +0200)
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
VNFs/DPPD-PROX/prox_args.c
VNFs/DPPD-PROX/task_init.h

index 0288181..e9a4211 100644 (file)
@@ -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
index df9a2ca..2703c22 100644 (file)
@@ -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);
         }
index beb4de0..e1f5ce1 100644 (file)
@@ -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];