Perf: NAT44 endpoint-dependent mode - udp, part I
[csit.git] / resources / libraries / robot / ip / nat.robot
index e1c302e..8a970cf 100644 (file)
 | |
 | | 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]