> > We do that by cloning, you can have multiple head buffers with small > amount > if data to accommodate l2/l3 headers and then such buffers have > b->next_buffer > pointing to shared tail buffer(s). Tail buffer(s) just need to have > ref_count set properly > to avoid that such buffer is freed prematurely. >
Perhaps more concrete information would clarify things: for code to support https://datatracker.ietf.org/doc/draft-hopps-ipsecme-iptfs , the aggregation of multiple small payload frames into a single tunnel frame requires some dis-aggregation at the tunnel's receive endpoint. While it would be possible to make a functional implementation by recopying the payload frame pieces to new buffers for transmitting out of the tunnel, performance would be poor. The existing cloning mechanism does not appear to cover this situation because the cloned packets would need to end at different points in the original buffer. Do you have thoughts on a better way to do it? many thanks!
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12696): https://lists.fd.io/g/vpp-dev/message/12696 Mute This Topic: https://lists.fd.io/mt/30784477/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-