>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
