mbufs in tcp_output and tcp_input

Haisang Wu haisang at gmail.com
Tue Jun 27 02:11:19 UTC 2006


Hello,

  I need to read m_flags of a mbuf in an TCP application in the following
two cases:

(1) in sending direction, right before TCP calls ip_output() to send out a
packet,
(2) in receiving direction, right before TCP appends a packet to so_rcv of
the corresponding socket and wakes up the socket.

  My understandings are: for (1), tcp_output() only calls ip_output() once,
so right before that function call, I should read the m_flags.
For (2), tcp_input() is more complex and calls insbappendstream_locked()
twice, one for fast path processing, and one for slow path processing. I
think I should read m_flags before both of the two insbappendstream_locked()
function calls.

  I am using freebsd 5.4. Could you let me know whether my above
understandings are correct, and provide some suggestions?

Thank you!
Haisang


More information about the freebsd-net mailing list