diff options
author | 2013-10-19 10:49:31 +0000 | |
---|---|---|
committer | 2013-10-19 10:49:31 +0000 | |
commit | 955ab6ba12f8ec29fa50c4be9b8a3cd31c46269c (patch) | |
tree | 4f5cb70cf4eff6032aafd8909d5d769c6a2759fb | |
parent | pf_cksum doesn't need to compute the pseudo hdr cksum any more. (diff) | |
download | wireguard-openbsd-955ab6ba12f8ec29fa50c4be9b8a3cd31c46269c.tar.xz wireguard-openbsd-955ab6ba12f8ec29fa50c4be9b8a3cd31c46269c.zip |
simplify: no need to muck with the pseudo hdr cksum any more
ok lteo florian
-rw-r--r-- | sys/net/if_pflow.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/sys/net/if_pflow.c b/sys/net/if_pflow.c index 4e0a0517109..a6d004c7bdf 100644 --- a/sys/net/if_pflow.c +++ b/sys/net/if_pflow.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_pflow.c,v 1.36 2013/10/17 16:27:41 bluhm Exp $ */ +/* $OpenBSD: if_pflow.c,v 1.37 2013/10/19 10:49:31 henning Exp $ */ /* * Copyright (c) 2011 Florian Obser <florian@narrans.de> @@ -126,9 +126,6 @@ struct if_clone pflow_cloner = IF_CLONE_INITIALIZER("pflow", pflow_clone_create, pflow_clone_destroy); -/* from udp_usrreq.c */ -extern int udpcksum; - void pflowattach(int npflow) { @@ -1535,6 +1532,8 @@ pflow_sendout_mbuf(struct pflow_softc *sc, struct mbuf *m) ui->ui_dst = sc->sc_receiver_ip; ui->ui_dport = sc->sc_receiver_port; ui->ui_ulen = htons(sizeof(struct udphdr) + len); + ui->ui_sum = 0; + m->m_pkthdr.csum_flags |= M_UDP_CSUM_OUT; ip = (struct ip *)ui; ip->ip_v = IPVERSION; @@ -1545,18 +1544,6 @@ pflow_sendout_mbuf(struct pflow_softc *sc, struct mbuf *m) ip->ip_ttl = IPDEFTTL; ip->ip_len = htons(sizeof(struct udpiphdr) + len); - /* - * Compute the pseudo-header checksum; defer further checksumming - * until ip_output() or hardware (if it exists). - */ - if (udpcksum) { - m->m_pkthdr.csum_flags |= M_UDP_CSUM_OUT; - ui->ui_sum = in_cksum_phdr(ui->ui_src.s_addr, - ui->ui_dst.s_addr, htons(len + sizeof(struct udphdr) + - IPPROTO_UDP)); - } else - ui->ui_sum = 0; - #if NBPFILTER > 0 if (ifp->if_bpf) { ip->ip_sum = in_cksum(m, ip->ip_hl << 2); |