blob: 5c9e0bbed23ec29e871a96a1f4acb37788dcc5d2 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
# 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 ***
| Force Tags | 3_NODE_DOUBLE_LINK_TOPO | VM_ENV | HW_ENV
| Resource | resources/libraries/robot/policer.robot
| Library | resources.libraries.python.Trace
| Test Setup | Run Keywords | Setup all DUTs before test
| ... | AND | Setup all TGs before traffic script
| ... | AND | Setup Topology for IPv4 policer testing
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| ... | AND | Show vpp trace dump on all DUTs
| Documentation | *IPv4 policer test cases*
| ...
| ... | *[Top] Network topologies:* TG=DUT1 2-node topology with two links\
| ... | between nodes.
| ... | *[Cfg] DUT configuration:* On DUT1 configure interfaces IPv4 adresses,\
| ... | and static ARP record on the second interface.
| ... | *[Ver] TG verification:* Test packet is sent from TG on the first link\
| ... | to DUT1. Packet is received on TG on the second link from DUT1.
| ... | *[Ref] Applicable standard specifications:* RFC2474, RFC2697, RFC2698.
*** Variables ***
| ${tg_to_dut_if1_ip4}= | 192.168.122.2
| ${tg_to_dut_if2_ip4}= | 192.168.123.2
| ${dut_to_tg_if1_ip4}= | 192.168.122.1
| ${dut_to_tg_if2_ip4}= | 192.168.123.1
| ${ip4_plen}= | ${24}
| ${cir}= | ${100}
| ${eir}= | ${150}
| ${cb}= | ${200}
| ${eb}= | ${300}
*** Test Cases ***
| TC01: VPP policer 2R3C Color-aware marks packet
| | [Documentation]
| | ... | [Top] TG=DUT1.
| | ... | [Ref] RFC2474, RFC2698.
| | ... | [Cfg] On DUT1 configure 2R3C color-aware policer on the first\
| | ... | interface.
| | ... | [Ver] TG sends IPv4 TCP packet on the first link to DUT1.\
| | ... | On DUT1 packet is marked with DSCP tag. Verify if DUT1 sends\
| | ... | correct IPv4 TCP packet with correct DSCP on the second link to TG.
| | ${dscp}= | DSCP AF22
| | Given Policer Set Name | policer1
| | And Policer Set Node | ${dut_node}
| | And Policer Set CIR | ${cir}
| | And Policer Set EIR | ${eir}
| | And Policer Set CB | ${cb}
| | And Policer Set EB | ${eb}
| | And Policer Set Rate Type pps
| | And Policer Set Round Type Closest
| | And Policer Set Type 2R3C 2698
| | And Policer Set Conform Action Transmit
| | And Policer Set Exceed Action Mark and Transmit | ${dscp}
| | And Policer Set Violate Action Drop
| | And Policer Enable Color Aware
| | And Policer Classify Set Precolor Exceed
| | And Policer Classify Set Interface | ${dut_to_tg_if1}
| | And Policer Classify Set Match IP | ${tg_to_dut_if1_ip}
| | When Policer Set Configuration
| | Then Send Packet and Verify Marking | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
| | ... | ${tg_to_dut_if1_ip} | ${tg_to_dut_if2_ip} | ${dscp}
| TC02: VPP policer 2R3C Color-blind marks packet
| | [Documentation]
| | ... | [Top] TG=DUT1.
| | ... | [Ref] RFC2474, RFC2698.
| | ... | [Cfg] On DUT1 configure 2R3C color-blind policer on the first\
| | ... | interface.
| | ... | [Ver] TG sends IPv4 TCP packet on the first link to DUT1.\
| | ... | On DUT1 packet is marked with DSCP tag. Verify if DUT1 sends\
| | ... | correct IPv4 TCP packet with correct DSCP on the second link to TG.
| | ${dscp}= | DSCP AF22
| | Given Policer Set Name | policer1
| | And Policer Set Node | ${dut_node}
| | And Policer Set CIR | ${cir}
| | And Policer Set EIR | ${eir}
| | And Policer Set CB | ${cb}
| | And Policer Set EB | ${eb}
| | And Policer Set Rate Type pps
| | And Policer Set Round Type Closest
| | And Policer Set Type 2R3C 2698
| | And Policer Set Conform Action Mark and Transmit | ${dscp}
| | And Policer Set Exceed Action Transmit
| | And Policer Set Violate Action Drop
| | And Policer Classify Set Precolor Conform
| | And Policer Classify Set Interface | ${dut_to_tg_if1}
| | And Policer Classify Set Match IP | ${tg_to_dut_if1_ip}
| | When Policer Set Configuration
| | Then Send Packet and Verify Marking | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
| | ... | ${tg_to_dut_if1_ip} | ${tg_to_dut_if2_ip} | ${dscp}
| TC03: VPP policer 1R3C Color-aware marks packet
| | [Documentation]
| | ... | [Top] TG=DUT1.
| | ... | [Ref] RFC2474, RFC2697.
| | ... | [Cfg] On DUT1 configure 1R3C color-aware policer on the first\
| | ... | interface.
| | ... | [Ver] TG sends IPv4 TCP packet on the first link to DUT1.\
| | ... | On DUT1 packet is marked with DSCP tag. Verify if DUT1 sends\
| | ... | correct IPv4 TCP packet with correct DSCP on the second link to TG.
| | ${dscp}= | DSCP AF22
| | Given Policer Set Name | policer1
| | And Policer Set Node | ${dut_node}
| | And Policer Set CIR | ${1}
| | And Policer Set CB | ${2}
| | And Policer Set EB | ${eb}
| | And Policer Set Rate Type pps
| | And Policer Set Round Type Closest
| | And Policer Set Type 1R3C
| | And Policer Set Conform Action Transmit
| | And Policer Set Exceed Action Mark and Transmit | ${dscp}
| | And Policer Set Violate Action Drop
| | And Policer Enable Color Aware
| | And Policer Classify Set Precolor Exceed
| | And Policer Classify Set Interface | ${dut_to_tg_if1}
| | And Policer Classify Set Match IP | ${tg_to_dut_if1_ip}
| | When Policer Set Configuration
| | Then Send Packet and Verify Marking | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
| | ... | ${tg_to_dut_if1_ip} | ${tg_to_dut_if2_ip} | ${dscp}
| TC04: VPP policer 1R3C Color-blind marks packet
| | [Documentation]
| | ... | [Top] TG=DUT1.
| | ... | [Ref] RFC2474, RFC2697.
| | ... | [Cfg] On DUT1 configure 1R3C color-blind policer on the first\
| | ... | interface.
| | ... | [Ver] TG sends IPv4 TCP packet on the first link to DUT1.\
| | ... | On DUT1 packet is marked with DSCP tag. Verify if DUT1 sends\
| | ... | correct IPv4 TCP packet with correct DSCP on the second link to TG.
| | ${dscp}= | DSCP AF22
| | Given Policer Set Name | policer1
| | And Policer Set Node | ${dut_node}
| | And Policer Set CIR | ${cir}
| | And Policer Set CB | ${cb}
| | And Policer Set EB | ${eb}
| | And Policer Set Rate Type pps
| | And Policer Set Round Type Closest
| | And Policer Set Type 1R3C
| | And Policer Set Conform Action Mark and Transmit | ${dscp}
| | And Policer Set Exceed Action Transmit
| | And Policer Set Violate Action Drop
| | And Policer Classify Set Precolor Conform
| | And Policer Classify Set Interface | ${dut_to_tg_if1}
| | And Policer Classify Set Match IP | ${tg_to_dut_if1_ip}
| | When Policer Set Configuration
| | Then Send Packet and Verify Marking | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
| | ... | ${tg_to_dut_if1_ip} | ${tg_to_dut_if2_ip} | ${dscp}
|