summaryrefslogtreecommitdiffstats
path: root/VNFs/vCGNAPT
diff options
context:
space:
mode:
authorDeepak S <deepak.s@linux.intel.com>2017-06-15 23:23:29 -0700
committerDeepak S <deepak.s@linux.intel.com>2017-06-15 23:34:46 -0700
commit720998394c5d613529ce616b333c0de5da1b8de4 (patch)
treec03f694bfb3c39fcdaa9c03e2ce7a19f807820c7 /VNFs/vCGNAPT
parent44e700fcfe8655565076b9c3036c61b2e53a8bcd (diff)
Adding Sample vCGNAPT config to run with multi-port pairv1.0.0
JIRA: SAMPLEVNF-40 This patch adds sample vCGNAPT config for 1, 6, 10 port pair Change-Id: I003e98b26e794d111af562232e8688f255a7d61a Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Diffstat (limited to 'VNFs/vCGNAPT')
-rw-r--r--VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg281
-rw-r--r--VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt57
-rw-r--r--VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg454
-rw-r--r--VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt95
-rw-r--r--VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg68
-rw-r--r--VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt15
6 files changed, 970 insertions, 0 deletions
diff --git a/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg
new file mode 100644
index 0000000..9b7fab5
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg
@@ -0,0 +1,281 @@
+[EAL]
+n = 4
+file_prefix = cgnat_1
+m = 8192
+
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 0
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9 SWQ10 SWQ11
+pktq_out = TXQ0.2 TXQ1.2 TXQ2.2 TXQ3.2 TXQ4.2 TXQ5.2 TXQ6.2 TXQ7.2 TXQ8.2 TXQ9.2 TXQ10.2 TXQ11.2
+arp_route_tbl = (c0106414,FFFF0000,0,c0106414)
+arp_route_tbl = (ac102814,FFFF0000,1,ac102814)
+arp_route_tbl = (c1106414,FFFF0000,2,c1106414)
+arp_route_tbl = (ad102814,FFFF0000,3,ad102814)
+arp_route_tbl = (c2106414,FFFF0000,4,c2106414)
+arp_route_tbl = (ae102814,FFFF0000,5,ae102814)
+arp_route_tbl = (c3106414,FFFF0000,6,c3106414)
+arp_route_tbl = (af102814,FFFF0000,7,af102814)
+arp_route_tbl = (c4106414,FFFF0000,8,c4106414)
+arp_route_tbl = (b0102814,FFFF0000,9,b0102814)
+arp_route_tbl = (c5106414,FFFF0000,a,c5106414)
+arp_route_tbl = (b1102814,FFFF0000,b,b1102814)
+pktq_in_prv = RXQ0.0 RXQ2.0 RXQ4.0 RXQ6.0 RXQ8.0 RXQ10.0
+prv_to_pub_map = (0, 1)(2, 3)(4, 5)(6, 7)(8, 9)(10, 11)
+ports_mac_list = CC:CC:CC:00:02:00 CC:CC:CC:00:02:01
+ports_mac_list = CC:CC:CC:00:03:00 CC:CC:CC:00:03:01
+ports_mac_list = CC:CC:CC:00:04:00 CC:CC:CC:00:04:01
+ports_mac_list = CC:CC:CC:00:05:00 CC:CC:CC:00:05:01
+ports_mac_list = CC:CC:CC:00:06:00 CC:CC:CC:00:06:01
+ports_mac_list = CC:CC:CC:00:07:00 CC:CC:CC:00:07:01
+
+[PIPELINE2]
+type = TIMER
+core = 0
+timer_dyn_timeout = 1000000
+n_flows = 2097152
+
+[PIPELINE3]
+type = CGNAPT
+core = 1
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.0 TXQ1.0 SWQ0
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 04040000:(1, 65535)
+public_ip_port_range = 04040001:(1, 65535)
+public_ip_port_range = 04040002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE4]
+type = CGNAPT
+core = 1h
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.1 TXQ1.1 SWQ1
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE5]
+type = CGNAPT
+core = 2
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.0 TXQ3.0 SWQ2
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 05050000:(1, 65535)
+public_ip_port_range = 05050001:(1, 65535)
+public_ip_port_range = 05050002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE6]
+type = CGNAPT
+core = 2h
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.1 TXQ3.1 SWQ3
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE7]
+type = CGNAPT
+core = 3
+pktq_in = RXQ4.0 RXQ5.0
+pktq_out = TXQ4.0 TXQ5.0 SWQ4
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 06060000:(1, 65535)
+public_ip_port_range = 06060001:(1, 65535)
+public_ip_port_range = 06060002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE8]
+type = CGNAPT
+core = 3h
+pktq_in = RXQ4.1 RXQ5.1
+pktq_out = TXQ4.1 TXQ5.1 SWQ5
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE9]
+type = CGNAPT
+core = 4
+pktq_in = RXQ6.0 RXQ7.0
+pktq_out = TXQ6.0 TXQ7.0 SWQ6
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 07070000:(1, 65535)
+public_ip_port_range = 07070001:(1, 65535)
+public_ip_port_range = 07070002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE10]
+type = CGNAPT
+core = 4h
+pktq_in = RXQ6.1 RXQ7.1
+pktq_out = TXQ6.1 TXQ7.1 SWQ7
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE11]
+type = CGNAPT
+core = 5
+pktq_in = RXQ8.0 RXQ9.0
+pktq_out = TXQ8.0 TXQ9.0 SWQ8
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 08080000:(1, 65535)
+public_ip_port_range = 08080001:(1, 65535)
+public_ip_port_range = 08080002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE12]
+type = CGNAPT
+core = 5h
+pktq_in = RXQ8.1 RXQ9.1
+pktq_out = TXQ8.1 TXQ9.1 SWQ9
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE13]
+type = CGNAPT
+core = 6
+pktq_in = RXQ10.0 RXQ11.0
+pktq_out = TXQ10.0 TXQ11.0 SWQ10
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+public_ip_port_range = 09090000:(1, 65535)
+public_ip_port_range = 09090001:(1, 65535)
+public_ip_port_range = 09090002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE14]
+type = CGNAPT
+core = 6h
+pktq_in = RXQ10.1 RXQ11.1
+pktq_out = TXQ10.1 TXQ11.1 SWQ11
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
diff --git a/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt
new file mode 100644
index 0000000..9b66437
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt
@@ -0,0 +1,57 @@
+
+p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01
+p 1 arpadd 1 172.16.40.20 00:00:00:A1:3A:79
+p 1 arpadd 2 193.16.100.20 00:00:00:00:00:02
+p 1 arpadd 3 173.16.40.20 00:00:00:A1:3A:81
+p 1 arpadd 4 194.16.100.20 00:00:00:00:00:03
+p 1 arpadd 5 174.16.40.20 00:00:00:A1:3A:41
+p 1 arpadd 6 195.16.100.20 00:00:00:00:00:04
+p 1 arpadd 7 175.16.40.20 00:00:00:A1:3A:43
+p 1 arpadd 8 196.16.100.20 00:00:00:00:00:05
+p 1 arpadd 9 176.16.40.20 00:00:00:37:db:09
+p 1 arpadd 10 197.16.100.20 00:00:00:00:00:06
+p 1 arpadd 11 177.16.40.20 00:00:00:37:db:11
+
+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_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_sym_hash_ena_per_port 4 enable
+set_hash_global_config 4 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 5 enable
+set_hash_global_config 5 simple_xor ipv4-udp enable
+set_hash_input_set 4 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 5 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 6 enable
+set_hash_global_config 6 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 7 enable
+set_hash_global_config 7 simple_xor ipv4-udp enable
+set_hash_input_set 6 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 7 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 8 enable
+set_hash_global_config 8 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 9 enable
+set_hash_global_config 9 simple_xor ipv4-udp enable
+set_hash_input_set 8 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 9 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 10 enable
+set_hash_global_config 10 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 11 enable
+set_hash_global_config 11 simple_xor ipv4-udp enable
+set_hash_input_set 10 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 11 ipv4-udp dst-ipv4 udp-dst-port add
+
+p 1 arpls
diff --git a/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg
new file mode 100644
index 0000000..908543c
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg
@@ -0,0 +1,454 @@
+[EAL]
+n = 4
+file_prefix = cgnat_1
+m = 8192
+
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 0
+pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9 SWQ10 SWQ11 SWQ12 SWQ13 SWQ14 SWQ15 SWQ16 SWQ17 SWQ18 SWQ19
+pktq_out = TXQ0.2 TXQ1.2 TXQ2.2 TXQ3.2 TXQ4.2 TXQ5.2 TXQ6.2 TXQ7.2 TXQ8.2 TXQ9.2 TXQ10.2 TXQ11.2 TXQ12.2 TXQ13.2 TXQ14.2 TXQ15.2 TXQ16.2 TXQ17.2 TXQ18.2 TXQ19.2
+arp_route_tbl = (c0106414,FFFF0000,0,c0106414)
+arp_route_tbl = (ac102814,FFFF0000,1,ac102814)
+arp_route_tbl = (c1106414,FFFF0000,2,c1106414)
+arp_route_tbl = (ad102814,FFFF0000,3,ad102814)
+arp_route_tbl = (c2106414,FFFF0000,4,c2106414)
+arp_route_tbl = (ae102814,FFFF0000,5,ae102814)
+arp_route_tbl = (c3106414,FFFF0000,6,c3106414)
+arp_route_tbl = (af102814,FFFF0000,7,af102814)
+arp_route_tbl = (c4106414,FFFF0000,8,c4106414)
+arp_route_tbl = (b0102814,FFFF0000,9,b0102814)
+arp_route_tbl = (c5106414,FFFF0000,a,c5106414)
+arp_route_tbl = (b1102814,FFFF0000,b,b1102814)
+arp_route_tbl = (c6106414,FFFF0000,c,c6106414)
+arp_route_tbl = (b2102814,FFFF0000,d,b2102814)
+arp_route_tbl = (c7106414,FFFF0000,e,c7106414)
+arp_route_tbl = (b3102814,FFFF0000,f,b3102814)
+arp_route_tbl = (c8106414,FFFF0000,10,c8106414)
+arp_route_tbl = (b4102814,FFFF0000,11,b4102814)
+arp_route_tbl = (c9106414,FFFF0000,12,c9106414)
+arp_route_tbl = (b5102814,FFFF0000,13,b5102814)
+pktq_in_prv = RXQ0.0 RXQ2.0 RXQ4.0 RXQ6.0 RXQ8.0 RXQ10.0 RXQ12.0 RXQ14.0 RXQ16.0 RXQ18.0
+prv_to_pub_map = (0, 1)(2, 3)(4, 5)(6, 7)(8, 9) (10, 11)(12, 13)(14, 15)(16, 17)(18, 19)
+ports_mac_list = CC:CC:CC:00:00:00 CC:CC:CC:00:00:01
+ports_mac_list = CC:CC:CC:00:01:00 CC:CC:CC:00:01:01
+ports_mac_list = CC:CC:CC:00:02:00 CC:CC:CC:00:02:01
+ports_mac_list = CC:CC:CC:00:03:00 CC:CC:CC:00:03:01
+ports_mac_list = CC:CC:CC:00:04:00 CC:CC:CC:00:04:01
+ports_mac_list = CC:CC:CC:00:05:00 CC:CC:CC:00:05:01
+ports_mac_list = CC:CC:CC:00:06:00 CC:CC:CC:00:06:01
+ports_mac_list = CC:CC:CC:00:07:00 CC:CC:CC:00:07:01
+ports_mac_list = CC:CC:CC:00:08:00 CC:CC:CC:00:08:01
+ports_mac_list = CC:CC:CC:00:09:00 CC:CC:CC:00:09:01
+
+
+[PIPELINE2]
+type = TIMER
+core = 0
+timer_dyn_timeout = 1000000
+n_flows = 2097152
+
+[PIPELINE3]
+type = CGNAPT
+core = 1
+pktq_in = RXQ0.0 RXQ1.0
+pktq_out = TXQ0.0 TXQ1.0 SWQ0
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 04040000:(1, 65535)
+public_ip_port_range = 04040001:(1, 65535)
+public_ip_port_range = 04040002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE4]
+type = CGNAPT
+core = 1h
+pktq_in = RXQ0.1 RXQ1.1
+pktq_out = TXQ0.1 TXQ1.1 SWQ1
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE5]
+type = CGNAPT
+core = 2
+pktq_in = RXQ2.0 RXQ3.0
+pktq_out = TXQ2.0 TXQ3.0 SWQ2
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 05050000:(1, 65535)
+public_ip_port_range = 05050001:(1, 65535)
+public_ip_port_range = 05050002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE6]
+type = CGNAPT
+core = 2h
+pktq_in = RXQ2.1 RXQ3.1
+pktq_out = TXQ2.1 TXQ3.1 SWQ3
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE7]
+type = CGNAPT
+core = 3
+pktq_in = RXQ4.0 RXQ5.0
+pktq_out = TXQ4.0 TXQ5.0 SWQ4
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 06060000:(1, 65535)
+public_ip_port_range = 06060001:(1, 65535)
+public_ip_port_range = 06060002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE8]
+type = CGNAPT
+core = 3h
+pktq_in = RXQ4.1 RXQ5.1
+pktq_out = TXQ4.1 TXQ5.1 SWQ5
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE9]
+type = CGNAPT
+core = 4
+pktq_in = RXQ6.0 RXQ7.0
+pktq_out = TXQ6.0 TXQ7.0 SWQ6
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 07070000:(1, 65535)
+public_ip_port_range = 07070001:(1, 65535)
+public_ip_port_range = 07070002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE10]
+type = CGNAPT
+core = 4h
+pktq_in = RXQ6.1 RXQ7.1
+pktq_out = TXQ6.1 TXQ7.1 SWQ7
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE11]
+type = CGNAPT
+core = 5
+pktq_in = RXQ8.0 RXQ9.0
+pktq_out = TXQ8.0 TXQ9.0 SWQ8
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 08080000:(1, 65535)
+public_ip_port_range = 08080001:(1, 65535)
+public_ip_port_range = 08080002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE12]
+type = CGNAPT
+core = 5h
+pktq_in = RXQ8.1 RXQ9.1
+pktq_out = TXQ8.1 TXQ9.1 SWQ9
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE13]
+type = CGNAPT
+core = 6
+pktq_in = RXQ10.0 RXQ11.0
+pktq_out = TXQ10.0 TXQ11.0 SWQ10
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 09090000:(1, 65535)
+public_ip_port_range = 09090001:(1, 65535)
+public_ip_port_range = 09090002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE14]
+type = CGNAPT
+core = 6h
+pktq_in = RXQ10.1 RXQ11.1
+pktq_out = TXQ10.1 TXQ11.1 SWQ11
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE15]
+type = CGNAPT
+core = 7
+pktq_in = RXQ12.0 RXQ13.0
+pktq_out = TXQ12.0 TXQ13.0 SWQ12
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 0a0a0000:(1, 65535)
+public_ip_port_range = 0a0a0001:(1, 65535)
+public_ip_port_range = 0a0a0002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE16]
+type = CGNAPT
+core = 7h
+pktq_in = RXQ12.1 RXQ13.1
+pktq_out = TXQ12.1 TXQ13.1 SWQ13
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE17]
+type = CGNAPT
+core = 8
+pktq_in = RXQ14.0 RXQ15.0
+pktq_out = TXQ14.0 TXQ15.0 SWQ14
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 0b0b0000:(1, 65535)
+public_ip_port_range = 0b0b0001:(1, 65535)
+public_ip_port_range = 0b0b0002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE18]
+type = CGNAPT
+core = 8h
+pktq_in = RXQ14.1 RXQ15.1
+pktq_out = TXQ14.1 TXQ15.1 SWQ15
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE19]
+type = CGNAPT
+core = 9
+pktq_in = RXQ16.0 RXQ17.0
+pktq_out = TXQ16.0 TXQ17.0 SWQ16
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 0c0c0000:(1, 65535)
+public_ip_port_range = 0c0c0001:(1, 65535)
+public_ip_port_range = 0c0c0002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE20]
+type = CGNAPT
+core = 9h
+pktq_in = RXQ16.1 RXQ17.1
+pktq_out = TXQ16.1 TXQ17.1 SWQ17
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE21]
+type = CGNAPT
+core = 10
+pktq_in = RXQ18.0 RXQ19.0
+pktq_out = TXQ18.0 TXQ19.0 SWQ18
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+public_ip_port_range = 0d0d0000:(1, 65535)
+public_ip_port_range = 0d0d0001:(1, 65535)
+public_ip_port_range = 0d0d0002:(1, 10)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE22]
+type = CGNAPT
+core = 10h
+pktq_in = RXQ18.1 RXQ19.1
+pktq_out = TXQ18.1 TXQ19.1 SWQ19
+phyport_offset = 204
+n_flows = 2097152
+key_offset = 192;64
+key_size = 8
+hash_offset = 200;72
+timer_period = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 1000000
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
diff --git a/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt
new file mode 100644
index 0000000..20bacb7
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt
@@ -0,0 +1,95 @@
+
+p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01
+p 1 arpadd 1 172.16.40.20 00:00:00:9F:32:71
+p 1 arpadd 2 193.16.100.20 00:00:00:00:00:02
+p 1 arpadd 3 173.16.40.20 00:00:00:9F:32:73
+p 1 arpadd 4 194.16.100.20 00:00:00:00:00:03
+p 1 arpadd 5 174.16.40.20 00:00:00:A0:0D:C1
+p 1 arpadd 6 195.16.100.20 00:00:00:00:00:04
+p 1 arpadd 7 175.16.40.20 00:00:00:A0:0D:C3
+p 1 arpadd 8 196.16.100.20 00:00:00:00:00:05
+p 1 arpadd 9 176.16.40.20 00:00:00:a4:ed:01
+p 1 arpadd 10 197.16.100.20 00:00:00:00:00:06
+p 1 arpadd 11 177.16.40.20 00:00:00:a4:ed:03
+p 1 arpadd 12 198.16.100.20 00:00:00:00:00:07
+p 1 arpadd 13 178.16.40.20 00:00:00:9f:37:c1
+p 1 arpadd 14 199.16.100.20 00:00:00:00:00:08
+p 1 arpadd 15 179.16.40.20 00:00:00:9f:37:c3
+p 1 arpadd 16 200.16.100.20 00:00:00:00:00:09
+p 1 arpadd 17 180.16.40.20 00:00:00:A5:4F:89
+p 1 arpadd 18 201.16.100.20 00:00:00:00:00:0a
+p 1 arpadd 19 181.16.40.20 00:00:00:A5:4F:8B
+
+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_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_sym_hash_ena_per_port 4 enable
+set_hash_global_config 4 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 5 enable
+set_hash_global_config 5 simple_xor ipv4-udp enable
+set_hash_input_set 4 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 5 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 6 enable
+set_hash_global_config 6 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 7 enable
+set_hash_global_config 7 simple_xor ipv4-udp enable
+set_hash_input_set 6 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 7 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 8 enable
+set_hash_global_config 8 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 9 enable
+set_hash_global_config 9 simple_xor ipv4-udp enable
+set_hash_input_set 8 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 9 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 10 enable
+set_hash_global_config 10 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 11 enable
+set_hash_global_config 11 simple_xor ipv4-udp enable
+set_hash_input_set 10 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 11 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 12 enable
+set_hash_global_config 12 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 13 enable
+set_hash_global_config 13 simple_xor ipv4-udp enable
+set_hash_input_set 12 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 13 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 14 enable
+set_hash_global_config 14 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 15 enable
+set_hash_global_config 15 simple_xor ipv4-udp enable
+set_hash_input_set 14 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 15 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 16 enable
+set_hash_global_config 16 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 17 enable
+set_hash_global_config 17 simple_xor ipv4-udp enable
+set_hash_input_set 16 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 17 ipv4-udp dst-ipv4 udp-dst-port add
+
+set_sym_hash_ena_per_port 18 enable
+set_hash_global_config 18 simple_xor ipv4-udp enable
+set_sym_hash_ena_per_port 19 enable
+set_hash_global_config 19 simple_xor ipv4-udp enable
+set_hash_input_set 18 ipv4-udp src-ipv4 udp-src-port add
+set_hash_input_set 19 ipv4-udp dst-ipv4 udp-dst-port add
+
+
+p 1 arpls
+
diff --git a/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg
new file mode 100644
index 0000000..7b313a0
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg
@@ -0,0 +1,68 @@
+[EAL]
+n = 4
+file_prefix = cgnat_1
+m = 4096
+
+[PIPELINE0]
+type = MASTER
+core = 0
+
+[PIPELINE1]
+type = ARPICMP
+core = 0
+pktq_in = SWQ0 SWQ1
+pktq_out = TXQ0.0 TXQ1.0
+arp_route_tbl = (c0106414,FFFF0000,0,c0106414)
+arp_route_tbl = (ac102814,FFFF0000,1,ac102814)
+#nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,0,0064:ff9b:0:0:0:0:c010:6414)
+#nd_route_tbl = (0064:ff9b:0:0:0:0:ac10:2814,120,1,0064:ff9b:0:0:0:0:ac10:2814)
+pktq_in_prv = RXQ0.0
+prv_to_pub_map = (0, 1)
+ports_mac_list = CC:CC:CC:00:00:00 CC:CC:CC:00:00:01
+
+[PIPELINE2]
+type = TIMER
+core = 0
+timer_dyn_timeout = 1000000
+n_flows = 1048576
+
+[PIPELINE3]
+type = CGNAPT
+core = 1
+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 = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100
+public_ip_port_range = 04040000:(1, 65535)
+public_ip_port_range = 04040001:(1, 65535)
+public_ip_port_range = 04040002:(1, 65535)
+vnf_set = (3,4,5)
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
+[PIPELINE4]
+type = CGNAPT
+core = 1h
+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 = 1000000;
+max_clients_per_ip = 65535
+max_port_per_client = 100
+pkt_type = ipv4
+cgnapt_meta_offset = 128
+prv_que_handler = (0,)
+hw_checksum_reqd = 1
+
diff --git a/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt
new file mode 100644
index 0000000..d3aa524
--- /dev/null
+++ b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt
@@ -0,0 +1,15 @@
+
+p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01
+p 1 arpadd 1 172.16.40.20 00:00:00:9F:32:71
+
+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
+
+p 1 arpls
+