diff options
author | mux <mux@FreeBSD.org> | 2003-03-25 23:49:14 +0000 |
---|---|---|
committer | mux <mux@FreeBSD.org> | 2003-03-25 23:49:14 +0000 |
commit | d63525df51c75d42f25081a22a9f84ca9e8cbcb7 (patch) | |
tree | abe734adcc783ce55fa2f57270f01b0e26077cbd /share | |
parent | 77e623bc9aca5ecb570e7fe14b86755e6b9d1efa (diff) | |
download | FreeBSD-src-d63525df51c75d42f25081a22a9f84ca9e8cbcb7.zip FreeBSD-src-d63525df51c75d42f25081a22a9f84ca9e8cbcb7.tar.gz |
Try to make the MBUF_FRAG_TEST code work better.
- Don't try to fragment the packet if it's smaller than mbuf_frag_size.
- Preserve the size of the mbuf chain which is modified by m_split().
- Check that m_split() didn't return NULL.
- Make it so we don't end up with two M_PKTHDR mbuf in the chain.
- Use m->m_pkthdr.len instead of m->m_len so that we fragment the whole
chain and not just the first mbuf.
- Fix a nearby style bug and rework the logic of the loops so that it's
more clear.
This is still not quite right, because we're clearly abusing m_split() to
do something it was not designed for, but at least it works now. We
should probably move this code into a m_fragment() function when it's
correct.
Diffstat (limited to 'share')
0 files changed, 0 insertions, 0 deletions