Subject: TCP forwarding performance
To: None <tech-net@netbsd.org>
From: Chun-Ying Huang <maillist@evilant.cis.nctu.edu.tw>
List: tech-net
Date: 04/29/2002 13:43:18
    Dear all:

	I am implementing a TCP splicing like mechanism on NetBSD to
	speedup TCP forwarding performance. But I encountered a problem
	that hangs the whole system for a period of time while the
	spliced TCP traffic is being forwarding.

	When the proxy receives incoming TCP data packets belongs to
	socket-1/tcpcb-1, according to splicing information on
	socket-1/tcpcb-1, the data packet should be sent out from output
	interface corresponding to socket-2/tcpcb-2.

	I "guess" the system hangs because socket-1/tcpcb-1 has to
	frequently access information on socket-2/tcpcb-2 on every newly
	incoming TCP data packets. So heavily cross-references between
	two (or four) kernel structure variables hangs the system.

	Is this guess reasonable? Or is there are any other reasons?
	How do I avoid this problem?

	Any comments is welcome.:)

-- 
Regards,
huangant <Chun-Ying Huang>