opnsense-src/share
Robert Watson 3cb73e3d8b Teach the loopback interface about checksum generation and validation
avoidance:

- Enable setting the RXCSUM and TXCSUM flags for loopback interfaces;
  set both by default.
- When RXCSUM is set, flag packets sent over the loopback interface as
  having checked and valid IP, UDP, TCP checksums so that higher
  protocol layers won't check them.
- Always clear CSUM_{IP,UDP_TCP} checksum required flags on transmit,
  as they will have gotten there as a result of TXCSUM being set.

This is done only for packets explicitly sent over the loopback, not
simulated loopback via if_simloop() due to !SIMPLEX interfaces, etc.

Note that enabling TXCSUM but not RXCSUM will lead to unhappiness, as
checksums won't be generated but will be validated.

Kris reports that this leads to significant performance improvements
in loopback benchmarking with TCP and UDP for throughput:

	RXCSUM 	RXCSUM+TXCSUM
TCP	15%	37%
UDP	10%	74%

Update man page.

Reviewed by:	sam
Tested by:	kris
MFC after:	1 week
2009-03-15 20:17:44 +00:00
..
colldef According to a proposed Norwegian standard for alphabetization of which 2008-07-30 15:37:13 +00:00
dict Correct typos containing my login name (plus one more in expr.y). 2007-02-18 19:48:59 +00:00
doc Update bmake glue for changes in 9.4.3 2008-12-23 22:51:10 +00:00
examples Fix broken URL and use the same base directory as the 2009-01-13 12:47:59 +00:00
info
man Teach the loopback interface about checksum generation and validation 2009-03-15 20:17:44 +00:00
me
misc Switch to using official English short country names. 2009-03-13 14:35:58 +00:00
mk Switch over to gnu99 compilation on default for userland. 2009-03-14 17:55:16 +00:00
mklocale "NONE" -> "ASCII" encoding 2008-01-23 04:25:10 +00:00
monetdef International code for Russian Ruble is changed from RUR to RUB 2007-02-28 16:28:49 +00:00
msgdef Update korean locale messages: 2008-02-01 20:15:21 +00:00
numericdef Add locales for nb_NO and nn_NO. 2006-11-09 18:10:34 +00:00
security
sendmail Dont install .svn metadata with the sendmail install. 2008-05-31 19:15:15 +00:00
skel Remove /usr/X11R6 from the path here too. 2007-05-29 22:07:57 +00:00
snmp Define a base OID for the FreeBSD version as returned in sysObjectID 2006-10-31 10:09:10 +00:00
syscons Add the nordic keyboard layout for Asus eee devices. 2008-10-17 14:07:39 +00:00
tabset
termcap - Remove kH (kp_kll) from screen. It has the identical key sequence as 2009-03-01 07:08:46 +00:00
timedef In the previous commit, no_NO should have been replaced with nb_NO in the 2008-07-29 11:32:42 +00:00
zoneinfo MFV of tzdata2009a 2009-01-22 11:24:42 +00:00
Makefile Whitespace nit 2008-10-08 13:20:02 +00:00
Makefile.inc