summaryrefslogtreecommitdiffstats
path: root/sys/netgraph
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-06-01 15:13:32 +0000
committermav <mav@FreeBSD.org>2008-06-01 15:13:32 +0000
commit4d5dd9615437530955ff18d3eb5c4279a040788e (patch)
tree8a424577451ba3581c6ae0fae938da26af70703a /sys/netgraph
parentd9cb06bec04c5dbff21dfb54a16b80a6be2e1b08 (diff)
downloadFreeBSD-src-4d5dd9615437530955ff18d3eb5c4279a040788e.zip
FreeBSD-src-4d5dd9615437530955ff18d3eb5c4279a040788e.tar.gz
Pass really available buffer size to libalias instead of MCLBYTES constant.
MCLBYTES constant were used with believe that m_megapullup() always moves date into a fresh cluster that may become not so.
Diffstat (limited to 'sys/netgraph')
-rw-r--r--sys/netgraph/ng_nat.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netgraph/ng_nat.c b/sys/netgraph/ng_nat.c
index 0d1e513..9e605da 100644
--- a/sys/netgraph/ng_nat.c
+++ b/sys/netgraph/ng_nat.c
@@ -704,14 +704,14 @@ ng_nat_rcvdata(hook_p hook, item_p item )
("ng_nat: ip_len != m_pkthdr.len"));
if (hook == priv->in) {
- rval = LibAliasIn(priv->lib, c, MCLBYTES);
+ rval = LibAliasIn(priv->lib, c, m->m_len + M_TRAILINGSPACE(m));
if (rval != PKT_ALIAS_OK &&
rval != PKT_ALIAS_FOUND_HEADER_FRAGMENT) {
NG_FREE_ITEM(item);
return (EINVAL);
}
} else if (hook == priv->out) {
- rval = LibAliasOut(priv->lib, c, MCLBYTES);
+ rval = LibAliasOut(priv->lib, c, m->m_len + M_TRAILINGSPACE(m));
if (rval != PKT_ALIAS_OK) {
NG_FREE_ITEM(item);
return (EINVAL);
OpenPOWER on IntegriCloud