summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2009-06-22 13:55:40 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2009-06-22 13:55:40 +0000
commit02516b81478e4c7fe93815a73996a7fd212c8bb7 (patch)
tree8f2cfbcd8dbf819570f9ea88487240c92f71bb08
parent7aeb3a79bc1aca5c2d6eb68c4cde5c30e6c47949 (diff)
Fix scrub max-mss for IPv6 traffic.
spotted by naddy@ ok henning@
-rw-r--r--sys/net/pf.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index a7ced6b29a0..b20428aa1d5 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.651 2009/06/08 03:56:14 henning Exp $ */
+/* $OpenBSD: pf.c,v 1.652 2009/06/22 13:55:39 jsing Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -5915,6 +5915,13 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0,
} else if (s == NULL)
action = pf_test_rule(&r, &s, dir, kif,
m, off, h, &pd, &a, &ruleset, &ip6intrq);
+
+ if (s) {
+ if (s->max_mss)
+ pf_normalize_mss(m, off, &pd, s->max_mss);
+ } else if (r->max_mss)
+ pf_normalize_mss(m, off, &pd, r->max_mss);
+
break;
}