diff options
author | Luc Provoost <luc.provoost@intel.com> | 2021-04-08 19:48:33 +0200 |
---|---|---|
committer | Luc Provoost <luc.provoost@intel.com> | 2021-04-08 19:48:33 +0200 |
commit | 9efb0fe5411cd3cd4eb7b8a6dbf2645ed18dbd1d (patch) | |
tree | 194020974ea37719c1e2b2d0dcdfa3442de3041f /VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg | |
parent | fe0605c7cfdbe6b566ce1ebe78f9f12dfce89e65 (diff) |
cgnat test case added
A cgnat test can now be executed. This test needs 3 PROX instances. The
first one, the generator needs to have an interface on the private
dataplane network. The second instance, the cgnat needs to have it's
first dataplane interface on the private network, while the second data
plane needs to be on the public network. The third instance will be
playing the role of internet server that the generator is connecting to.
It will have one dataplane interface on the public network. This third
instance will increase the packet size of the received packets by
padding it with zeros and it will send the packets back to the cgnat
mutliple times. How many times is defined by a multiplier in the
cgnat.cfg file.
In that cgnat file, we also define a range of IP addresses that will be
used for the dynamic source IP NAT-ing. Make sure that the ports are
allowed to accept other IP addresses than their own (e.g. allowed
address pairs) and that the range of IP addresses is not overlapping
with other machines in the public network.
Change-Id: Ibc1c8513ac4e8a304378814fceb28c090dff895f
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg')
-rw-r--r-- | VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg new file mode 100644 index 00000000..75267f35 --- /dev/null +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/configs/cgnat.cfg @@ -0,0 +1,81 @@ +;; +;; Copyright (c) 2021 Intel Corporation +;; +;; Licensed under the Apache License, Version 2.0 (the "License"); +;; you may not use this file except in compliance with the License. +;; You may obtain a copy of the License at +;; +;; http://www.apache.org/licenses/LICENSE-2.0 +;; +;; Unless required by applicable law or agreed to in writing, software +;; distributed under the License is distributed on an "AS IS" BASIS, +;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +;; See the License for the specific language governing permissions and +;; limitations under the License. +;; + +[lua] +dofile("parameters.lua") +public_start_ip = string.match(dest_ip1,"%d+\.%d+\.%d+\.")..2 +public_stop_ip = string.match(dest_ip1,"%d+\.%d+\.%d+\.")..20 +cgnat_table = {} +cgnat_table.dynamic = { + {public_ip_range_start = ip(public_start_ip),public_ip_range_stop = ip(public_stop_ip), public_port = val_range(10,20000)}, +} +lpm4 = {} +lpm4.next_hops = { + {id = 0, port_id = 0, ip = ip("1.1.1.1"), mac = mac("00:00:00:00:00:01"), mpls = 0x212}, +} +lpm4.routes = {}; +lpm4.routes[1] = { + cidr = {ip = ip(0), depth = 1}, + next_hop_id = 0, +} + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=if0 +mac=hardware +vlan=yes +vdev=internal_tap +local ipv4=${local_ip1} + +[port 1] +name=if1 +mac=hardware +vlan=yes +vdev=external_tap +local ipv4=${local_ip2} + +[defaults] +mempool size=8K + +[global] +name=${name} + +[core $mcore] +mode=master + +[core $cores] +name=nat +task=0 +mode=cgnat +sub mode=l3 +private=yes +nat table=cgnat_table +route table=lpm4 +rx port=if0 +tx ports from routing table=if1 + +task=1 +mode=cgnat +sub mode=l3 +private=no +nat table=cgnat_table +route table=lpm4 +rx port=if1 +tx ports from routing table=if0 |