| Library | resources.libraries.python.L2Util
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.IPv4Util
+| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.IPv4Setup
| Library | resources.libraries.python.NodePath
| | ${DUT2_INT_INDEX}= | Run Keyword If | ${DUT2_INT_INDEX} is None
| | | ... | Get Interface Sw Index | ${DUT2} | ${DUT2_INT_KEY}
| | | ... | ELSE | Set Variable | ${DUT2_INT_INDEX}
+| | ${DUT1_INT_MAC}= | Vpp Get Interface Mac | ${DUT1} | ${DUT1_INT_INDEX}
+| | ${DUT2_INT_MAC}= | Vpp Get Interface Mac | ${DUT2} | ${DUT2_INT_INDEX}
| | Set Interface Address | ${DUT1} | ${DUT1_INT_INDEX}
| | ... | ${dut1s_ip_address} | ${duts_ip_address_prefix}
| | Set Interface Address | ${DUT2} | ${DUT2_INT_INDEX}
| | ... | ${dut2s_ip_address} | ${duts_ip_address_prefix}
-| | VPP IP Probe | ${DUT1} | ${DUT1_INT_NAME} | ${dut2s_ip_address} | if_type=name
-| | VPP IP Probe | ${DUT2} | ${DUT2_INT_NAME} | ${dut1s_ip_address} | if_type=name
+| | Add IP Neighbor | ${DUT1} | ${DUT1_INT_INDEX} | ${dut2s_ip_address} | ${DUT2_INT_MAC}
+| | Add IP Neighbor | ${DUT2} | ${DUT2_INT_INDEX} | ${dut1s_ip_address} | ${DUT1_INT_MAC}
| VXLAN interface is created
| | [Arguments] | ${DUT} | ${VNI} | ${SRC_IP} | ${DST_IP}
| | Set Test Variable | ${dut1s_vlan_index}
| | Set Test Variable | ${dut2s_vlan_name}
| | Set Test Variable | ${dut2s_vlan_index}
+
+| Send VXLAN receive VXLAN Packet
+| | [Documentation] | Send VXLAN encapsulated Ethernet frame and check \
+| | ... | received one.
+| | ...
+| | ... | *Arguments:*
+| | ... | - tg_node - Node where to run traffic script. Type: dictionary
+| | ... | - tx_if - Interface from where send VXLAN packet. Type: string
+| | ... | - rx_if - Interface where receive VXLAN packet. Type: string
+| | ... | - tx_src_mac - Source MAC address of sent packet. Type: string
+| | ... | - tx_dst_mac - Destination MAC address of sent packet. Type: string
+| | ... | - tx_src_ip - Source IP address of sent VXLAN packet. Type: string
+| | ... | - tx_dst_ip - Destination IP address of sent VXLAN packet.
+| | ... | Type: string
+| | ... | - tx_vni - VNI of sent VXLAN packet. Type: string
+| | ... | - rx_src_ip - Source IP address of received VXLAN packet. Type: string
+| | ... | - rx_dst_ip - Destination IP address of received VXLAN packet.
+| | ... | Type: string
+| | ... | - rx_vni - VNI of received VXLAN packet. Type: string
+| | ...
+| | ... | *Return:*
+| | ... | - No value returned
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Send VXLAN receive VXLAN Packet \| ${tg_node} \| port4 \| port4 \
+| | ... | \| fa:16:3e:6d:f9:c5 \| fa:16:3e:e6:6d:9a \| 192.168.0.1 \
+| | ... | \| 192.168.0.2 \| ${101} \| 192.168.0.2 \| 192.168.0.1 \| ${102} \|
+| | ...
+| | [Arguments] | ${tg_node} | ${tx_if} | ${rx_if}
+| | ... | ${tx_src_mac} | ${tx_dst_mac}
+| | ... | ${tx_src_ip} | ${tx_dst_ip} | ${tx_vni}
+| | ... | ${rx_src_ip} | ${rx_dst_ip} | ${rx_vni}
+| | ${tx_if_name}= | Get interface name | ${tg_node} | ${tx_if}
+| | ${rx_if_name}= | Get interface name | ${tg_node} | ${rx_if}
+| | ${args}= | Catenate
+| | ... | --tx_if ${tx_if_name}
+| | ... | --rx_if ${rx_if_name}
+| | ... | --tx_src_mac ${tx_src_mac}
+| | ... | --tx_dst_mac ${tx_dst_mac}
+| | ... | --tx_src_ip ${tx_src_ip}
+| | ... | --tx_dst_ip ${tx_dst_ip}
+| | ... | --tx_vni ${tx_vni}
+| | ... | --rx_src_ip ${rx_src_ip}
+| | ... | --rx_dst_ip ${rx_dst_ip}
+| | ... | --rx_vni ${rx_vni}
+| | Run Traffic Script On Node | send_vxlan_check_vxlan.py | ${tg_node} | ${args}