aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot/ip
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libraries/robot/ip')
-rw-r--r--resources/libraries/robot/ip/ip4.robot13
-rw-r--r--resources/libraries/robot/ip/nat.robot127
2 files changed, 69 insertions, 71 deletions
diff --git a/resources/libraries/robot/ip/ip4.robot b/resources/libraries/robot/ip/ip4.robot
index 2dc2a72857..9855e129a4 100644
--- a/resources/libraries/robot/ip/ip4.robot
+++ b/resources/libraries/robot/ip/ip4.robot
@@ -32,13 +32,16 @@
| | ... | Type: string
| | ... | - remote_host2_ip - IP address of remote host2 (Optional).
| | ... | Type: string
+| | ... | - remote_host_mask - Mask of remote host IP addresses (Optional).
+| | ... | Type: string
| |
| | ... | *Example:*
| |
| | ... | \| Initialize IPv4 forwarding in circular topology \
-| | ... | \| 192.168.0.1 \| 192.168.0.2 \|
+| | ... | \| 192.168.0.1 \| 192.168.0.2 \| 24 \|
| |
| | [Arguments] | ${remote_host1_ip}=${NONE} | ${remote_host2_ip}=${NONE}
+| | ... | ${remote_host_mask}=32
| |
| | ${dut2_status} | ${value}= | Run Keyword And Ignore Error
| | ... | Variable Should Exist | ${dut2}
@@ -81,18 +84,18 @@
| | ... | interface=${DUT2_${int}1}[0]
| |
| | Run Keyword Unless | '${remote_host1_ip}' == '${NONE}'
-| | ... | Vpp Route Add | ${dut1} | ${remote_host1_ip} | 24
+| | ... | Vpp Route Add | ${dut1} | ${remote_host1_ip} | ${remote_host_mask}
| | ... | gateway=10.10.10.2 | interface=${DUT1_${int}1}[0]
| | Run Keyword Unless | '${remote_host2_ip}' == '${NONE}'
-| | ... | Vpp Route Add | ${dut} | ${remote_host2_ip} | 24
+| | ... | Vpp Route Add | ${dut} | ${remote_host2_ip} | ${remote_host_mask}
| | ... | gateway=20.20.20.2 | interface=${dut_if2}
| | Run Keyword Unless | '${remote_host1_ip}' == '${NONE}'
| | ... | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut1} | ${remote_host1_ip} | 24
+| | ... | Vpp Route Add | ${dut1} | ${remote_host1_ip} | ${remote_host_mask}
| | ... | gateway=1.1.1.2 | interface=${DUT1_${int}2}[0]
| | Run Keyword Unless | '${remote_host2_ip}' == '${NONE}'
| | ... | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut2} | ${remote_host2_ip} | 24
+| | ... | Vpp Route Add | ${dut2} | ${remote_host2_ip} | ${remote_host_mask}
| | ... | gateway=1.1.1.1 | interface=${DUT2_${int}1}[0]
| Initialize IPv4 forwarding with scaling in circular topology
diff --git a/resources/libraries/robot/ip/nat.robot b/resources/libraries/robot/ip/nat.robot
index e1c302e98a..8a970cf556 100644
--- a/resources/libraries/robot/ip/nat.robot
+++ b/resources/libraries/robot/ip/nat.robot
@@ -72,86 +72,81 @@
| |
| | Show NAT | ${node}
-| Initialize NAT44 in circular topology
-| | [Documentation] | Initialization of 2-node / 3-node topology with NAT44
-| | ... | between DUTs:
+| Initialize NAT44 deterministic mode in circular topology
+| | [Documentation] | Initialization of NAT44 deterministic mode on DUT1
+| |
+| | Configure inside and outside interfaces
+| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${DUT1_${int}2}[0]
+| | Configure deterministic mode for NAT44
+| | ... | ${dut1} | ${in_net} | ${in_mask} | ${out_net} | ${out_mask}
+
+| Initialize NAT44 endpoint-dependent mode in circular topology
+| | [Documentation] | Initialization of NAT44 endpoint-dependent mode on DUT1
+| |
+| | Configure inside and outside interfaces
+| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${DUT1_${int}2}[0]
+| | Set NAT44 Address Range
+| | ... | ${dut1} | ${out_net} | ${out_net_end}
+
+# TODO: Remove when 'ip4.Initialize IPv4 forwarding in circular topology' KW
+# adapted to use IP values from variables
+| Initialize IPv4 forwarding for NAT44 in circular topology
+| | [Documentation]
+| | ... | Set IPv4 forwarding for NAT44:
| | ... | - set interfaces up
| | ... | - set IP addresses
| | ... | - set ARP
| | ... | - create routes
-| | ... | - set NAT44 - only on DUT1
| |
-| | ${dut2_status} | ${value}= | Run Keyword And Ignore Error
+| | ${status} | ${value}= | Run Keyword And Ignore Error
| | ... | Variable Should Exist | ${dut2}
+| | ${dut2_status}= | Set Variable If | '${status}' == 'PASS' | ${True}
+| | ... | ${False}
| |
| | Set interfaces in path up
| |
-| | ${tg_if1_ip4}= | Get Variable Value | ${tg_if1_ip4} | 10.0.0.2
-| | ${tg_if1_mask}= | Get Variable Value | ${tg_if1_mask} | 20
-| | ${tg_if2_ip4}= | Get Variable Value | ${tg_if2_ip4} | 12.0.0.2
-| | ${tg_if2_mask}= | Get Variable Value | ${tg_if2_mask} | 20
-| | ${dut1_if1_ip4}= | Get Variable Value | ${dut1_if1_ip4} | 10.0.0.1
-| | ${dut1_if1_mask}= | Get Variable Value | ${dut1_if1_mask} | 20
-| | ${dut1_if2_ip4}= | Get Variable Value | ${dut1_if2_ip4} | 11.0.0.1
-| | ${dut1_if2_mask}= | Get Variable Value | ${dut2_if2_mask} | 20
-| | ${dut2_if1_ip4}= | Get Variable Value | ${dut2_if1_ip4} | 11.0.0.2
-| | ${dut2_if1_mask}= | Get Variable Value | ${dut2_if1_mask} | 20
-| | ${dut2_if2_ip4}= | Get Variable Value | ${dut2_if2_ip4} | 12.0.0.1
-| | ${dut2_if2_mask}= | Get Variable Value | ${dut2_if2_mask} | 20
-| | ${inside_net}= | Get Variable Value | ${inside_net} | 192.168.0.0
-| | ${inside_mask}= | Get Variable Value | ${inside_mask} | 16
-| | ${nat_net}= | Get Variable Value | ${nat_net} | 109.146.163.128
-| | ${nat_mask}= | Get Variable Value | ${nat_mask} | 26
-| | ${dest_net}= | Get Variable Value | ${dest_net} | 20.0.0.0
-| | ${dest_mask}= | Get Variable Value | ${dest_mask} | 24
-| |
-| | VPP Interface Set IP Address | ${dut1} | ${DUT1_${int}1}[0]
-| | ... | ${dut1_if1_ip4} | ${dut1_if1_mask}
-| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Interface Set IP Address | ${dut1} | ${DUT1_${int}2}[0]
-| | ... | ${dut1_if2_ip4} | ${dut1_if2_mask}
-| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Interface Set IP Address | ${dut2} | ${DUT2_${int}1}[0]
-| | ... | ${dut2_if1_ip4} | ${dut2_if1_mask}
-| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Set Variable | ${dut2}
-| | ... | ELSE | Set Variable | ${dut1}
-| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Set Variable | ${DUT2_${int}2}[0]
-| | ... | ELSE | Set Variable | ${DUT1_${int}2}[0]
-| | VPP Interface Set IP Address | ${dut} | ${dut_if2} | ${dut2_if2_ip4}
-| | ... | ${dut2_if2_mask}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${dut1_if1_ip4} | ${dut1_if1_mask}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${dut1_if2_ip4} | ${dut1_if2_mask}
+| | Run Keyword If | ${dut2_status}
+| | ... | VPP Interface Set IP Address
+| | ... | ${dut2} | ${DUT2_${int}1}[0] | ${dut2_if1_ip4} | ${dut2_if1_mask}
+| | Run Keyword If | ${dut2_status}
+| | ... | VPP Interface Set IP Address
+| | ... | ${dut2} | ${DUT2_${int}2}[0] | ${dut2_if2_ip4} | ${dut2_if2_mask}
| |
| | VPP Add IP Neighbor
| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${tg_if1_ip4} | ${TG_pf1_mac}[0]
-| | Run Keyword If | '${dut2_status}' == 'PASS'
+| | Run Keyword If | ${dut2_status}
| | ... | VPP Add IP Neighbor
| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${dut2_if1_ip4}
| | ... | ${DUT2_${int}1_mac}[0]
-| | Run Keyword If | '${dut2_status}' == 'PASS'
+| | ... | ELSE | VPP Add IP Neighbor
+| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${tg_if2_ip4} | ${TG_pf2_mac}[0]
+| | Run Keyword If | ${dut2_status}
| | ... | VPP Add IP Neighbor
-| | ... | ${dut2} | ${DUT2_${int}1}[0] | ${dut1_if2_ip4}
+| | ... | ${dut2} | ${DUT2_${int}1}[0] | ${dut1_if1_ip4}
| | ... | ${DUT1_${int}2_mac}[0]
-| | VPP Add IP Neighbor
-| | ... | ${dut} | ${dut_if2} | ${tg_if2_ip4} | ${TG_pf2_mac}[0]
-| |
-| | Vpp Route Add | ${dut1} | ${inside_net} | ${inside_mask}
-| | ... | gateway=${tg_if1_ip4} | interface=${DUT1_${int}1}[0]
-| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut1} | ${dest_net} | ${dest_mask}
-| | ... | gateway=${dut2_if1_ip4} | interface=${DUT1_${int}2}[0]
-| | Run Keyword Unless | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut1} | ${dest_net} | ${dest_mask}
-| | ... | gateway=${tg_if2_ip4} | interface=${DUT1_${int}2}[0]
-| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut2} | ${dest_net} | ${dest_mask}
-| | ... | gateway=${tg_if2_ip4} | interface=${DUT2_${int}2}[0]
-| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Vpp Route Add | ${dut2} | ${nat_net} | ${nat_mask}
-| | ... | gateway=${dut1_if2_ip4} | interface=${DUT2_${int}1}[0]
-| |
-| | Configure inside and outside interfaces
-| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${DUT1_${int}2}[0]
-| | Configure deterministic mode for NAT44
-| | ... | ${dut1} | ${inside_net} | ${inside_mask} | ${nat_net} | ${nat_mask}
-
+| | Run Keyword If | ${dut2_status}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${DUT2_${int}2}[0] | ${tg_if2_ip4}| ${TG_pf2_mac}[0]
+| |
+| | Vpp Route Add
+| | ... | ${dut1} | ${in_net} | ${in_mask} | gateway=${tg_if1_ip4}
+| | ... | interface=${DUT1_${int}1}[0]
+| | Run Keyword If | ${dut2_status}
+| | ... | Vpp Route Add
+| | ... | ${dut1} | ${dest_net} | ${dest_mask} | gateway=${dut2_if1_ip4}
+| | ... | interface=${DUT1_${int}2}[0]
+| | ... | ELSE | Vpp Route Add
+| | ... | ${dut1} | ${dest_net} | ${dest_mask} | gateway=${tg_if2_ip4}
+| | ... | interface=${DUT1_${int}2}[0]
+| | Run Keyword If | ${dut2_status}
+| | ... | Vpp Route Add
+| | ... | ${dut2} | ${dest_net} | ${dest_mask} | gateway=${tg_if2_ip4}
+| | ... | interface=${DUT2_${int}2}[0]
+| | Run Keyword If | ${dut2_status}
+| | ... | Vpp Route Add
+| | ... | ${dut2} | ${out_net} | ${out_mask} | gateway=${dut1_if2_ip4}
+| | ... | interface=${DUT2_${int}1}[0]