summaryrefslogtreecommitdiffstats
path: root/VNFs/vCGNAPT/config
diff options
context:
space:
mode:
authorDeepak S <deepak.s@linux.intel.com>2017-04-17 23:03:43 -0700
committerDeepak S <deepak.s@linux.intel.com>2017-04-19 03:13:12 -0700
commitf0bfb2b0c8467154990b49beafb991b7515e37e3 (patch)
treef713c75bca8048cae1d73ddfc2ce874bac3cbb4f /VNFs/vCGNAPT/config
parent421bd97023e853a9e87d16e100b23bf3c60a9188 (diff)
vCGNAPT VNF initial check-in
JIRA: SAMPLEVNF-5 The vCGNAPT implementation contains following features: • Static and dynamic Network address translation. • Static and dynamic Network address and port translation • ARP (request, response, gratuitous) • ICMP (terminal echo, echo response, pass-through) • ICMPv6 and ND • UDP, TCP and ICMP protocol pass-through • Multithread support and Multiple physical port support • Limiting max ports per client • Limiting max clients per public IP address • Live Session tracking to NAT flow • NAT64 – connectivity between IPv6 access network to IPv4 data • PCP - Port Control protocol • SIP functionality • FTP functionality Change-Id: I5ebb44ae60e32dd6da5e793efd91a6831a4d30a7 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Diffstat (limited to 'VNFs/vCGNAPT/config')
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-1T-ipv6.cfg44
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-1T.cfg44
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-2T-ipv6.cfg61
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-2T.cfg61
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-3T-ipv6.cfg76
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-2P-3T.cfg76
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-1T-ipv6.cfg67
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-1T.cfg67
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-2T-ipv6.cfg101
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-2T.cfg101
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-3T-ipv6.cfg135
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb-4P-3T.cfg135
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb_scriptfile_2P.cfg32
-rw-r--r--VNFs/vCGNAPT/config/arp_hwlb_scriptfile_4P.cfg50
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T-ipv6.cfg69
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T.cfg69
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T-ipv6.cfg86
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T.cfg86
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T-ipv6.cfg103
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T.cfg103
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T-ipv6.cfg117
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T.cfg117
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T-ipv6.cfg86
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T.cfg86
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T-ipv6.cfg185
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T.cfg185
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx_ScriptFile_2P.cfg20
-rw-r--r--VNFs/vCGNAPT/config/arp_txrx_ScriptFile_4P.cfg30
28 files changed, 2392 insertions, 0 deletions
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-1T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-1T-ipv6.cfg
new file mode 100644
index 00000000..34691d4f
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-1T-ipv6.cfg
@@ -0,0 +1,44 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-1T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-1T.cfg
new file mode 100644
index 00000000..f0127584
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-1T.cfg
@@ -0,0 +1,44 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-2T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-2T-ipv6.cfg
new file mode 100644
index 00000000..f9f9935f
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-2T-ipv6.cfg
@@ -0,0 +1,61 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-2T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-2T.cfg
new file mode 100644
index 00000000..6dd7576b
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-2T.cfg
@@ -0,0 +1,61 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-3T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-3T-ipv6.cfg
new file mode 100644
index 00000000..d082d345
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-3T-ipv6.cfg
@@ -0,0 +1,76 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ0.2 RXQ1.2
+pktq_out = TXQ0.3 TXQ1.3 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-2P-3T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-2P-3T.cfg
new file mode 100644
index 00000000..17623dfb
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-2P-3T.cfg
@@ -0,0 +1,76 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ0.2 RXQ1.2
+pktq_out = TXQ0.3 TXQ1.3 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-1T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-1T-ipv6.cfg
new file mode 100644
index 00000000..685ec442
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-1T-ipv6.cfg
@@ -0,0 +1,67 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-1T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-1T.cfg
new file mode 100644
index 00000000..3687eb44
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-1T.cfg
@@ -0,0 +1,67 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-2T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-2T-ipv6.cfg
new file mode 100644
index 00000000..7dcf92e3
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-2T-ipv6.cfg
@@ -0,0 +1,101 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.2 TXQ3.2 SWQ3
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-2T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-2T.cfg
new file mode 100644
index 00000000..a7fa7e45
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-2T.cfg
@@ -0,0 +1,101 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.2 TXQ3.2 SWQ3
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-3T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-3T-ipv6.cfg
new file mode 100644
index 00000000..42ae5035
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-3T-ipv6.cfg
@@ -0,0 +1,135 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ0.2 RXQ1.2
+pktq_out = TXQ0.3 TXQ1.3 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ3
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.2 TXQ3.2 SWQ4
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = CGNAPT
+core = 8
+pktq_in = RXQ2.2 RXQ3.2
+pktq_out = TXQ2.3 TXQ3.3 SWQ5
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb-4P-3T.cfg b/VNFs/vCGNAPT/config/arp_hwlb-4P-3T.cfg
new file mode 100644
index 00000000..4317dcef
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb-4P-3T.cfg
@@ -0,0 +1,135 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 3
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.1 TXQ1.1 SWQ0
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE4]
+type = CGNAPT
+core = 4
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.2 TXQ1.2 SWQ1
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = RXQ0.2 RXQ1.2
+pktq_out = TXQ0.3 TXQ1.3 SWQ2
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.1 TXQ3.1 SWQ3
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.2 TXQ3.2 SWQ4
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = CGNAPT
+core = 8
+pktq_in = RXQ2.2 RXQ3.2
+pktq_out = TXQ2.3 TXQ3.3 SWQ5
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
diff --git a/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_2P.cfg b/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_2P.cfg
new file mode 100644
index 00000000..c560ceb7
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_2P.cfg
@@ -0,0 +1,32 @@
+
+link 0 down
+link 0 config 152.16.100.21 24
+link 0 up
+link 1 down
+link 1 config 152.16.40.21 24
+link 1 up
+
+
+; uncomment to enable static NAPT
+;p <pipeline id> entry addm <prv_ipv4/6> prvport> <pub_ip> <pub_port> <phy_port> <ttl> <no_of_entries> <end_prv_port> <end_pub_port>
+;p 3 entry addm 152.16.100.20 1234 152.16.40.10 1 0 500 65535 1234 65535
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 152.16.100.20 00:00:00:00:00:01
+;p 1 arpadd 1 152.16.40.20 00:00:00:00:00:02
+
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 0064:ff9b:0:0:0:0:9810:6414 00:00:00:00:00:01
+;p 1 arpadd 1 0064:ff9b:0:0:0:0:9810:2814 00:00:00:00:00:02
+
+
+set fwd rxonly
+set_sym_hash_ena_per_port 0 enable
+set_hash_global_config 0 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 1 enable
+set_hash_global_config 1 simple_xor ipv4-udp enable
+set_hash_input_set 0 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 1 ipv4-udp dst-ipv4 udp-dst-port add
+set_hash_input_set 0 ipv4-udp src-ipv6 udp-src-port add
+set_hash_input_set 1 ipv4-udp dst-ipv6 udp-dst-port add
diff --git a/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_4P.cfg b/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_4P.cfg
new file mode 100644
index 00000000..0dc60e1d
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_hwlb_scriptfile_4P.cfg
@@ -0,0 +1,50 @@
+
+link 0 down
+link 0 config 152.16.100.21 24
+link 0 up
+link 1 down
+link 1 config 152.16.40.21 24
+link 1 up
+link 2 down
+link 2 config 192.16.100.25 24
+link 2 up
+link 3 down
+link 3 config 192.16.40.25 24
+link 3 up
+
+; uncomment to enable static NAPT
+;p <pipeline id> entry addm <prv_ipv4/6> prvport> <pub_ip> <pub_port> <phy_port> <ttl> <no_of_entries> <end_prv_port> <end_pub_port>
+;p 3 entry addm 152.16.100.20 1234 152.16.40.10 1 0 500 65535 1234 65535
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 152.16.100.20 00:00:00:00:00:01
+;p 1 arpadd 1 152.16.40.20 00:00:00:00:00:02
+;p 1 arpadd 2 192.16.100.20 00:00:00:00:00:03
+;p 1 arpadd 3 192.16.40.20 00:00:00:00:00:04
+
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 0064:ff9b:0:0:0:0:9810:6414 00:00:00:00:00:01
+;p 1 arpadd 1 0064:ff9b:0:0:0:0:9810:2814 00:00:00:00:00:02
+;p 1 arpadd 2 0064:ff9b:0:0:0:0:c010:6414 00:00:00:00:00:03
+;p 1 arpadd 3 0064:ff9b:0:0:0:0:c010:2814 00:00:00:00:00:04
+
+
+set fwd rxonly
+set_sym_hash_ena_per_port 0 enable
+set_hash_global_config 0 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 1 enable
+set_hash_global_config 1 simple_xor ipv4-udp enable
+set_hash_input_set 0 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 1 ipv4-udp dst-ipv4 udp-dst-port add
+set_hash_input_set 0 ipv4-udp src-ipv6 udp-src-port add
+set_hash_input_set 1 ipv4-udp dst-ipv6 udp-dst-port add
+
+set_sym_hash_ena_per_port 2 enable
+set_hash_global_config 2 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 3 enable
+set_hash_global_config 3 simple_xor ipv4-udp enable
+set_hash_input_set 2 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 3 ipv4-udp dst-ipv4 udp-dst-port add
+set_hash_input_set 2 ipv4-udp src-ipv6 udp-src-port add
+set_hash_input_set 3 ipv4-udp dst-ipv6 udp-dst-port add
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T-ipv6.cfg
new file mode 100644
index 00000000..a81d9d43
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T-ipv6.cfg
@@ -0,0 +1,69 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ5 SWQ6
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = TXRX
+core = 6
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ5 SWQ6
+pktq_out = TXQ0.1 TXQ1.1
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T.cfg
new file mode 100644
index 00000000..785240d1
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-1T.cfg
@@ -0,0 +1,69 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ5 SWQ6
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = TXRX
+core = 6
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ5 SWQ6
+pktq_out = TXQ0.1 TXQ1.1
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T-ipv6.cfg
new file mode 100644
index 00000000..48df0e62
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T-ipv6.cfg
@@ -0,0 +1,86 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6
+outport_offset = 136; 8
+n_vnf_threads = 2
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ7 SWQ8
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ7 SWQ8 SWQ9 SWQ10
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T.cfg
new file mode 100644
index 00000000..35eaa3bf
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-2T.cfg
@@ -0,0 +1,86 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6
+outport_offset = 136; 8
+n_vnf_threads = 2
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ7 SWQ8
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ7 SWQ8 SWQ9 SWQ10
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T-ipv6.cfg
new file mode 100644
index 00000000..47747f60
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T-ipv6.cfg
@@ -0,0 +1,103 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ11 SWQ12
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = SWQ7 SWQ8
+pktq_out = SWQ13 SWQ14
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = TXRX
+core = 8
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ9 SWQ10 SWQ11 SWQ12 SWQ13 SWQ14
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2 TXQ0.3 TXQ1.3
diff --git a/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T.cfg b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T.cfg
new file mode 100644
index 00000000..413e1d8f
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-1LB-2P-3T.cfg
@@ -0,0 +1,103 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ11 SWQ12
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = SWQ7 SWQ8
+pktq_out = SWQ13 SWQ14
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = TXRX
+core = 8
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ9 SWQ10 SWQ11 SWQ12 SWQ13 SWQ14
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2 TXQ0.3 TXQ1.3
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T-ipv6.cfg
new file mode 100644
index 00000000..f67d7461
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T-ipv6.cfg
@@ -0,0 +1,117 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ2 SWQ3 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ2 SWQ3
+pktq_out = SWQ4 SWQ5
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ4 SWQ5
+pktq_out = SWQ6 SWQ7
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = TXRX
+core = 6
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ6 SWQ7
+pktq_out = TXQ0.1 TXQ1.1
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = SWQ8 SWQ9 SWQ1
+
+[PIPELINE8]
+type = LOADB
+core = 8
+pktq_in = SWQ8 SWQ9
+pktq_out = SWQ10 SWQ11
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE9]
+type = CGNAPT
+core = 9
+pktq_in = SWQ10 SWQ11
+pktq_out = SWQ12 SWQ13
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE10]
+type = TXRX
+core = 10
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ12 SWQ13
+pktq_out = TXQ2.1 TXQ3.1
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T.cfg
new file mode 100644
index 00000000..2e14aee4
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-1T.cfg
@@ -0,0 +1,117 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ2 SWQ3 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ2 SWQ3
+pktq_out = SWQ4 SWQ5
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ4 SWQ5
+pktq_out = SWQ6 SWQ7
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = TXRX
+core = 6
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ6 SWQ7
+pktq_out = TXQ0.1 TXQ1.1
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = SWQ8 SWQ9 SWQ1
+
+[PIPELINE8]
+type = LOADB
+core = 8
+pktq_in = SWQ8 SWQ9
+pktq_out = SWQ10 SWQ11
+outport_offset = 136; 8
+n_vnf_threads = 1
+prv_que_handler = (0,)
+
+[PIPELINE9]
+type = CGNAPT
+core = 9
+pktq_in = SWQ10 SWQ11
+pktq_out = SWQ12 SWQ13
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE10]
+type = TXRX
+core = 10
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ12 SWQ13
+pktq_out = TXQ2.1 TXQ3.1
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T-ipv6.cfg
new file mode 100644
index 00000000..48df0e62
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T-ipv6.cfg
@@ -0,0 +1,86 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6
+outport_offset = 136; 8
+n_vnf_threads = 2
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ7 SWQ8
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ7 SWQ8 SWQ9 SWQ10
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T.cfg
new file mode 100644
index 00000000..35eaa3bf
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-2T.cfg
@@ -0,0 +1,86 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ1 SWQ2 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ1 SWQ2
+pktq_out = SWQ3 SWQ4 SWQ5 SWQ6
+outport_offset = 136; 8
+n_vnf_threads = 2
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ3 SWQ4
+pktq_out = SWQ7 SWQ8
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ5 SWQ6
+pktq_out = SWQ9 SWQ10
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = TXRX
+core = 7
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ7 SWQ8 SWQ9 SWQ10
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T-ipv6.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T-ipv6.cfg
new file mode 100644
index 00000000..c98278f8
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T-ipv6.cfg
@@ -0,0 +1,185 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ2 SWQ3 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ2 SWQ3
+pktq_out = SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ4 SWQ5
+pktq_out = SWQ10 SWQ11
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ6 SWQ7
+pktq_out = SWQ12 SWQ13
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = SWQ8 SWQ9
+pktq_out = SWQ14 SWQ15
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = TXRX
+core = 8
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ10 SWQ11 SWQ12 SWQ13 SWQ14 SWQ15
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2 TXQ0.3 TXQ1.3
+
+[PIPELINE9]
+type = TXRX
+core = 9
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = SWQ16 SWQ17 SWQ1
+
+[PIPELINE10]
+type = LOADB
+core = 10
+pktq_in = SWQ16 SWQ17
+pktq_out = SWQ18 SWQ19 SWQ20 SWQ21 SWQ22 SWQ23
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE11]
+type = CGNAPT
+core = 11
+pktq_in = SWQ18 SWQ19
+pktq_out = SWQ24 SWQ25
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE12]
+type = CGNAPT
+core = 12
+pktq_in = SWQ20 SWQ21
+pktq_out = SWQ26 SWQ27
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE13]
+type = CGNAPT
+core = 13
+pktq_in = SWQ22 SWQ23
+pktq_out = SWQ28 SWQ29
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv6
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE14]
+type = TXRX
+core = 14
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ24 SWQ25 SWQ26 SWQ27 SWQ28 SWQ29
+pktq_out = TXQ2.1 TXQ3.1 TXQ2.2 TXQ3.2 TXQ2.3 TXQ3.3
diff --git a/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T.cfg b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T.cfg
new file mode 100644
index 00000000..19384731
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx-2LB-4P-3T.cfg
@@ -0,0 +1,185 @@
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 1
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0
+arp_route_tbl = (98106414,FFFFFF00,0,98106414)
+arp_route_tbl = (98102814,FFFFFF00,1,98102814)
+arp_route_tbl = (C0106414,FFFFFF00,2,C0106414)
+arp_route_tbl = (C0102814,FFFFFF00,3,C0102814)
+
+
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,2,0064:ff9b:0:0:0:0:c010:6414)
+nd_route_tbl = (0064:ff9b:0:0:0:0:c010:2814,120,3,0064:ff9b:0:0:0:0:c010:2814)
+
+
+pktq_in_prv = RXQ0.0 RXQ2.0
+prv_to_pub_map = (0, 1)(2, 3)
+ports_mac_list = 00:00:00:00:00:06 00:00:00:00:00:07 00:00:00:00:00:08 00:00:00:00:00:09
+
+[PIPELINE2]
+type = TIMER
+core = 2
+n_flows = 1048576
+
+[PIPELINE3]
+type = TXRX
+core = 3
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = SWQ2 SWQ3 SWQ0
+
+[PIPELINE4]
+type = LOADB
+core = 4
+pktq_in = SWQ2 SWQ3
+pktq_out = SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE5]
+type = CGNAPT
+core = 5
+pktq_in = SWQ4 SWQ5
+pktq_out = SWQ10 SWQ11
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103214:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE6]
+type = CGNAPT
+core = 6
+pktq_in = SWQ6 SWQ7
+pktq_out = SWQ12 SWQ13
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE7]
+type = CGNAPT
+core = 7
+pktq_in = SWQ8 SWQ9
+pktq_out = SWQ14 SWQ15
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE8]
+type = TXRX
+core = 8
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ10 SWQ11 SWQ12 SWQ13 SWQ14 SWQ15
+pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2 TXQ0.3 TXQ1.3
+
+[PIPELINE9]
+type = TXRX
+core = 9
+pipeline_txrx_type = RXRX
+dest_if_offset = 176
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = SWQ16 SWQ17 SWQ1
+
+[PIPELINE10]
+type = LOADB
+core = 10
+pktq_in = SWQ16 SWQ17
+pktq_out = SWQ18 SWQ19 SWQ20 SWQ21 SWQ22 SWQ23
+outport_offset = 136; 8
+n_vnf_threads = 3
+prv_que_handler = (0,)
+
+[PIPELINE11]
+type = CGNAPT
+core = 11
+pktq_in = SWQ18 SWQ19
+pktq_out = SWQ24 SWQ25
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+public_ip_port_range = 98103215:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE12]
+type = CGNAPT
+core = 12
+pktq_in = SWQ20 SWQ21
+pktq_out = SWQ26 SWQ27
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE13]
+type = CGNAPT
+core = 13
+pktq_in = SWQ22 SWQ23
+pktq_out = SWQ28 SWQ29
+phyport_offset = 204
+n_flows = 1048576
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 100
+max_clients_per_ip = 65535
+max_port_per_client = 10
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+
+[PIPELINE14]
+type = TXRX
+core = 14
+pipeline_txrx_type = TXTX
+dest_if_offset = 176
+pktq_in = SWQ24 SWQ25 SWQ26 SWQ27 SWQ28 SWQ29
+pktq_out = TXQ2.1 TXQ3.1 TXQ2.2 TXQ3.2 TXQ2.3 TXQ3.3
diff --git a/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_2P.cfg b/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_2P.cfg
new file mode 100644
index 00000000..b04505c3
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_2P.cfg
@@ -0,0 +1,20 @@
+
+link 0 down
+link 0 config 152.16.100.21 24
+link 0 up
+link 1 down
+link 1 config 152.16.40.21 24
+link 1 up
+
+; uncomment to enable static NAPT
+;p <pipeline id> entry addm <prv_ipv4/6> prvport> <pub_ip> <pub_port> <phy_port> <ttl> <no_of_entries> <end_prv_port> <end_pub_port>
+;p 3 entry addm 152.16.100.20 1234 152.16.40.10 1 0 500 65535 1234 65535
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 152.16.100.20 00:00:00:00:00:01
+;p 1 arpadd 1 152.16.40.20 00:00:00:00:00:02
+
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 0064:ff9b:0:0:0:0:9810:6414 00:00:00:00:00:01
+;p 1 arpadd 1 0064:ff9b:0:0:0:0:9810:2814 00:00:00:00:00:02
diff --git a/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_4P.cfg b/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_4P.cfg
new file mode 100644
index 00000000..ad4ee606
--- /dev/null
+++ b/VNFs/vCGNAPT/config/arp_txrx_ScriptFile_4P.cfg
@@ -0,0 +1,30 @@
+
+link 0 down
+link 0 config 152.16.100.21 24
+link 0 up
+link 1 down
+link 1 config 152.16.40.21 24
+link 1 up
+link 2 down
+link 2 config 192.16.100.25 24
+link 2 up
+link 3 down
+link 3 config 192.16.40.25 24
+link 3 up
+
+; uncomment to enable static NAPT
+;p <pipeline id> entry addm <prv_ipv4/6> prvport> <pub_ip> <pub_port> <phy_port> <ttl> <no_of_entries> <end_prv_port> <end_pub_port>
+;p 3 entry addm 152.16.100.20 1234 152.16.40.10 1 0 500 65535 1234 65535
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 152.16.100.20 00:00:00:00:00:01
+;p 1 arpadd 1 152.16.40.20 00:00:00:00:00:02
+;p 1 arpadd 2 192.16.100.20 00:00:00:00:00:03
+;p 1 arpadd 3 192.16.40.20 00:00:00:00:00:04
+
+
+; uncomment below lines to enable static arp
+;p 1 arpadd 0 0064:ff9b:0:0:0:0:9810:6414 00:00:00:00:00:01
+;p 1 arpadd 1 0064:ff9b:0:0:0:0:9810:2814 00:00:00:00:00:02
+;p 1 arpadd 2 0064:ff9b:0:0:0:0:c010:6414 00:00:00:00:00:03
+;p 1 arpadd 3 0064:ff9b:0:0:0:0:c010:2814 00:00:00:00:00:04