Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jun 2009 21:46:40 +0000 (UTC)
From:      Andre Oppermann <andre@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/kern uipc_sockbuf.c
Message-ID:  <200906222146.n5MLkt9F077151@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
andre       2009-06-22 21:46:40 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             uipc_sockbuf.c 
  Log:
  SVN rev 194662 on 2009-06-22 21:46:40Z by andre
  
  In sbappendstream_locked() demote all incoming packet mbufs (and
  chains) to pure data mbufs using m_demote().  This removes the
  packet header and all m_tag information as they are not meaningful
  anymore on a stream socket where mbufs are linked through m->m_next.
  Strictly speaking a packet header can be only ever valid on the first
  mbuf in an m_next chain.
  
  sbcompress() was doing this already when the mbuf chain layout lent
  itself to it (e.g. header splitting or merge-append), just not
  consistently.
  
  This frees resources at socket buffer append time instead of at
  sbdrop_internal() time after data has been read from the socket.
  
  For MAC the per packet information has done its duty and during
  socket buffer appending the policy of the socket itself takes over.
  With the append the packet boundaries disappear naturally and with
  it any context that was based on it.  None of the residual information
  from mbuf headers in the socket buffer on stream sockets was looked at.
  
  Revision  Changes    Path
  1.182     +3 -0      src/sys/kern/uipc_sockbuf.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906222146.n5MLkt9F077151>