Directly send data uncompressed if the packet payload size is lower than

the compression algorithm threshold.

MFC after:	6 days
This commit is contained in:
Bjoern A. Zeeb 2009-11-28 21:40:57 +00:00
parent 6f443bec58
commit 4ff9852103
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=199896

View File

@ -343,6 +343,17 @@ ipcomp_output(
ipcompx = sav->tdb_compalgxform;
IPSEC_ASSERT(ipcompx != NULL, ("null compression xform"));
/*
* Do not touch the packet in case our payload to compress
* is lower than the minimal threshold of the compression
* alogrithm. We will just send out the data uncompressed.
* See RFC 3173, 2.2. Non-Expansion Policy.
*/
if (m->m_pkthdr.len <= ipcompx->minlen) {
/* XXX-BZ V_ipcompstat.threshold++; */
return ipsec_process_done(m, isr);
}
ralen = m->m_pkthdr.len - skip; /* Raw payload length before comp. */
hlen = IPCOMP_HLENGTH;