rpf package

eth2p-ethip4-ip4base-rpf-func module

TC01: VPP source RPF check on IPv4 src-addr

[Top] TG-DUT1-DUT2-TG [Cfg] On DUT1 setup IP source check. [Ver] Make TG verify matching packets which source address is not in routes are dropped.


Given Path for 3-node testing is set  ${nodes['TG']}  ${nodes['DUT1']}  ${nodes['DUT2']}  ${nodes['TG']}
  And Interfaces in 3-node path are up
  And Set Interface Address  ${dut1_node}  ${dut1_to_tg}  ${dut1_to_tg_ip}  ${prefix_length}
  And Set Interface Address  ${dut1_node}  ${dut1_to_dut2}  ${dut1_to_dut2_ip}  ${prefix_length}
  And Add Arp On Dut  ${dut1_node}  ${dut1_to_dut2}  ${dut1_to_dut2_ip_GW}  ${tg_to_dut2_mac}
  And Vpp Route Add  ${dut1_node}  ${test_dst_ip}  ${prefix_length}  ${dut1_to_dut2_ip_GW}  ${dut1_to_dut2}  resolve_attempts=${NONE}
  And Add Arp On Dut  ${dut1_node}  ${dut1_to_tg}  ${dut1_to_tg_ip_GW}  ${tg_to_dut1_mac}
  And Vpp Route Add  ${dut1_node}  ${pass_test_src_ip}  ${prefix_length}  ${dut1_to_tg_ip_GW}  ${dut1_to_tg}  resolve_attempts=${NONE}
  And L2 setup xconnect on DUT  ${dut2_node}  ${dut2_to_dut1}  ${dut2_to_tg}
 Then Send Packet And Check Headers  ${tg_node}  ${pass_test_src_ip}  ${test_dst_ip}  ${tg_to_dut1}  ${tg_to_dut1_mac}  ${dut1_to_tg_mac}  ${tg_to_dut2}  ${dut1_to_dut2_mac}  ${tg_to_dut2_mac}
  And Send Packet And Check Headers  ${tg_node}  ${drop_test_src_ip}  ${test_dst_ip}  ${tg_to_dut1}  ${tg_to_dut1_mac}  ${dut1_to_tg_mac}  ${tg_to_dut2}  ${dut1_to_dut2_mac}  ${tg_to_dut2_mac}
${dut1_to_tg_name}=  Get Interface Name  ${dut1_node}  ${dut1_to_tg}
 When VPP IP Source Check Setup  ${dut1_node}  ${dut1_to_tg_name}
 Then Send Packet And Check Headers  ${tg_node}  ${pass_test_src_ip}  ${test_dst_ip}  ${tg_to_dut1}  ${tg_to_dut1_mac}  ${dut1_to_tg_mac}  ${tg_to_dut2}  ${dut1_to_dut2_mac}  ${tg_to_dut2_mac}
  And Send Packet And Check Headers  ${tg_node}  ${dut1_to_tg_ip_GW}  ${test_dst_ip}  ${tg_to_dut1}  ${tg_to_dut1_mac}  ${dut1_to_tg_mac}  ${tg_to_dut2}  ${dut1_to_dut2_mac}  ${tg_to_dut2_mac}
  And Send packet from Port to Port should failed  ${tg_node}  ${drop_test_src_ip}  ${test_dst_ip}  ${tg_to_dut1}  ${tg_to_dut1_mac}  ${dut1_to_tg_mac}  ${tg_to_dut2}  ${dut1_to_dut2_mac}  ${tg_to_dut2_mac}

TC02: VPP pass traffic on non-enabled RPF interface

[Top] TG-DUT1-DUT2-TG [Cfg] On DUT1 setup IP source check. [Ver] Make TG verify matching packets on non-enabled RPF interface are passed.


Given Path for 3-node testing is set  ${nodes['TG']}  ${nodes['DUT1']}  ${nodes['DUT2']}  ${nodes['TG']}
  And Interfaces in 3-node path are up
  And Set Interface Address  ${dut1_node}  ${dut1_to_tg}  ${dut1_to_tg_ip}  ${prefix_length}
  And Set Interface Address  ${dut1_node}  ${dut1_to_dut2}  ${dut1_to_dut2_ip}  ${prefix_length}
  And Add Arp On Dut  ${dut1_node}  ${dut1_to_dut2}  ${dut1_to_dut2_ip_GW}  ${tg_to_dut2_mac}
  And Vpp Route Add  ${dut1_node}  ${test_dst_ip}  ${prefix_length}  ${dut1_to_dut2_ip_GW}  ${dut1_to_dut2}  resolve_attempts=${NONE}
  And Add Arp On Dut  ${dut1_node}  ${dut1_to_tg}  ${dut1_to_tg_ip_GW}  ${tg_to_dut1_mac}
  And Vpp Route Add  ${dut1_node}  ${pass_test_src_ip}  ${prefix_length}  ${dut1_to_tg_ip_GW}  ${dut1_to_tg}  resolve_attempts=${NONE}
  And L2 setup xconnect on DUT  ${dut2_node}  ${dut2_to_dut1}  ${dut2_to_tg}
${dut1_to_tg_name}=  Get Interface Name  ${dut1_node}  ${dut1_to_tg}
 When VPP IP Source Check Setup  ${dut1_node}  ${dut1_to_tg_name}
 Then Send Packet And Check Headers  ${tg_node}  ${test_dst_ip}  ${pass_test_src_ip}  ${tg_to_dut2}  ${tg_to_dut2_mac}  ${dut1_to_dut2_mac}  ${tg_to_dut1}  ${dut1_to_tg_mac}  ${tg_to_dut1_mac}
  And Send Packet And Check Headers  ${tg_node}  ${test_dst_ip}  ${dut1_to_tg_ip_GW}  ${tg_to_dut2}  ${tg_to_dut2_mac}  ${dut1_to_dut2_mac}  ${tg_to_dut1}  ${dut1_to_tg_mac}  ${tg_to_dut1_mac}