summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/contrib/ipfilter/netinet/ip_fil_freebsd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
index cac56ef..338b69a 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
+++ b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
@@ -1357,7 +1357,9 @@ fr_info_t *fin;
else
sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr,
htonl(m->m_pkthdr.csum_data +
- fin->fin_ip->ip_len + fin->fin_p));
+ fin->fin_ip->ip_len -
+ (fin->fin_ip->ip_hl << 2) +
+ fin->fin_p));
sum ^= 0xffff;
if (sum != 0) {
fin->fin_flx |= FI_BAD;
OpenPOWER on IntegriCloud