->I can't find any clues about it from the newest openflow switch
specification(version 1.1).
Sorry I typed wrongly, Its v1.3.
Plus do you mean the following description:
5.11:
The semantics of the action list is identical to the OpenFlow 1.0
specication. The actions of an action list are executed in the order specied
by the list, and are applied immediately to the packet.

Best regards,

软件部   陈重华
Centec Networks Inc
盛科网络(苏州)有限公司
Web: www.centecnetworks.com
苏州市工业园区星汉街5号新苏工业坊B幢4楼13/16单元
邮编: 215021
总机: 0512-62885358
传真: 0512-62885870  

-----邮件原件-----
发件人: chenzh [mailto:[email protected]] 
发送时间: 2012年7月24日 9:09
收件人: 'Ben Pfaff'
抄送: '[email protected]'
主题: 答复: [ovs-discuss] Problem with designing the feature of
muitiple-action

>OpenFlow actions work this way anyhow.
Is there any specification documents that directly point out the openflow
action should work in this way, or just the ovs do?
I can't find any clues about it from the newest openflow switch
specification(version 1.1).
I don't quite understand why action working like this would be better.

Best regards,

软件部   陈重华
Centec Networks Inc
盛科网络(苏州)有限公司
Web: www.centecnetworks.com
苏州市工业园区星汉街5号新苏工业坊B幢4楼13/16单元
邮编: 215021
总机: 0512-62885358
传真: 0512-62885870  
-----邮件原件-----
发件人: Ben Pfaff [mailto:[email protected]] 
发送时间: 2012年7月24日 1:02
收件人: chenzh
抄送: [email protected]
主题: Re: [ovs-discuss] Problem with designing the feature of
muitiple-action

On Mon, Jul 23, 2012 at 04:29:26PM +0800, chenzh wrote:
> In function do_execute_actions(action.c line 370)
> /* Execute a list of actions against 'skb'. */
> static int do_execute_actions(struct datapath *dp, struct sk_buff *skb,
>                       const struct nlattr *attr, int len, bool keep_skb)
> It seems this function are doing the following job:
> 1. Directly modify the original packet
> 2. Output this packet
> 3. Loop to the second action
> But, If we have a list of action which request to modify the packet in
> different ways, I think there may be a problem. Because packets for the
next
> action is already been modified.
> So, let assume we have the flowing scene:
> 1. Packet 1 is send into ethernet0/1
> 2. action 1 request this packet to add vlan tag 1, modify its source mac
> address as 0000.aaaa.aaaa, then send it out to ethenet0/2
> 3. action 2 request do nothing but send it to ethent0/3
> Because the packet 1 has already been modified in step 2, so even in step
3,
> it is requested to do noting but send out to ethernet0/3, I'll still add
the
> vlan tag 1, modify the source mac address as 0000.aaaa.aaaa, then send it
> out to ethernet 0/3.

If a client of the datapath doesn't want this behavior, then it can
change the VLAN tag and source MAC back to the original values before
sending it out ethernet0/3, or it can send it out ethernet0/3 before
doing the modifications.

OpenFlow actions work this way anyhow.


_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to