[ovs-dev] [PATCH v2] ofp-actions: Add a new action to truncate a packet.

William Tu u9012063 at gmail.com
Tue Apr 12 18:38:38 UTC 2016


Should we expose "truncate" to the ovs-ofctl action list?

I was thinking about this ovs-ofctl syntax:
    actions='output(max_len=64, port=1), output:2'

then at datapath it translates to actions
    truncate(64), output(1), output(2)

So 64B to port1, and 100B to port2.

Regards,
William


On Tue, Apr 12, 2016 at 11:20 AM, Joe Stringer <joe at ovn.org> wrote:

> On 12 April 2016 at 11:10, William Tu <u9012063 at gmail.com> wrote:
> > Hi Joe,
> >
> >> There is no need to truncate packet immediately. We can keep the
> >>
> >> > truncate len in skb_ovs_cb and use it to truncate packet right before
> >> > seeing it over port or to user-space up-call.
> >>
> >> So, if you have a packet with length 100, then do the following actions:
> >>
> >> truncate(64),output(1),truncate(100),output(2), then port 1 will see
> >> the truncated packet but port 2 will see the full (100 bytes of)
> >> packet?
> >
> >
> > Yes, when seeing a truncate(64) action, we set len=64 in skb_ovs_cb, and
> it
> > is until output(1) then we do the real truncate, clear the len.
> > So the next truncate(100) will start over with a new packet and output(2)
> > should see the full packet.
>
> Ah okay, so the following would also forward a 64B packet to port 1
> and 100B packet to port 2 in this situation:
>
> truncate(64),output(1),output(2)
>



More information about the dev mailing list