go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/libraries/interface/vxlan.robot (about)

     1  [Documentation]     Keywords for working with vxlan interfaces using VPP API and cli terminal
     2  
     3  *** Settings ***
     4  Library     vxlan_utils.py
     5  
     6  Resource    ../vpp_api.robot
     7  Resource    interface_generic.robot
     8  
     9  *** Variables ***
    10  ${terminal_timeout}=      30s
    11  ${bd_timeout}=            15s
    12  ${tunnel_timeout}=        15s
    13  
    14  *** Keywords ***
    15  
    16  vpp_api: Check VXLan Interface State
    17      [Arguments]          ${node}    ${name}    @{desired_state}
    18      ${internal_name}=    Get Interface Internal Name    ${node}    ${name}
    19      ${internal_index}=   vpp_api: Get Interface Index    ${node}    ${internal_name}
    20      ${vxlan_data_list}=       vpp_api: VXLan Tunnel Dump    ${node}
    21      ${vxlan_data}=         Filter VXLan Tunnel Dump By Index    ${vxlan_data_list}    ${internal_index}
    22      ${interfaces}=       vpp_api: Interfaces Dump    ${node}
    23      ${int_state}=        vpp_api: Get Interface State By Index    ${node}    ${internal_index}
    24      ${src}=              Set Variable    ${vxlan_data["src_address"]}
    25      ${dst}=              Set Variable    ${vxlan_data["dst_address"]}
    26      ${vni}=              Set Variable    ${vxlan_data["vni"]}
    27      ${enabled}=          Set Variable    ${int_state["admin_up_down"]}
    28      ${actual_state}=     Create List    src=${src}    dst=${dst}    vni=${vni}    enabled=${enabled}
    29      List Should Contain Sub List    ${actual_state}    ${desired_state}
    30      [Return]             ${actual_state}
    31  
    32  vpp_api: VXLan Tunnel Dump
    33      [Arguments]        ${node}
    34      [Documentation]    Executing command vxlan_tunnel_dump
    35      ${out}=            VXLan Tunnel Dump    ${DOCKER_HOST_IP}    ${DOCKER_HOST_USER}    ${DOCKER_HOST_PSWD}    ${node}
    36      [Return]           ${out}
    37  
    38  vpp_api: Check VXLan Tunnel Presence
    39      [Arguments]        ${node}     ${src}    ${dst}    ${vni}    ${status}=${TRUE}
    40      [Documentation]    Checking if specified vxlan tunnel exists
    41      ${out}=            vpp_api: VXLan Tunnel Dump    ${node}
    42      ${result}  ${if_index}=    Check VXLan Tunnel Presence From API    ${out}    ${src}    ${dst}    ${vni}
    43      Should Be Equal    ${result}    ${status}
    44      [Return]           ${if_index}
    45  
    46  VXLan Tunnel Is Created
    47      [Arguments]    ${node}    ${src}    ${dst}    ${vni}
    48      ${int_index}=  Wait Until Keyword Succeeds    ${tunnel_timeout}   3s
    49      ...    vpp_api: Check VXLan Tunnel Presence    ${node}    ${src}    ${dst}    ${vni}
    50      [Return]       ${int_index}
    51  
    52  VXLan Tunnel Is Deleted
    53      [Arguments]    ${node}    ${src}    ${dst}    ${vni}
    54      Wait Until Keyword Succeeds    ${tunnel_timeout}   3s    vpp_api: Check VXLan Tunnel Presence    ${node}    ${src}    ${dst}    ${vni}    ${NONE}
    55  
    56  VXLan Tunnel Exists
    57      [Arguments]    ${node}    ${src}    ${dst}    ${vni}
    58      ${int_index}=  vat_term: Check VXLan Tunnel Presence    ${node}    ${src}    ${dst}    ${vni}
    59      [Return]       ${int_index}
    60  
    61  VXLan Tunnel Not Exists
    62      [Arguments]    ${node}    ${src}    ${dst}    ${vni}
    63      vpp_api: Check VXLan Tunnel Presence    ${node}    ${src}    ${dst}    ${vni}    ${NONE}
    64