Hi 

Recently I've looked into net/haproxy port on FreeBSD.

Contrary to recent Linux there is no splice() functionality, so all data
move between sockets is done through user-space.

First idea - to use ksocket netgraph node to accept connections, and
send data to both directions, theoretically it may give even better
performance then using splice() syscall per every block of data.

On first stage (while haproxy read/rewrite http headers) both ksocket
nodes to be ended in user-space, initial negotiation finished - these
nodes just connected to each other in kernel and no user-space
interaction required for further data send through that pair.

Second, probably you have tried ongoing splice work 
Suleiman Souhlal ? (not sure about current status)
http://p4db.freebsd.org/branchView.cgi?BRANCH=ssouhlal_splice


-- 
Vladimir B. Grebenschikov
Project Manager, Automation
Parallels Inc. vgrebenschi...@parallels.com

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to