summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/nat_cmd.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2000-03-14 01:47:21 +0000
committerbrian <brian@FreeBSD.org>2000-03-14 01:47:21 +0000
commit041ec329dc4111a616c48d22712dfcaf9cbfe9bb (patch)
tree09522d832c5adcd76ce7237dc3b3d145c7a93819 /usr.sbin/ppp/nat_cmd.c
parent19ff2ab337c997a28964c88f5124a07dff48a0e4 (diff)
downloadFreeBSD-src-041ec329dc4111a616c48d22712dfcaf9cbfe9bb.zip
FreeBSD-src-041ec329dc4111a616c48d22712dfcaf9cbfe9bb.tar.gz
Refresh the NAT IP pointer after a potential mbuf reallocation. This
caused frequent lock-ups for individual sessions over a NAT'd ppp link when MTU sizes ended up more or less exactly wrong.
Diffstat (limited to 'usr.sbin/ppp/nat_cmd.c')
-rw-r--r--usr.sbin/ppp/nat_cmd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/usr.sbin/ppp/nat_cmd.c b/usr.sbin/ppp/nat_cmd.c
index 490ef73..9504207 100644
--- a/usr.sbin/ppp/nat_cmd.c
+++ b/usr.sbin/ppp/nat_cmd.c
@@ -380,6 +380,7 @@ nat_LayerPull(struct bundle *bundle, struct link *l, struct mbuf *bp,
/* Ensure there's a bit of extra buffer for the NAT code... */
bp = m_pullup(m_append(bp, NULL, NAT_EXTRABUF));
ret = PacketAliasIn(MBUF_CTOP(bp), bp->m_len);
+ pip = (struct ip *)MBUF_CTOP(bp);
bp->m_len = ntohs(pip->ip_len);
if (bp->m_len > MAX_MRU) {
OpenPOWER on IntegriCloud