cvs commit: src/sys/netinet ip_output.c

From: Maxime Henrion <mux_at_FreeBSD.org>
Date: Tue, 25 Mar 2003 15:49:14 -0800 (PST)
mux         2003/03/25 15:49:14 PST

  FreeBSD src repository

  Modified files:
    sys/netinet          ip_output.c 
  Log:
  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.
  
  Revision  Changes    Path
  1.180     +10 -12    src/sys/netinet/ip_output.c
Received on Tue Mar 25 2003 - 15:49:15 UTC