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

Reply via email to