summaryrefslogtreecommitdiff
path: root/sys/net/pf.c
diff options
context:
space:
mode:
authorjasoni <jasoni@cvs.openbsd.org>2002-06-09 01:49:43 +0000
committerjasoni <jasoni@cvs.openbsd.org>2002-06-09 01:49:43 +0000
commit59ae54dffb34b6596275788a4a35e78588fcde26 (patch)
tree2f24d8991e219d7556032ab8fb6d7ecea27b1070 /sys/net/pf.c
parent199f772558a3efdd142679c0a85cd3f9ed4ca2d8 (diff)
increment ifs6_in_toobig if ipv6 packet too large for interface in
pf_route6().
Diffstat (limited to 'sys/net/pf.c')
-rw-r--r--sys/net/pf.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index f1b38620ede..f6a41c18a18 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.221 2002/06/09 01:44:31 jasoni Exp $ */
+/* $OpenBSD: pf.c,v 1.222 2002/06/09 01:49:42 jasoni Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -5227,10 +5227,13 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir)
if (m0->m_pkthdr.len <= ifp->if_mtu) {
error = (*ifp->if_output)(ifp, m0, (struct sockaddr *)dst,
NULL);
- } else if (r->rt != PF_DUPTO)
- icmp6_error(m0, ICMP6_PACKET_TOO_BIG, 0, ifp->if_mtu);
- else
- goto bad;
+ } else {
+ in6_ifstat_inc(ifp, ifs6_in_toobig);
+ if (r->rt != PF_DUPTO)
+ icmp6_error(m0, ICMP6_PACKET_TOO_BIG, 0, ifp->if_mtu);
+ else
+ goto bad;
+ }
done:
if (r->rt != PF_DUPTO)