summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/netinet/ip_options.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/netinet/ip_options.c')
-rw-r--r--freebsd/sys/netinet/ip_options.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/freebsd/sys/netinet/ip_options.c b/freebsd/sys/netinet/ip_options.c
index c90077ea..fbbe96d3 100644
--- a/freebsd/sys/netinet/ip_options.c
+++ b/freebsd/sys/netinet/ip_options.c
@@ -111,6 +111,7 @@ ip_dooptions(struct mbuf *m, int pass)
uint32_t ntime;
struct nhop4_extended nh_ext;
struct sockaddr_in ipaddr = { sizeof(ipaddr), AF_INET };
+ struct epoch_tracker et;
/* Ignore or reject packets with IP options. */
if (V_ip_doopts == 0)
@@ -121,7 +122,7 @@ ip_dooptions(struct mbuf *m, int pass)
goto bad_unlocked;
}
- NET_EPOCH_ENTER();
+ NET_EPOCH_ENTER(et);
dst = ip->ip_dst;
cp = (u_char *)(ip + 1);
cnt = (ip->ip_hl << 2) - sizeof (struct ip);
@@ -227,7 +228,7 @@ dropit:
#endif
IPSTAT_INC(ips_cantforward);
m_freem(m);
- NET_EPOCH_EXIT();
+ NET_EPOCH_EXIT(et);
return (1);
}
}
@@ -382,14 +383,14 @@ dropit:
cp[IPOPT_OFFSET] += sizeof(uint32_t);
}
}
- NET_EPOCH_EXIT();
+ NET_EPOCH_EXIT(et);
if (forward && V_ipforwarding) {
ip_forward(m, 1);
return (1);
}
return (0);
bad:
- NET_EPOCH_EXIT();
+ NET_EPOCH_EXIT(et);
bad_unlocked:
icmp_error(m, type, code, 0, 0);
IPSTAT_INC(ips_badoptions);