blob: a2c94e2a6870a50a72142af533afc2c4de90877e [file] [log] [blame]
ShreyaPandita2dcc1812012-09-28 12:13:28 -04001 *********** Conformance Test-suite ****************
2 OF-Switch-1.0.0-TestCases detailed testing methodology
3
4
5
6
7
8**** Openflow protocol messages ****
9
10
11
121. Features Request
13
14Test Description: Check features request is implemented
15
16Test mode: Automated
17Test Title: FeaturesRequest
18Ports: I (Control Plane)
19Initial State: Default (Clear switch state), Connection Setup
20Test-Field: Mandatory
21
22
23Test Notes:
24
25a) Send OFPT_FEATURES_REQUEST from controller.
26b) Verify OFPT_FEATURES_REPLY is received without errors
27
28
29
302. Configuration request
31
32Test Description: Check basic get configuration request is implemented
33
34Test mode: Automated
35Test Title: ConfigurationRequest
36Ports: I (Control Plane)
37Initial State: Default (Clear switch state), Connection Setup
38Test-Field: Mandatory
39
40
41Test Notes:
42
43a) Send OFPT_GET_CONFIG_REQUEST
44b) Verify OFPT_GET_CONFIG_REPLY is received without errors.
45
46
47
483. Modify State (ADD)
49
50Test Description: Check basic Flow ADD request is implemented
51
52Test mode: Automated
53Test Title: ModifyStateAdd
54Ports: 3 (1 Control Plane 2 dataplane)
55Initial State: Default (Clear switch state), Connection Setup
56Test-Field: Mandatory
57
58
59Test Notes:
60
61a) Send OFPT_FLOW_MOD, command = OFPFC_ADD
62b) Send ofp_table_stats request
63c) Verify that active_count=1 in the reply
64
65
66
67
684. Modify State (DELETE)
69
70Test Description: Check basic Flow Delete request is implemented
71
72Test mode: Automated
73Test Title: ModifyStateDelete
74Ports: 3 (1 Control Plane 2 dataplane)
75Initial State: Default (Clear switch state), Connection Setup
76Test-Field: Mandatory
77
78
79Test Notes:
80
81a) 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
88
89
905. Modify State (MODIFY)
91
92Test Description: Check basic Flow Modify request is implemented
93
94Test mode: Automated
95Test Title: ModifyStateModify
96Ports: 3 (1 Control Plane and 2 Dataplane)
97Initial State: Default (Clear switch state), Connection Setup
98Test-Field: Mandatory
99
100
101Test Notes:
102
103a) 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
114
115Test mode: Automated
116Test Title: ReadState
117Ports: 3 (1 Control Plane, 2 dataplane)
118Initial State: Default (Clear switch state), Connection Setup
119Test-Field: Mandatory
120
121
122Test Notes:
123
124a) Send OFPT_FLOW_MOD, command = OFPFC_ADD
125b) Create a OFPC_FLOW_STATS message and send it
126c) Verify switch replies without errors
127
128
129
1307. Send packet
131
132Test Description: Check basic Send-Packet is implemented.
133 Send-Packet: These are used by the controller to send packets out of a specified port on the switch.
134
135Test mode: Automated
136Test Title: SendPacket
137Ports: 5 (1 Control Plane, 4 Dataplane)
138Initial State: Default (Clear switch state), Connection Setup
139Test-Field: Mandatory
140
141
142Test Notes:
143
144a) 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
147
148
149
1508. Barrier Request
151
152Test Description: This test checks that a basic barrier request does not generate an error.
153
154Test mode: Automated
155Test Title: BarrierRequestReply
156Ports: I (Control Plane)
157Initial State: Default (Clear switch state), Connection Setup
158Test-Field: Mandatory
159
160
161Test Notes:
162
163a) Send OFPT_BARRIER_REQUEST
164c) Verify OFPT_BARRIER_REPLY is received on the control plane.
165
166
167
1689. Packet In
169
170Test Description: Check packet_in is implemented. This test just checks that non matched dataplane packets
171 generate a packet_in
172
173Test mode: Automated
174Test Title: PacketIn
175Ports: 2 (1 Control Plane and 1 Dataplane)
176Initial State: Default (Clear switch state), Connection Setup
177Test-Field: Mandatory
178
179
180Test Notes:
181
182a) 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
186
18710. Hello
188
189Test Description: This test checks for basic Hello message generation with correct version field.
190
191Test mode: Automated
192Test Title: Hello
193Ports: 1 (Control Plane)
194Initial State: Default (Clear switch state), Connection Setup
195Test-Field: Mandatory
196
197
198Test Notes:
199
200a) 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
204
205
20611. Echo
207
208Test Description: This test checks for basic Echo Reply message generation with correct version field with
209 same transaction id.
210
211Test mode: Automated
212Test Title: EchoWithoutBody
213Ports: 1 (Control Plane)
214Initial State: Default (Clear switch state), Connection setup
215Test-Field: Mandatory
216
217
218Test Notes:
219
220a) 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
226
227
228**** Detailed controller to switch messages ****
229
230
231
2321. Overlap checking
233
234Test 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
237Test mode: Automated
238Test Title: OverlapChecking
239Ports: 3 (1 Control Plane 2 dataplane)
240Initial State: Default (Clear switch state), Connection setup
241Test-Field: Mandatory
242
243
244Test-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.
250 Type: OFPET_FLOW_MOD_FAILED code : OFPFMFC_OVERLAP
251
252
253
2542. No overlap checking
255
256Test Description: Verify that without overlap check flag set, overlapping flows can be created.
257
258Test mode: Automated
259Test Title: NoOverlapchecking
260Ports: 3 (1 Control Plane, 2 Dataplane)
261Initial State: Default (Clear switch state), Connection setup
262Test-Field: Mandatory
263
264
265Test 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
272
273
2743. Identical flows
275
276Test Description: Verify that adding two identical flows overwrites the existing one and clears counters
277
278Test mode: Automated
279Test Title: IdenticalFlows
280Ports: 3 (1 Control Plane), (2 dataplane)
281Initial State: Default (Clear switch state), Connection setup
282Test-Field: Mandatory
283
284
285Test Notes:
286
287a) Generate Flow F1.
288b) Send ofp_table_stats request , verify active_count=1
289b) 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
294
295
296
2974. No table to add (Written in oftest—Need to add to conformance Test-Suites)
298
299
300
3015. Never valid port (TBD)
302
303
304
305
3066. Currently not existing port Version A and B (TBD)
307
308
309
310
3117. Emergency flow with timeout values
312
313Test Description: Timeout values are not allowed for emergency flows
314
315Test Title: EmerFlowTimeout
316Test mode: Automated
317Ports: 3 (1 control plane, 2 Dataplane)
318Initial State: Default (Clear switch state), Connection setup
319
320
321Test 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
327
3288. Missing modify adds
329
330Test Description: If a modify does not match an existing flow, the flow gets added.
331
332Title: MissingModifyAdd
333Test mode: Automated
334Ports:3 (1 control plane,2 Data Plane)
335Initial State: Connection setup, Clear Switch State
336Test-Field: Mandatory
337
338
339Test 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
344
345
346
3479. Modify changes action, preserves counters
348
349Test Description: A modified flow preserves counters
350
351Title: ModifyAction
352Test mode: Automated
353Ports: 4(1 control plane, 3 Dataplane)
354Initial State: Connection setup, Clear Switch State
355Test-Field: Mandatory
356
357
358Test 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
364f) Send a ofp_flow_stats request, verify flow counters are preserved
365g) Send test packet, verify it implements action A’
366
367
368
36910. Strict Modify changes action, preserves counters
370
371Test Description: Strict Modify Flow also changes action preserves counters
372
373Title: StrictModifyAction
374Test mode: Automated
375Ports: 4(1 control plane, 3 Dataplane)
376Initial State: Connection setup, Clear Switch State
377Test-Field: Mandatory
378
379
380Test Notes:
381
382a) 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
384b) 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
391
392
393
39411. Delete non existing flow
395
396Test Description: Request deletion of non-existing flow
397
398Title: DeleteNonexistingFlow
399Test mode: Automated
400Ports: 1(1 control plane)
401Initial State: Connection setup, Clear Switch State
402Test-Field: Mandatory
403
404
405Test Notes:
406
407a) Issue a delete command, with no flows inserted
408b) Make sure no error is generated on the control plane
409
410
411
41212. Delete flows with and without removed message
413
414Test 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
419Test mode: Automated
420Ports: 3 (1 control plane, 2 Dataplane)
421Initial State: Connection setup, Default (clear switch state)
422Test-Field: Mandatory
423
424
425Test 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
438Test 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
443Test mode: Automated
444Ports: 3 (1 control plane, 2 Dataplane)
445Initial State: Connection setup, Clear Switch State (default)
446
447
448Test-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.
453
454
455
45614. Delete and verify strict and non-strict
457
458Test Description: Delete and verify strict and non-strict behaviors
459
460This test compares the behavior of delete strict and non-strict.
461Title: StrictVsNonstrict
462Test mode: Automated
463Ports: 3 (1 control plane, 2 dataplane)
464Initial State: Connection setup, Clear Switch State
465
466
467Test-Notes:
468
469a) Insert Flow F with an exact match.
470b) 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).
479k) Insert T' again add priority 300 --> T”
480l) Issue Non-Strict Delete (match on ingress port). Verify T+T’+T’’ gets deleted.
481m) Insert T, T’, T’’ again, Issue Strict Delete (match on ingress_port) with priority = 200. Verify only T’ gets deleted
482
483
484
48515. Delete flows with constraint out_port
486
487Test 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.
490
491Title: Outport1
492Test mode: Automated
493Ports: 3 (1 control plane, 2 Dataplanes)
494Initial State: Connection setup, Clear Switch State
495Test-Field: Mandatory
496
497
498Test-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
507
50816. 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.
511
512Title: Outport2
513Test 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
526
527
52817. Verify that idle timeout is implemented
529
530Test Description: Verify that idle timeout is implemented
531
532Title: IdleTimeout
533Test mode: Automated
534Ports: 3 (1 control plane, 2 Dataplanes)
535Initial State: Connection setup, Clear Switch State
536Test-Field: Mandatory
537
538
539Test-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
547
54818. Verify that hard timeout is implemented
549
550Test Description: Verify that hard timeout is implemented
551
552Title: HardTimeout
553Test mode: Automated
554Ports: 3 (1 control plane, 2 Dataplanes)
555Initial State: Connection setup, Clear Switch State
556Test-Field: Mandatory
557
558
559Test-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
566
567
56819. Verify that messages are generated as expected
569
570Test Description: Verify that Flow removed messages are generated as expected
571 /* 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
575Test mode: Automated
576Ports: 3 (1control plane, 1dataplane)
577Initial State: Connection setup, Clear Switch State
578Test-Field: Mandatory
579
580
581Test-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
590
591*** Actions ***
592
593
594
5951. No Action drops packet
596
597Test Description: If no forward actions are present, the packet is dropped.
598
599Required Action: Drop.
600A flow-entry with no specified action indicates that all matching packets should be dropped.
601Test mode: Automated
602Test Title: NoAction
603Ports: 3 (1 Control Plane 2 Dataplane)
604Initial State: Default (Clear switch state), Connection setup
605Test-Field: Mandatory
606
607
608Test Notes:
609
610a) 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
615
616
6172. Get supported actions from switch
618
619Test Description: Get the supported actions from switch and make sanity checks.
620 /*When connecting to the controller, a switch indicate which of the “Optional Actions” it supports*/
621
622Test mode: Automated
623Test Title: Announcement
624Ports: 1 (Control Plane)
625Initial State: Default (Clear switch state), Connection setup
626Test-Field: Mandatory
627
628
629Test Notes:
630
631a) 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
640
641Test mode: Automated
642Test Title: ForwardAll
643Ports: 3 (1 Control Plane 2 Dataplane)
644Initial State: Default (Clear switch state), Connection setup
645Test-Field: Mandatory
646
647
648Test Notes:
649
650a) Install a flow with output action.port = OFPP_ALL.
651b) Verify packets are forwarded to all ports except ingress port.
652
653
654
6554. Forward Controller
656
657Test Description: Packet is sent to controller output.port = OFPP_CONTROLLER
658
659Test mode: Automated
660Test Title: ForwardController
661Ports: 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
673
6745. 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
677
678Test mode: Automated
679Test Title: ForwardLocal
680Ports: 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
691
692
6936. Forward Table
694
695Test Description: Perform actions in flow table. Only for packet-out messages.
696 /*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
699Test mode: Automated
700Test Title: ForwardTable
701Ports: 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
712
7137. Forward In Port
714
715Test Description: Packet is sent to input port if output.port = OFPP_INPORT
716
717Test mode: Automated
718Test Title: ForwardInport
719Ports: 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
730
7318. Forward Flood
732
733Test 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
736Test mode: Automated
737Test Title: Forward_Flood
738Ports: 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
748
749
7509. Multiple Ports -- TBD
751
752
753
754
75510. Forward Enqueue --- TBD
756
757
758
759
76011. Set VLAN Id
761
762Test 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
765Test mode: Automated
766Test Title: AddVlanId
767Ports: 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
778
779
78012. Modify VLAN Id
781
782Test Description: Modifies Vlan Tag for a tagged packet
783 If a VLAN header already exists, the VLAN ID is replaced with the specified value
784
785Test mode: Automated
786Test Title: ModifyVlanId
787Ports: 3 (1 Control Plane 2 Dataplane)
788Initial State: Default (Clear switch state), Connection setup
789Test-Field: Optional
790
791
792Test 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
798
79913. Add VLAN Priority to an untagged packet
800
801Test Description: Attach VLAN priority to an untagged packet.
802 Since, no VLAN ID is present; a new header is added with the specified priority and a VLAN ID of zero.\
803
804Test mode: Automated
805Test Title: VlanPrio1
806Ports: 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
817
818
81914. Rewrite existing VLAN priority
820
821Test Description: Modify VLAN priority for a tagged packet.
822
823Test mode: Automated
824Test Title: VlanPrio2
825Ports: 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
842
843Test mode: Automated
844Test Title: ModifyL2Src
845Ports: 3 (1 Control Plane 2 Dataplane)
846Initial State: Default (Clear switch state), Connection setup
847Test-Field: Optional
848
849
850Test Notes:
851
852a) 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
861
862Test mode: Automated
863Test Title: ModifyL2Dst
864Ports: 3 (1 Control Plane 2 Dataplane)
865Initial State: Default (Clear switch state), Connection setup
866Test-Field: Optional
867
868
869Test Notes:
870
871a) 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
875
876
87717. Strip VLAN header – (In oftest, need to add in conformance test-suite )
878
879
880
88118. Modify L3 Src Address
882
883Test Description: Modify Network Src Address of a packet
884
885Test mode: Automated
886Test Title: ModifyL3Src
887Ports: 3 (1 Control Plane 2 Dataplane)
888Initial State: Default (Clear switch state), Connection setup
889Test-Field: Optional
890
891
892Test Notes:
893
894a) 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
90019. Modify L3 Dst Address
901
902Test Description: Modify Network Dst Address of a packet
903
904Test mode: Automated
905Test Title: ModifyL3Dst
906Ports: 3 (1 Control Plane 2 Dataplane)
907Initial State: Default (Clear switch state), Connection setup
908Test-Field: Optional
909
910
911Test Notes:
912
913a) 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
91920. Modify L4 Src Address
920
921Test Description: Modify TCP Source Port of a packet
922
923Test mode: Automated
924Test Title: ModifyL4Src
925Ports: 3 (1 Control Plane 2 Dataplane)
926Initial State: Default (Clear switch state), Connection setup
927Test-Field: Optional
928
929
930Test Notes:
931
932a) 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
940
941Test mode: Automated
942Test Title: ModifyL4Dst
943Ports: 3 (1 Control Plane 2 Dataplane)
944Initial State: Default (Clear switch state), Connection setup
945Test-Field: Optional
946
947
948Test Notes:
949
950a) 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
959
960Test mode: Automated
961Test Title: ModifyTos
962Ports: 3 (1 Control Plane 2 Dataplane)
963Initial State: Default (Clear switch state), Connection setup
964Test-Field: Optional
965
966
967Test Notes:
968
969a) 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
974
97523. Order Not possible -- TBD
976
977
978
979
98024. Sequential execution -- TBD
981