On Wed, Dec 11, 2024 at 6:28 PM Ilya Maximets <[email protected]> wrote:

> On 12/3/24 13:21, Ales Musil wrote:
> > Add helper to truncate the buffer to certain size which might be
> > useful if some earlier part of the buffer can be reused multiple
> > times without copying the whole buffer.
> >
> > Signed-off-by: Ales Musil <[email protected]>
> > ---
> > v2: Rebase on top of current main.
> >     Add comment what the function does and test case.
> >     Fix the wrong move of data pointer.
> > ---
> >  include/openvswitch/ofpbuf.h | 7 +++++++
> >  tests/test-ofpbuf.c          | 9 +++++++++
> >  2 files changed, 16 insertions(+)
> >
> > diff --git a/include/openvswitch/ofpbuf.h b/include/openvswitch/ofpbuf.h
> > index 1fc4a3a7f..f16e3d697 100644
> > --- a/include/openvswitch/ofpbuf.h
> > +++ b/include/openvswitch/ofpbuf.h
> > @@ -292,6 +292,13 @@ static inline bool ofpbuf_oversized(const struct
> ofpbuf *ofpacts)
> >      return (char *)ofpbuf_tail(ofpacts) - (char *)ofpacts->header >
> UINT16_MAX;
> >  }
> >
> > +/* Removes 'size' bytes from the tail end of 'b'. */
> > +static inline void ofpbuf_truncate(struct ofpbuf *b, size_t size)
> > +{
> > +    ovs_assert(b->size >= size);
> > +    b->size = b->size - size;
> > +}
>
> Hi, Ales.  I'm just curious if you actually need a 'truncate by'
> behavior as opposed to 'truncate to'?  Most of other stuff that
> involves truncation in OVS uses 'truncate to' semantics, i.e. you
> store the size, then do something, then truncate to the original
> size.  For example, the truncation of a packet on output or a
> file truncation with ftruncate, etc.
>
> Would the 'truncate to' semantic fit better in your use case?
>

Hi Ilya,

either of those would work and I don't have a strong preference. If you
feel like I should change this to the 'truncate to' semantics I will send
v3 that does exactly that.


>
> Best regards, Ilya Maximets.
>
>
Thanks,
Ales
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to