Hi, > 3. What is the difference between 'Action list' & 'Action set'? An 'Action set' contains a set of actions, i.e. only one action of a type can exist within the set. The order the actions were inserted into the set is irrelevant, their execution order is defined by the spec (p. 12.). An 'Action list' on the other hand can contain any number of the same type of action, and the execution order of these actions is defined by their order in the list.
Note that in the structures defined by the spec., both sets and lists are stored as lists (i.e. actions one after the other). But their interpretation should differ in the datapath according to the spec. > 2. ... How action set can be associated with each packet. When a packet enters the pipeline, you associate an action set with it, which is at that time empty. When the packet encounters a write instruction, actions of that instruction are put into the action set of the packet. If there are actions of the same type in both the write instruction, and in the packet's action set, only those of the instruction's are kept. If a clear instruction is executed, the packet's action set is emptied. (If a flow entry has both clear and write instructions, clear is always executed first.) When the packet exits the pipeline, if it has some actions in its action set, they will be executed in the order defined by the spec (p. 12.). 1> My question is that is only the Apply-Actions instruction and the Packet-out message include an action list. What about the 'Clear-action' and Write-action instructions? If these later instructions does not contain any action list, then which action-list is cleared by 'Clear-action'. Where that action list is stored. As now it should be clearer, the Apply instruction and packet-out message contains an action list in the sense that those actions will be executed in the order they appear in the list, and also that multiple types of the same action is accepted. On the other hand, Write instruction contains a set, which is only appended to the packet's action set. Clear action does not store actions. Regards, Zoltan. ________________________________ From: [email protected] [[email protected]] On Behalf Of Tahir Rauf [[email protected]] Sent: Friday, April 08, 2011 2:48 PM To: [email protected] Subject: [openflow-discuss] Ambiguities about Instructions and Actions Hi, I have some ambiguities in understanding the OpenFlowSpec-v1.1.0 document. Can you please help me in clarifying the things 1. In section 4.6, the document writes "Applies the speci c action(s) immediately, without any change to the Action Set. This instruction may be used to modify the packet between two tables or to execute multiple actions of the same type. The actions are speci ed as an action list (see 4.8)" 2. Then it writes in section 4.8 that "The Apply-Actions instruction and the Packet-out message include an action list" Up till now all seems right. I am considering that action list is stored along with Apply-Actions instruction in flow table. And whenever a flow matches, the switch applies all actions associated with the Apply-Actions instruction. Similarly, in case of Packet-out message, the controller send the action list along with message. Ambiguities: 1. My question is that is only the Apply-Actions instruction and the Packet-out message include an action list. What about the 'Clear-action' and Write-action instructions? If these later instructions does not contain any action list, then which action-list is cleared by 'Clear-action'. Where that action list is stored. 2. In section 4.7, the document says that "An action set is associated with each packet" What does it mean? How action set can be associated with each packet. 3. What is the difference between 'Action list' & 'Action set'? Regards _______________________________________________ openflow-discuss mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
