Page MenuHomeFreeBSD

mbuf: add mc_split() that works on two struct mchain
AcceptedPublic

Authored by glebius on Feb 29 2024, 7:03 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jul 6, 6:07 PM
Unknown Object (File)
Jun 27 2025, 8:06 AM
Unknown Object (File)
Jun 24 2025, 9:12 PM
Unknown Object (File)
Jun 24 2025, 4:07 AM
Unknown Object (File)
Jun 20 2025, 5:18 AM
Unknown Object (File)
Jun 9 2025, 10:45 PM
Unknown Object (File)
Jun 9 2025, 9:13 PM
Unknown Object (File)
Jun 5 2025, 10:42 PM

Details

Reviewers
markj
Group Reviewers
transport
network
Summary

It preserves tail points and all length/memory accounting, so that caller
doesn't need to do any extra traversals. It doesn't respect M_PKTHDR but
it may be improved if needed. It respects M_EOR, though. First consumer
will be the new unix(4) SOCK_STREAM and SOCK_SEQPACKET.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 56677
Build 53565: arc lint + arc unit

Event Timeline

tuexen added inline comments.
sys/sys/mbuf.h
1778–1779

If adding mc_concat is intended, mention it in the commit message. Right now it looks like it slipped in the diff...

markj added inline comments.
sys/kern/uipc_mbuf.c
1125

This should assert that M_PKTHDR isn't set in head.

sys/kern/uipc_mbuf.c
1145

Do we prefer m_align() in new code?

Mention mc_concat() in commit message.

This revision is now accepted and ready to land.Mar 18 2024, 5:08 AM

Utilize mc_first, mc_last, etc.

This revision now requires review to proceed.Mar 18 2024, 6:11 PM
This revision is now accepted and ready to land.Mar 19 2024, 5:06 AM