diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index f8acce5..bc20852 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -2065,7 +2065,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, ao.addr16[1], an->addr16[1], 0); *p = pn; - *pc = pf_cksum_fixup(pf_cksum_fixup(*pc, + *pc = pf_proto_cksum_fixup(m, pf_proto_cksum_fixup(m, *pc, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u); @@ -2074,9 +2074,10 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, #endif /* INET */ #ifdef INET6 case AF_INET6: - *pc = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( - pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( - pf_cksum_fixup(pf_cksum_fixup(*pc, + *pc = pf_proto_cksum_fixup(m, pf_proto_cksum_fixup(m, + pf_proto_cksum_fixup(m, pf_proto_cksum_fixup(m, + pf_proto_cksum_fixup(m, pf_proto_cksum_fixup(m, + pf_proto_cksum_fixup(m, pf_proto_cksum_fixup(m, *pc, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u), ao.addr16[2], an->addr16[2], u),