On Thu, Dec 15, 2016 at 07:38:15AM -0800, William Tu wrote: > > Here are some examples of translations from OpenFlow to datapath > > actions, the way I would expect them to happen: > > > > OF: 1, clone(truncate(100), push_vlan, 2), 3 > > dp: 1, truncate(100), push_vlan, 2, pop_vlan, 3 > > > I see your point; the "clone" is handled at translation code, and > pop_vlan is appended before the end of clone. > > I was thinking about actually making a copy of the packet, and kernel > sample implementation happens to call 'skb_clone()'. > If using sample, > OF: 1, clone(truncate(100), push_vlan, 2), 3 > dp: 1, sample(truncate(100), push_vlan, 2), 3 > So the "truncate(100), push_vlan, 2" applies to a copy of skb, no need > to pop_vlan.
It's slower and has additional limitations (for example, you pointed out that only a few actions can be put inside the sample action), so the benefit seems more like a tradeoff. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
