blob: a2c94e2a6870a50a72142af533afc2c4de90877e [file] [log] [blame]
ShreyaPanditacbf379e2012-09-28 11:47:14 -04001 *********** Conformance Test-suite ****************
2 OF-Switch-1.0.0-TestCases detailed testing methodology
ShreyaPandita9a24b342012-09-27 15:05:13 -04003
4
ShreyaPanditacbf379e2012-09-28 11:47:14 -04005
6
7
8**** Openflow protocol messages ****
9
10
ShreyaPandita9a24b342012-09-27 15:05:13 -040011
121. Features Request
13
14Test Description: Check features request is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -040015
ShreyaPandita9a24b342012-09-27 15:05:13 -040016Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -040017Test Title: FeaturesRequest
ShreyaPandita9a24b342012-09-27 15:05:13 -040018Ports: I (Control Plane)
19Initial State: Default (Clear switch state), Connection Setup
20Test-Field: Mandatory
21
ShreyaPanditacbf379e2012-09-28 11:47:14 -040022
ShreyaPandita9a24b342012-09-27 15:05:13 -040023Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -040024
ShreyaPandita9a24b342012-09-27 15:05:13 -040025a) Send OFPT_FEATURES_REQUEST from controller.
ShreyaPanditacbf379e2012-09-28 11:47:14 -040026b) Verify OFPT_FEATURES_REPLY is received without errors
27
ShreyaPandita9a24b342012-09-27 15:05:13 -040028
29
302. Configuration request
31
32Test Description: Check basic get configuration request is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -040033
ShreyaPandita9a24b342012-09-27 15:05:13 -040034Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -040035Test Title: ConfigurationRequest
ShreyaPandita9a24b342012-09-27 15:05:13 -040036Ports: I (Control Plane)
37Initial State: Default (Clear switch state), Connection Setup
38Test-Field: Mandatory
39
ShreyaPanditacbf379e2012-09-28 11:47:14 -040040
ShreyaPandita9a24b342012-09-27 15:05:13 -040041Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -040042
ShreyaPandita9a24b342012-09-27 15:05:13 -040043a) Send OFPT_GET_CONFIG_REQUEST
ShreyaPanditacbf379e2012-09-28 11:47:14 -040044b) Verify OFPT_GET_CONFIG_REPLY is received without errors.
45
ShreyaPandita9a24b342012-09-27 15:05:13 -040046
47
483. Modify State (ADD)
49
50Test Description: Check basic Flow ADD request is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -040051
ShreyaPandita9a24b342012-09-27 15:05:13 -040052Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -040053Test Title: ModifyStateAdd
ShreyaPandita9a24b342012-09-27 15:05:13 -040054Ports: 3 (1 Control Plane 2 dataplane)
55Initial State: Default (Clear switch state), Connection Setup
56Test-Field: Mandatory
57
ShreyaPanditacbf379e2012-09-28 11:47:14 -040058
ShreyaPandita9a24b342012-09-27 15:05:13 -040059Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -040060
ShreyaPandita9a24b342012-09-27 15:05:13 -040061a) Send OFPT_FLOW_MOD, command = OFPFC_ADD
62b) Send ofp_table_stats request
63c) Verify that active_count=1 in the reply
64
ShreyaPanditacbf379e2012-09-28 11:47:14 -040065
66
67
ShreyaPandita9a24b342012-09-27 15:05:13 -0400684. Modify State (DELETE)
69
70Test Description: Check basic Flow Delete request is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -040071
ShreyaPandita9a24b342012-09-27 15:05:13 -040072Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -040073Test Title: ModifyStateDelete
ShreyaPandita9a24b342012-09-27 15:05:13 -040074Ports: 3 (1 Control Plane 2 dataplane)
75Initial State: Default (Clear switch state), Connection Setup
76Test-Field: Mandatory
77
ShreyaPanditacbf379e2012-09-28 11:47:14 -040078
ShreyaPandita9a24b342012-09-27 15:05:13 -040079Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -040080
ShreyaPandita9a24b342012-09-27 15:05:13 -040081a) Send OFPT_FLOW_MOD, command = OFPFC_ADD
82b) Send ofp_table_stats request
83c) Verify that active_count=1 in the reply
84d) Send OFPT_FLOW_MOD, command = OFPFC_DELETE
85e) Send ofp_table_stats request
86f) Verify active _count=0 in the reply
87
ShreyaPanditacbf379e2012-09-28 11:47:14 -040088
89
ShreyaPandita9a24b342012-09-27 15:05:13 -0400905. Modify State (MODIFY)
91
92Test Description: Check basic Flow Modify request is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -040093
ShreyaPandita9a24b342012-09-27 15:05:13 -040094Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -040095Test Title: ModifyStateModify
ShreyaPandita9a24b342012-09-27 15:05:13 -040096Ports: 3 (1 Control Plane and 2 Dataplane)
97Initial State: Default (Clear switch state), Connection Setup
98Test-Field: Mandatory
99
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400100
ShreyaPandita9a24b342012-09-27 15:05:13 -0400101Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400102
ShreyaPandita9a24b342012-09-27 15:05:13 -0400103a) Send OFPT_FLOW_MOD , command = OFPFC_ADD, action A
104b) Send ofp_table_stats request, Verify active_count=1
105c) Send OFPT_FLOW_MOD , command = OFPFC_MODIFY, action A’
106d) Send Test Packet matching the flow
107e) Verify packet implements action A’
108
109
110
1116. Read State
112
113Test Description: Check basic Read State is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400114
ShreyaPandita9a24b342012-09-27 15:05:13 -0400115Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400116Test Title: ReadState
ShreyaPandita9a24b342012-09-27 15:05:13 -0400117Ports: 3 (1 Control Plane, 2 dataplane)
118Initial State: Default (Clear switch state), Connection Setup
119Test-Field: Mandatory
120
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400121
ShreyaPandita9a24b342012-09-27 15:05:13 -0400122Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400123
ShreyaPandita9a24b342012-09-27 15:05:13 -0400124a) Send OFPT_FLOW_MOD, command = OFPFC_ADD
125b) Create a OFPC_FLOW_STATS message and send it
126c) Verify switch replies without errors
127
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400128
129
ShreyaPandita9a24b342012-09-27 15:05:13 -04001307. Send packet
131
132Test Description: Check basic Send-Packet is implemented.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400133 Send-Packet: These are used by the controller to send packets out of a specified port on the switch.
134
ShreyaPandita9a24b342012-09-27 15:05:13 -0400135Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400136Test Title: SendPacket
ShreyaPandita9a24b342012-09-27 15:05:13 -0400137Ports: 5 (1 Control Plane, 4 Dataplane)
138Initial State: Default (Clear switch state), Connection Setup
139Test-Field: Mandatory
140
141
142Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400143
ShreyaPandita9a24b342012-09-27 15:05:13 -0400144a) Send OFPT_PACKET_OUT out message from controller to switch for every dataplane port.
145b) Verify the packet appears on the each dataplane port
146c) Verify sent packet matches the received packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400147
148
149
ShreyaPandita9a24b342012-09-27 15:05:13 -04001508. Barrier Request
151
152Test Description: This test checks that a basic barrier request does not generate an error.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400153
ShreyaPandita9a24b342012-09-27 15:05:13 -0400154Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400155Test Title: BarrierRequestReply
ShreyaPandita9a24b342012-09-27 15:05:13 -0400156Ports: I (Control Plane)
157Initial State: Default (Clear switch state), Connection Setup
158Test-Field: Mandatory
159
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400160
ShreyaPandita9a24b342012-09-27 15:05:13 -0400161Test Notes:
162
163a) Send OFPT_BARRIER_REQUEST
164c) Verify OFPT_BARRIER_REPLY is received on the control plane.
165
166
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400167
ShreyaPandita9a24b342012-09-27 15:05:13 -04001689. Packet In
169
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400170Test Description: Check packet_in is implemented. This test just checks that non matched dataplane packets
171 generate a packet_in
172
ShreyaPandita9a24b342012-09-27 15:05:13 -0400173Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400174Test Title: PacketIn
ShreyaPandita9a24b342012-09-27 15:05:13 -0400175Ports: 2 (1 Control Plane and 1 Dataplane)
176Initial State: Default (Clear switch state), Connection Setup
177Test-Field: Mandatory
178
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400179
ShreyaPandita9a24b342012-09-27 15:05:13 -0400180Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400181
ShreyaPandita9a24b342012-09-27 15:05:13 -0400182a) Send a packet to dataplane port , without inserting a flow entry
183b) Verify a OFPT_PACKET_IN is generated on the control plane
184
185
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400186
ShreyaPandita9a24b342012-09-27 15:05:13 -040018710. Hello
188
189Test Description: This test checks for basic Hello message generation with correct version field.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400190
ShreyaPandita9a24b342012-09-27 15:05:13 -0400191Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400192Test Title: Hello
ShreyaPandita9a24b342012-09-27 15:05:13 -0400193Ports: 1 (Control Plane)
194Initial State: Default (Clear switch state), Connection Setup
195Test-Field: Mandatory
196
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400197
ShreyaPandita9a24b342012-09-27 15:05:13 -0400198Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400199
ShreyaPandita9a24b342012-09-27 15:05:13 -0400200a) Send OFPT_HELLO from controller to switch
201b) Verify switch also sends OFPT_HELLO message in response
202c) Verify version field in the hello message is set to Openflow version 1.0.0
203
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400204
205
ShreyaPandita9a24b342012-09-27 15:05:13 -040020611. Echo
207
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400208Test Description: This test checks for basic Echo Reply message generation with correct version field with
209 same transaction id.
210
ShreyaPandita9a24b342012-09-27 15:05:13 -0400211Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400212Test Title: EchoWithoutBody
ShreyaPandita9a24b342012-09-27 15:05:13 -0400213Ports: 1 (Control Plane)
214Initial State: Default (Clear switch state), Connection setup
215Test-Field: Mandatory
216
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400217
ShreyaPandita9a24b342012-09-27 15:05:13 -0400218Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400219
ShreyaPandita9a24b342012-09-27 15:05:13 -0400220a) Send OFPT_ECHO_REQUEST from the controller side.
221b) Verify switch responds back with OFPT_ECHO_REPLY with same xid.
222c) Verify Openflow version in header is set to Openflow version 1.0.0.
223
224
225
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400226
227
228**** Detailed controller to switch messages ****
229
230
ShreyaPandita9a24b342012-09-27 15:05:13 -0400231
2321. Overlap checking
233
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400234Test Description: Verify that if overlap check flag is set in the flow entry and an overlapping flow is
235 inserted then an error is generated and switch refuses flow entry
236
ShreyaPandita9a24b342012-09-27 15:05:13 -0400237Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400238Test Title: OverlapChecking
ShreyaPandita9a24b342012-09-27 15:05:13 -0400239Ports: 3 (1 Control Plane 2 dataplane)
240Initial State: Default (Clear switch state), Connection setup
241Test-Field: Mandatory
242
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400243
ShreyaPandita9a24b342012-09-27 15:05:13 -0400244Test-Notes:
245
246a) Generate Flow F1--> Wildcard All
247b) Send ofp_table_stats request , verify active_count=1
248c) Generate overlapping flow F2 --> Wildcard All Except Ingress Port ( with flag OFPFF_CHECK_OVERLAP set)
249d) Verify that switch generates OFPT_ERROR msg.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400250 Type: OFPET_FLOW_MOD_FAILED code : OFPFMFC_OVERLAP
251
252
ShreyaPandita9a24b342012-09-27 15:05:13 -0400253
2542. No overlap checking
255
256Test Description: Verify that without overlap check flag set, overlapping flows can be created.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400257
ShreyaPandita9a24b342012-09-27 15:05:13 -0400258Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400259Test Title: NoOverlapchecking
ShreyaPandita9a24b342012-09-27 15:05:13 -0400260Ports: 3 (1 Control Plane, 2 Dataplane)
261Initial State: Default (Clear switch state), Connection setup
262Test-Field: Mandatory
263
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400264
ShreyaPandita9a24b342012-09-27 15:05:13 -0400265Test Notes:
266
267a) Generate Flow F1--> Wildcard All.
268b) Send ofp_table_stats request , verify active_count=1
269e) Generate overlapping flow F2 --> Wildcard All Except Ingress Port ( without flag OFPFF_CHECK_OVERLAP set)
270c) Send a ofp_table_stats request, verify active_count=2
271
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400272
273
ShreyaPandita9a24b342012-09-27 15:05:13 -04002743. Identical flows
275
276Test Description: Verify that adding two identical flows overwrites the existing one and clears counters
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400277
ShreyaPandita9a24b342012-09-27 15:05:13 -0400278Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400279Test Title: IdenticalFlows
ShreyaPandita9a24b342012-09-27 15:05:13 -0400280Ports: 3 (1 Control Plane), (2 dataplane)
281Initial State: Default (Clear switch state), Connection setup
282Test-Field: Mandatory
283
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400284
ShreyaPandita9a24b342012-09-27 15:05:13 -0400285Test Notes:
286
287a) Generate Flow F1.
288b) Send ofp_table_stats request , verify active_count=1
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400289b) Increment counters (packet_count, byte_count) by sending a packet matching flow F1.
290C) Send ofp_flow_stats request. Verify flow counters: byte_count and packet_count
291c) Create identical flow F2
292d) Send a ofp_table_stats request, verify active_count=1
293e) Send ofp_flow_stats request. Verify flow counters: byte_count and packet_count are reset
ShreyaPandita9a24b342012-09-27 15:05:13 -0400294
295
296
2974. No table to add (Written in oftest—Need to add to conformance Test-Suites)
298
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400299
300
ShreyaPandita9a24b342012-09-27 15:05:13 -04003015. Never valid port (TBD)
302
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400303
304
305
ShreyaPandita9a24b342012-09-27 15:05:13 -04003066. Currently not existing port Version A and B (TBD)
307
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400308
309
310
ShreyaPandita9a24b342012-09-27 15:05:13 -04003117. Emergency flow with timeout values
312
313Test Description: Timeout values are not allowed for emergency flows
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400314
315Test Title: EmerFlowTimeout
ShreyaPandita9a24b342012-09-27 15:05:13 -0400316Test mode: Automated
317Ports: 3 (1 control plane, 2 Dataplane)
318Initial State: Default (Clear switch state), Connection setup
319
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400320
ShreyaPandita9a24b342012-09-27 15:05:13 -0400321Test Notes:
322
323a) Generate a flow F with OFPFF_EMERG set in flag and timeout values assigned.
324b) Verify switch generates an OFPT_ERROR msg, Type: OFPET_FLOW_MOD_FAILED, Code OFPFMFC_BAD_EMERG_TIMEOUT
325
326
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400327
ShreyaPandita9a24b342012-09-27 15:05:13 -04003288. Missing modify adds
329
330Test Description: If a modify does not match an existing flow, the flow gets added.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400331
332Title: MissingModifyAdd
ShreyaPandita9a24b342012-09-27 15:05:13 -0400333Test mode: Automated
334Ports:3 (1 control plane,2 Data Plane)
335Initial State: Connection setup, Clear Switch State
336Test-Field: Mandatory
337
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400338
ShreyaPandita9a24b342012-09-27 15:05:13 -0400339Test Notes:
340
341a) Generate a flow-mod , command OFPC_MODIFY (Note: There should be no flows matching this flow_mod modify command)
342b) Send a ofp_table_stats request, verify active_count=1
343
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400344
345
346
ShreyaPandita9a24b342012-09-27 15:05:13 -04003479. Modify changes action, preserves counters
348
349Test Description: A modified flow preserves counters
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400350
351Title: ModifyAction
ShreyaPandita9a24b342012-09-27 15:05:13 -0400352Test mode: Automated
353Ports: 4(1 control plane, 3 Dataplane)
354Initial State: Connection setup, Clear Switch State
355Test-Field: Mandatory
356
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400357
ShreyaPandita9a24b342012-09-27 15:05:13 -0400358Test Notes:
359
360a) Create a flow_mod F-1 with command OFPC_ADD, action A
361b) Send a test Packet matching the flow
362c) Send an ofp_flow_stats request, verify byte_count and packet_count
363e) Create flow_mod with command OFPC_MODIFY ,action A’ and modify action of flow F-1
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400364f) Send a ofp_flow_stats request, verify flow counters are preserved
ShreyaPandita9a24b342012-09-27 15:05:13 -0400365g) Send test packet, verify it implements action A’
366
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400367
368
ShreyaPandita9a24b342012-09-27 15:05:13 -040036910. Strict Modify changes action, preserves counters
370
371Test Description: Strict Modify Flow also changes action preserves counters
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400372
373Title: StrictModifyAction
ShreyaPandita9a24b342012-09-27 15:05:13 -0400374Test mode: Automated
375Ports: 4(1 control plane, 3 Dataplane)
376Initial State: Connection setup, Clear Switch State
377Test-Field: Mandatory
378
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400379
ShreyaPandita9a24b342012-09-27 15:05:13 -0400380Test Notes:
381
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400382a) Create two overlapping flows: F --> Match on all, except one wildcarded (src address). Action A. Priority=100
383 F’ --> Match on ingress_port = port [0], wildcarded rest. Action A. Priority=10
ShreyaPandita9a24b342012-09-27 15:05:13 -0400384b) Send a ofp_table_stats request, verify active_count=2
385c) Send Packet (it would have matched both the flows, since they are overlapping flows but it would match Flow-F1 as it has higher priority.)
386d) Send ofp_flow_stats request for Flow-1 and verify counters packet_count and byte_count
387e) Create flow_mod ,command OFPC_STRICT_MODIFY,match on all except src address ,priority 100 action A’
388f) Send test packet , verify action is modified
389g) Send ofp_flow_stats request, verify counters are preserved.
390
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400391
392
393
ShreyaPandita9a24b342012-09-27 15:05:13 -040039411. Delete non existing flow
395
396Test Description: Request deletion of non-existing flow
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400397
398Title: DeleteNonexistingFlow
ShreyaPandita9a24b342012-09-27 15:05:13 -0400399Test mode: Automated
400Ports: 1(1 control plane)
401Initial State: Connection setup, Clear Switch State
402Test-Field: Mandatory
403
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400404
ShreyaPandita9a24b342012-09-27 15:05:13 -0400405Test Notes:
406
407a) Issue a delete command, with no flows inserted
408b) Make sure no error is generated on the control plane
409
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400410
411
ShreyaPandita9a24b342012-09-27 15:05:13 -040041212. Delete flows with and without removed message
413
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400414Test Description: Check deletion of flows happens and generates messages as configured. i.e. if ‘Send Flow removed message’Flag
415 is set in the flow entry, the flow deletion of that respective flow should generate the flow removed message,
416 vice versa also exists
417
418Test Title: SendFlowRem
ShreyaPandita9a24b342012-09-27 15:05:13 -0400419Test mode: Automated
420Ports: 3 (1 control plane, 2 Dataplane)
421Initial State: Connection setup, Default (clear switch state)
422Test-Field: Mandatory
423
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400424
ShreyaPandita9a24b342012-09-27 15:05:13 -0400425Test Notes:
426
427a) Generate a flow F without OFPFF_SEND_FLOW_REM flag set
428b) Issue a delete command OFPFC_DELETE
429c) Verify that OFPT_FLOW_REMOVED message is not generated.
430c) Generate a flow F’ with OFPFF_SEND_FLOW_REM flag set
431d) Issue a delete command OFPFC_DELETE
432e) Verify that OFPT_FLOW_REMOVED message is generated
433
434
435
43613. Delete emergency flow
437
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400438Test Description: Delete emergency flow and verify no message is generated.An emergency flow deletion will not generate
439 flow-removed messages even if ‘Send Flow removed message’ flag was set during the emergency flow entry.
440
441
442Title: DeleteEmerFlow
ShreyaPandita9a24b342012-09-27 15:05:13 -0400443Test mode: Automated
444Ports: 3 (1 control plane, 2 Dataplane)
445Initial State: Connection setup, Clear Switch State (default)
446
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400447
ShreyaPandita9a24b342012-09-27 15:05:13 -0400448Test-Notes:
449
450a) Insert a flow with OFPFF_EMERG flag set.
451b) Delete the added flow with OFPFF_SEND_FLOW_REM flag set
452c) Test successful if no flow removed message is generated.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400453
454
ShreyaPandita9a24b342012-09-27 15:05:13 -0400455
45614. Delete and verify strict and non-strict
457
458Test Description: Delete and verify strict and non-strict behaviors
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400459
ShreyaPandita9a24b342012-09-27 15:05:13 -0400460This test compares the behavior of delete strict and non-strict.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400461Title: StrictVsNonstrict
ShreyaPandita9a24b342012-09-27 15:05:13 -0400462Test mode: Automated
463Ports: 3 (1 control plane, 2 dataplane)
464Initial State: Connection setup, Clear Switch State
465
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400466
ShreyaPandita9a24b342012-09-27 15:05:13 -0400467Test-Notes:
468
469a) Insert Flow F with an exact match.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400470b) Issue Non-strict Delete command, verify F gets deleted.
471c) Insert F with an exact Match
472d) Issue Strict Delete Command, verify F gets deleted.
473e) Insert Flow T with match on all, except one wildcarded (say src address).
474f) Insert another flow T' with match on ingress_port, wildcarded rest.
475g) Issue Non-strict Delete ( match on ingress_port). Verify T+T' gets deleted.
476h) Insert T and T' again. Issue Strict Delete (match on ingress port), verify only T' gets deleted
477i) Insert T, add Priority P (say 100)
478j) Insert T' add priority (200).
ShreyaPandita9a24b342012-09-27 15:05:13 -0400479k) Insert T' again add priority 300 --> T”
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400480l) Issue Non-Strict Delete (match on ingress port). Verify T+T’+T’’ gets deleted.
ShreyaPandita9a24b342012-09-27 15:05:13 -0400481m) Insert T, T’, T’’ again, Issue Strict Delete (match on ingress_port) with priority = 200. Verify only T’ gets deleted
482
483
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400484
ShreyaPandita9a24b342012-09-27 15:05:13 -040048515. Delete flows with constraint out_port
486
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400487Test Description: Delete flows filtered by action output.DELETE and DELETE STRICT commands can be optionally filtered by output port.
488 If the out_port field contains a value other than OFPP_NONE, it introduces a constraint when matching.
489 This constraint is that the rule must contain an output action directed at that port.
ShreyaPandita9a24b342012-09-27 15:05:13 -0400490
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400491Title: Outport1
ShreyaPandita9a24b342012-09-27 15:05:13 -0400492Test mode: Automated
493Ports: 3 (1 control plane, 2 Dataplanes)
494Initial State: Connection setup, Clear Switch State
495Test-Field: Mandatory
496
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400497
ShreyaPandita9a24b342012-09-27 15:05:13 -0400498Test-Notes:
499
500a) Insert a flow F with output action = port x
501b) Send a delete command matching flow F ,but out_port =port y
502c) Send a table_stats request , verify no flow gets deleted i.e. active_count=1
503d) Send a delete command matching flow F ,outport = port x
504e) Send a table_stats request, verify flow F gets deleted.
505
506
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400507
ShreyaPandita9a24b342012-09-27 15:05:13 -040050816. Add, modify flows with constraint output
509
510Test Description: Add, modify flows with outport set. This field is ignored by ADD, MODIFY, and MODIFY STRICT messages.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400511
512Title: Outport2
ShreyaPandita9a24b342012-09-27 15:05:13 -0400513Test mode: Automated
514Ports: 4 (1 control plane, 3 Data planes)
515Initial State: Connection setup, Clear Switch State
516Test-Field: Mandatory
517
518Test-Notes:
519
520a) Insert a flow F with action A (output --> port x) , but out_port field in the flow mod set as port y
521b) Send Table_Stats_Request, Verify Flow gets inserted. ( Flow add ignores out_port field)
522c) Modify the action in flow F , action A’ ( output -->port z ), but out_port field in the flow mod set as port y
523d) Send test packet matching the flow F
524e) Verify packet implements action A’ (flow modify ignores out_port field)
525
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400526
527
ShreyaPandita9a24b342012-09-27 15:05:13 -040052817. Verify that idle timeout is implemented
529
ShreyaPandita9a24b342012-09-27 15:05:13 -0400530Test Description: Verify that idle timeout is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400531
532Title: IdleTimeout
ShreyaPandita9a24b342012-09-27 15:05:13 -0400533Test mode: Automated
534Ports: 3 (1 control plane, 2 Dataplanes)
535Initial State: Connection setup, Clear Switch State
536Test-Field: Mandatory
537
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400538
ShreyaPandita9a24b342012-09-27 15:05:13 -0400539Test-Notes:
540
541a) Add a flow with idle timeout set and with OFPP_SEND_FLOW_REM bit set
542b) Verify flow removed message is received.
543c) Verify flow removed reason was idle_timeout
544d) Verify the duration_sec field is 1 sec
545
546
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400547
ShreyaPandita9a24b342012-09-27 15:05:13 -040054818. Verify that hard timeout is implemented
549
550Test Description: Verify that hard timeout is implemented
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400551
552Title: HardTimeout
ShreyaPandita9a24b342012-09-27 15:05:13 -0400553Test mode: Automated
554Ports: 3 (1 control plane, 2 Dataplanes)
555Initial State: Connection setup, Clear Switch State
556Test-Field: Mandatory
557
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400558
ShreyaPandita9a24b342012-09-27 15:05:13 -0400559Test-Notes:
560
561a) Add a flow with hard timeout =1 set and with OFPP_SEND_FLOW_REM bit set
562b) Verify flow removed message is received.
563c) Verify flow removed reason was hard_timeout
564d) Verify the duration_sec field is 1 sec
565
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400566
567
ShreyaPandita9a24b342012-09-27 15:05:13 -040056819. Verify that messages are generated as expected
569
570Test Description: Verify that Flow removed messages are generated as expected
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400571 /* Since “flow removed messages being generated when flag is set” is already tested in the above tests
572 So here, we test the vice-versa condition.*/
573
574Title: FlowTimeout
ShreyaPandita9a24b342012-09-27 15:05:13 -0400575Test mode: Automated
576Ports: 3 (1control plane, 1dataplane)
577Initial State: Connection setup, Clear Switch State
578Test-Field: Mandatory
579
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400580
ShreyaPandita9a24b342012-09-27 15:05:13 -0400581Test-Notes:
582
583a) Generate and install a flow with idle_timeout = 1 set no OFPFF_SEND_FLOW_REM flag set.
584b) Verify no flow removed message is received.
585c) Send table_stats_request message and verify active_count=0
586
587
588
589
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400590
591*** Actions ***
592
593
ShreyaPandita9a24b342012-09-27 15:05:13 -0400594
5951. No Action drops packet
596
597Test Description: If no forward actions are present, the packet is dropped.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400598
ShreyaPandita9a24b342012-09-27 15:05:13 -0400599Required Action: Drop.
600A flow-entry with no specified action indicates that all matching packets should be dropped.
601Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400602Test Title: NoAction
ShreyaPandita9a24b342012-09-27 15:05:13 -0400603Ports: 3 (1 Control Plane 2 Dataplane)
604Initial State: Default (Clear switch state), Connection setup
605Test-Field: Mandatory
606
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400607
ShreyaPandita9a24b342012-09-27 15:05:13 -0400608Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400609
ShreyaPandita9a24b342012-09-27 15:05:13 -0400610a) Send Flow mod message without any action specified
611b) Send N packets matching the flow
612c) Verify packets are not received on any of the dataplane ports
613d) Verify packets are not even sent to the controller
614
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400615
616
ShreyaPandita9a24b342012-09-27 15:05:13 -04006172. Get supported actions from switch
618
619Test Description: Get the supported actions from switch and make sanity checks.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400620 /*When connecting to the controller, a switch indicate which of the “Optional Actions” it supports*/
621
ShreyaPandita9a24b342012-09-27 15:05:13 -0400622Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400623Test Title: Announcement
ShreyaPandita9a24b342012-09-27 15:05:13 -0400624Ports: 1 (Control Plane)
625Initial State: Default (Clear switch state), Connection setup
626Test-Field: Mandatory
627
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400628
ShreyaPandita9a24b342012-09-27 15:05:13 -0400629Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400630
ShreyaPandita9a24b342012-09-27 15:05:13 -0400631a) Send features_request .
632b) Verify response is OFPT_FEATURES_REPLY
633c) Verify reply has supported action list specified
634
635
636
6373. Forward All
638
639Test Description: Packet is sent to all dataplane ports except ingress port when output action.port = OFPP_ALL
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400640
ShreyaPandita9a24b342012-09-27 15:05:13 -0400641Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400642Test Title: ForwardAll
ShreyaPandita9a24b342012-09-27 15:05:13 -0400643Ports: 3 (1 Control Plane 2 Dataplane)
644Initial State: Default (Clear switch state), Connection setup
645Test-Field: Mandatory
646
647
648Test Notes:
649
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400650a) Install a flow with output action.port = OFPP_ALL.
651b) Verify packets are forwarded to all ports except ingress port.
652
ShreyaPandita9a24b342012-09-27 15:05:13 -0400653
654
6554. Forward Controller
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400656
ShreyaPandita9a24b342012-09-27 15:05:13 -0400657Test Description: Packet is sent to controller output.port = OFPP_CONTROLLER
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400658
ShreyaPandita9a24b342012-09-27 15:05:13 -0400659Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400660Test Title: ForwardController
ShreyaPandita9a24b342012-09-27 15:05:13 -0400661Ports: 3 (1 Control Plane 2 Dataplane)
662Initial State: Default (Clear switch state), Connection setup
663Test-Field: Mandatory
664
665
666Test Notes:
667
668a) Insert a flow with action output port = OFPP_CONTROLLER
669b) Send packets matching the flow
670c) Verify packet received on the control plane as a packet_in message
671
672
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400673
ShreyaPandita9a24b342012-09-27 15:05:13 -04006745. Forward Local (TBD – Verification of packet being received at local networking stack)
675
676Test Description: Packet is sent to switch’s local networking stack if output.port = OFPP_LOCAL
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400677
ShreyaPandita9a24b342012-09-27 15:05:13 -0400678Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400679Test Title: ForwardLocal
ShreyaPandita9a24b342012-09-27 15:05:13 -0400680Ports: 3 (1 Control Plane 2 Dataplane)
681Initial State: Default (Clear switch state), Connection setup
682Test-Field: Mandatory
683
684
685Test Notes:
686
687a) Insert a flow with action output port = OFPP_LOCAL
688b) Send packets matching the flow
689c) Verify packet received in the switch’s local networking stack.
690
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400691
692
ShreyaPandita9a24b342012-09-27 15:05:13 -04006936. Forward Table
694
695Test Description: Perform actions in flow table. Only for packet-out messages.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400696 /*If the output action.port in the packetout message = OFP.TABLE, then the packet implements the action
697 specified in the matching flow of the FLOW-TABLE*/
698
ShreyaPandita9a24b342012-09-27 15:05:13 -0400699Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400700Test Title: ForwardTable
ShreyaPandita9a24b342012-09-27 15:05:13 -0400701Ports: 3 (1 Control Plane 2 Dataplane)
702Initial State: Default (Clear switch state), Connection setup
703Test-Field: Mandatory
704
705Test Notes:
706
707a) Insert a flow F with action output.port = egress_port
708b) Send a OFPT_PACKET_OUT message with out port=OFPP_TABLE matching flow F
709c) Verify packet received on egress_port (i.e packetout message implemented the action specified in the matching flow of the Table)
710
711
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400712
ShreyaPandita9a24b342012-09-27 15:05:13 -04007137. Forward In Port
714
715Test Description: Packet is sent to input port if output.port = OFPP_INPORT
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400716
ShreyaPandita9a24b342012-09-27 15:05:13 -0400717Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400718Test Title: ForwardInport
ShreyaPandita9a24b342012-09-27 15:05:13 -0400719Ports: 3 (1 Control Plane 2 Dataplane)
720Initial State: Default (Clear switch state), Connection setup
721Test-Field: Mandatory
722
723Test Notes:
724
725a) Insert a flow with action output port = OFPP_INPORT
726b) Send packets matching the flow
727c) Verify packet received on all dataplane ports except for input port
728
729
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400730
ShreyaPandita9a24b342012-09-27 15:05:13 -04007318. Forward Flood
732
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400733Test Description:Flood the packet along the minimum spanning tree, not including the incoming interface.
734 Packet is sent all the dataplane ports except the input port if output.port = OFPP_FLOOD
735
ShreyaPandita9a24b342012-09-27 15:05:13 -0400736Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400737Test Title: Forward_Flood
ShreyaPandita9a24b342012-09-27 15:05:13 -0400738Ports: 3 (1 Control Plane 2 Dataplane)
739Initial State: Default (Clear switch state), Connection setup
740Test-Field: Optional
741
742Test Notes:
743
744a) Insert a flow with action output port = OFPP_FLOOD
745b) Send packets matching the flow
746c) Verify packet received on all dataplane ports except for input port
747
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400748
749
ShreyaPandita9a24b342012-09-27 15:05:13 -04007509. Multiple Ports -- TBD
751
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400752
753
754
ShreyaPandita9a24b342012-09-27 15:05:13 -040075510. Forward Enqueue --- TBD
756
757
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400758
759
ShreyaPandita9a24b342012-09-27 15:05:13 -040076011. Set VLAN Id
761
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400762Test Description: Attach VLAN ID to untagged packet.
763 If no VLAN is present, a new header is added with the specified VLAN ID and priority of zero.
764
ShreyaPandita9a24b342012-09-27 15:05:13 -0400765Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400766Test Title: AddVlanId
ShreyaPandita9a24b342012-09-27 15:05:13 -0400767Ports: 3 (1 Control Plane 2 Dataplane)
768Initial State: Default (Clear switch state), Connection setup
769Test-Field: Optional
770
771
772Test Notes:
773
774a) Insert a flow with action = OFPAT_SET_VLAN_VID , vlan_vid = x
775b) Send packet (length = 100 bytes) matching the flow
776b) Verify packet received has vlan id added to it. (I.e length of packet with vid is 104 bytes, dl_vlan_enable = True, dl_vlan= x, dl_vlan_pcp=0)
777
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400778
779
ShreyaPandita9a24b342012-09-27 15:05:13 -040078012. Modify VLAN Id
781
782Test Description: Modifies Vlan Tag for a tagged packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400783 If a VLAN header already exists, the VLAN ID is replaced with the specified value
784
ShreyaPandita9a24b342012-09-27 15:05:13 -0400785Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400786Test Title: ModifyVlanId
ShreyaPandita9a24b342012-09-27 15:05:13 -0400787Ports: 3 (1 Control Plane 2 Dataplane)
788Initial State: Default (Clear switch state), Connection setup
789Test-Field: Optional
790
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400791
ShreyaPandita9a24b342012-09-27 15:05:13 -0400792Test Notes:
793a) Insert a flow with action = OFPAT_SET_VLAN_VID , vlan_vid = x
794b) Send packet (length = 100 bytes) matching the flow
795c) Verify packet received has vlan id rewritten. (I.e length of 104 bytes, dl_vlan_enable = True, dl_vlan=x)
796
797
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400798
ShreyaPandita9a24b342012-09-27 15:05:13 -040079913. Add VLAN Priority to an untagged packet
800
801Test Description: Attach VLAN priority to an untagged packet.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400802 Since, no VLAN ID is present; a new header is added with the specified priority and a VLAN ID of zero.\
803
ShreyaPandita9a24b342012-09-27 15:05:13 -0400804Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400805Test Title: VlanPrio1
ShreyaPandita9a24b342012-09-27 15:05:13 -0400806Ports: 3 (1 Control Plane 2 Dataplane)
807Initial State: Default (Clear switch state), Connection setup
808Test-Field: Optional
809
810
811Test Notes:
812
813a) Insert a flow with action = OFPAT_SET_VLAN_PCP , dl_vlan_pcp =x
814b) Send untagged packet matching the flow
815c) Verify packet received has vlan priority added to it along with a vid value of zero added by default (dl_vlan_enable , dl_vlan = 0 , dl_vlan_pcp =x )
816
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400817
818
ShreyaPandita9a24b342012-09-27 15:05:13 -040081914. Rewrite existing VLAN priority
820
821Test Description: Modify VLAN priority for a tagged packet.
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400822
ShreyaPandita9a24b342012-09-27 15:05:13 -0400823Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400824Test Title: VlanPrio2
ShreyaPandita9a24b342012-09-27 15:05:13 -0400825Ports: 3 (1 Control Plane 2 Dataplane)
826Initial State: Default (Clear switch state), Connection setup
827Test-Field: Optional
828
829
830Test Notes:
831
832a) Insert a flow with action = OFPAT_SET_VLAN_PCP , dl_vlan_pcp =new_vlan_pcp
833b) Send tagged packet matching the flow (dl_vlan = old_vlan_id , dl_vlan_pcp = old_vlan_pcp)
834c) Verify packet received has vlan id added to it. (dl_vlan_enable , dl_vlan = 0 , dl_vlan_pcp = new_vlan_pcp)
835
836
837
838
83915. Modify L2 Src Address
840
841Test Description: Modify Ethernet Src Address of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400842
ShreyaPandita9a24b342012-09-27 15:05:13 -0400843Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400844Test Title: ModifyL2Src
ShreyaPandita9a24b342012-09-27 15:05:13 -0400845Ports: 3 (1 Control Plane 2 Dataplane)
846Initial State: Default (Clear switch state), Connection setup
847Test-Field: Optional
848
849
850Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400851
ShreyaPandita9a24b342012-09-27 15:05:13 -0400852a) Insert a flow with action = OFPAT_SET_DL_SRC , dl_src =new_dl_src
853b) Send packet matching the flow (dl_dst = old_dl_src )
854c) Verify packet received has src address rewritten. (dl_src= new_dl_src)
855
856
857
85816. Modify L2 Destination Address
859
860Test Description: Modify Ethernet Destination Address of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400861
ShreyaPandita9a24b342012-09-27 15:05:13 -0400862Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400863Test Title: ModifyL2Dst
ShreyaPandita9a24b342012-09-27 15:05:13 -0400864Ports: 3 (1 Control Plane 2 Dataplane)
865Initial State: Default (Clear switch state), Connection setup
866Test-Field: Optional
867
868
869Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400870
ShreyaPandita9a24b342012-09-27 15:05:13 -0400871a) Insert a flow with action = OFPAT_SET_DL_DST , dl_dst =new_dl_dst
872b) Send packet matching the flow (dl_dst = old_dl_src )
873c) Verify packet received has destination address rewritten. (dl_src= new_dl_src)
874
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400875
876
ShreyaPandita9a24b342012-09-27 15:05:13 -040087717. Strip VLAN header – (In oftest, need to add in conformance test-suite )
878
879
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400880
ShreyaPandita9a24b342012-09-27 15:05:13 -040088118. Modify L3 Src Address
882
883Test Description: Modify Network Src Address of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400884
ShreyaPandita9a24b342012-09-27 15:05:13 -0400885Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400886Test Title: ModifyL3Src
ShreyaPandita9a24b342012-09-27 15:05:13 -0400887Ports: 3 (1 Control Plane 2 Dataplane)
888Initial State: Default (Clear switch state), Connection setup
889Test-Field: Optional
890
891
892Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400893
ShreyaPandita9a24b342012-09-27 15:05:13 -0400894a) Insert a flow with action = OFPAT_SET_NW_SRC , nw_src =new_nw_src
895b) Send packet matching the flow (nw_src = old_nw_src )
896c) Verify packet received has nw address rewritten. (nw_src= new_nw_src)
897
898
899
ShreyaPandita9a24b342012-09-27 15:05:13 -040090019. Modify L3 Dst Address
901
902Test Description: Modify Network Dst Address of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400903
ShreyaPandita9a24b342012-09-27 15:05:13 -0400904Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400905Test Title: ModifyL3Dst
ShreyaPandita9a24b342012-09-27 15:05:13 -0400906Ports: 3 (1 Control Plane 2 Dataplane)
907Initial State: Default (Clear switch state), Connection setup
908Test-Field: Optional
909
910
911Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400912
ShreyaPandita9a24b342012-09-27 15:05:13 -0400913a) Insert a flow with action = OFPAT_SET_NW_DST , nw_dst =new_nw_dst
914b) Send packet matching the flow (nw_dst = old_nw_dst )
915c) Verify packet received has nw destination address rewritten. (nw_dst= new_nw_dst)
916
917
918
ShreyaPandita9a24b342012-09-27 15:05:13 -040091920. Modify L4 Src Address
920
921Test Description: Modify TCP Source Port of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400922
ShreyaPandita9a24b342012-09-27 15:05:13 -0400923Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400924Test Title: ModifyL4Src
ShreyaPandita9a24b342012-09-27 15:05:13 -0400925Ports: 3 (1 Control Plane 2 Dataplane)
926Initial State: Default (Clear switch state), Connection setup
927Test-Field: Optional
928
929
930Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400931
ShreyaPandita9a24b342012-09-27 15:05:13 -0400932a) Insert a flow with action = OFPAT_SET_TP_SRC , tcp_sport =new_tcp_sport
933b) Send packet matching the flow (tcp_sport = old_tcp_sport )
934c) Verify packet received has tcp source port rewritten. (tcp_sport = new_tcp_sport)
935
936
93721. Modify L4 Dst Address
938
939Test Description: Modify TCP Destination Port of a packet
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400940
ShreyaPandita9a24b342012-09-27 15:05:13 -0400941Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400942Test Title: ModifyL4Dst
ShreyaPandita9a24b342012-09-27 15:05:13 -0400943Ports: 3 (1 Control Plane 2 Dataplane)
944Initial State: Default (Clear switch state), Connection setup
945Test-Field: Optional
946
947
948Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400949
ShreyaPandita9a24b342012-09-27 15:05:13 -0400950a) Insert a flow with action = OFPAT_SET_TP_DST , tcp_dport =new_tcp_dport
951b) Send packet matching the flow (tcp_dport = old_tcp_dport )
952c) Verify packet received has tcp destination port rewritten. (tcp_sport = new_tcp_sport)
953
954
955
95622. Modify TOS
957
958Test Description: Modify Network Type of service
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400959
ShreyaPandita9a24b342012-09-27 15:05:13 -0400960Test mode: Automated
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400961Test Title: ModifyTos
ShreyaPandita9a24b342012-09-27 15:05:13 -0400962Ports: 3 (1 Control Plane 2 Dataplane)
963Initial State: Default (Clear switch state), Connection setup
964Test-Field: Optional
965
966
967Test Notes:
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400968
ShreyaPandita9a24b342012-09-27 15:05:13 -0400969a) Insert a flow with action = OFPAT_SET_NW_TOS, ip_tos =new_ip_tos
970b) Send packet matching the flow (ip_tos= old_ip_tos)
971c) Verify packet received has tcp destination port rewritten. (ip_tos= new_ip_tos)
972
973
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400974
ShreyaPandita9a24b342012-09-27 15:05:13 -040097523. Order Not possible -- TBD
976
ShreyaPanditacbf379e2012-09-28 11:47:14 -0400977
978
979
ShreyaPandita9a24b342012-09-27 15:05:13 -040098024. Sequential execution -- TBD
981