aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot/interfaces.robot
blob: 330cc79b2300f593f678263026805279822f728b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Copyright (c) 2016 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.NodePath
| Resource | resources/libraries/robot/vat/interfaces.robot

*** Keywords ***
| VPP reports interfaces on | [Arguments] | ${node}
| | VPP reports interfaces through VAT on | ${node}
#| | VPP reports interfaces through ODL on | ${node}
#| | VPP reports interfaces through DEBUGCLI on | ${node}

| Setup MTU on TG based on MTU on DUT
| | [Documentation] | Type of the tg_node must be TG and dut_node must be DUT
| | [Arguments] | ${tg_node} | ${dut_node}
| | Append Nodes | ${tg_node} | ${dut_node}
| | Compute Path
| | ${tg_port} | ${tg_node}= | First Interface
| | ${dut_port} | ${dut_node}= | Last Interface
| | # get physical layer MTU (max. size of Ethernet frame)
| | ${mtu}= | Get Interface MTU | ${dut_node} | ${dut_port}
| | # Ethernet MTU is physical layer MTU minus size of Ethernet header and FCS
| | ${eth_mtu}= | Evaluate | ${mtu} - 14 - 4
| | Set Interface Ethernet MTU | ${tg_node} | ${tg_port} | ${eth_mtu}

| Interfaces on all VPP nodes in the path are up
| | [Documentation] | Wait until all interfaces of the given VPP node
| | ...             | with admin-up state are in link-up state.
| | ...
| | ... | *Arguments:*
| | ... | - @{node_list} - DUT nodes. Type: list
| | ...
| | ... | *Return:*
| | ... | - No value returned
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Interfaces on all VPP nodes in the path are up \
| | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \|
| | [Arguments] | @{node_list}
| | :FOR | ${node} | IN | @{node_list}
| |      | VPP Node Interfaces Ready Wait | ${node}