Re: cksum remove redundant code
ok jmatthew@ On Tue, Jul 04, 2023 at 12:20:32PM +0300, Alexander Bluhm wrote: > anyone? > > On Fri, May 26, 2023 at 06:44:25PM +0200, Alexander Bluhm wrote: > > Hi, > > > > in_ifcap_cksum() checks ifp == NULL > > in_hdr_cksum_out() sets ip_sum = 0 > > in_proto_cksum_out() and in6_proto_cksum_out() always write > > th_sum if M_TCP_CSUM_OUT is set and proto is IPPROTO_TCP. > > > > ok? > > > > bluhm > > > > Index: netinet/ip_output.c > > === > > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_output.c,v > > retrieving revision 1.388 > > diff -u -p -r1.388 ip_output.c > > --- netinet/ip_output.c 22 May 2023 16:08:34 - 1.388 > > +++ netinet/ip_output.c 26 May 2023 11:55:49 - > > @@ -1801,7 +1801,7 @@ in_hdr_cksum_out(struct mbuf *m, struct > > struct ip *ip = mtod(m, struct ip *); > > > > ip->ip_sum = 0; > > - if (ifp && in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { > > + if (in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { > > SET(m->m_pkthdr.csum_flags, M_IPV4_CSUM_OUT); > > } else { > > ipstat_inc(ips_outswcsum); > > Index: netinet/tcp_output.c > > === > > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_output.c,v > > retrieving revision 1.138 > > diff -u -p -r1.138 tcp_output.c > > --- netinet/tcp_output.c15 May 2023 16:34:56 - 1.138 > > +++ netinet/tcp_output.c26 May 2023 15:19:12 - > > @@ -1295,7 +1295,6 @@ tcp_chopper(struct mbuf *m0, struct mbuf > > > > /* copy and adjust IP header, calculate checksum */ > > SET(m->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); > > - mhth->th_sum = 0; > > if (ip) { > > struct ip *mhip; > > > > @@ -1328,10 +1327,8 @@ tcp_chopper(struct mbuf *m0, struct mbuf > > } > > /* adjust IP header, calculate checksum */ > > SET(m0->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); > > - th->th_sum = 0; > > if (ip) { > > ip->ip_len = htons(m0->m_pkthdr.len); > > - ip->ip_sum = 0; > > in_hdr_cksum_out(m0, ifp); > > in_proto_cksum_out(m0, ifp); > > } >
Re: cksum remove redundant code
anyone? On Fri, May 26, 2023 at 06:44:25PM +0200, Alexander Bluhm wrote: > Hi, > > in_ifcap_cksum() checks ifp == NULL > in_hdr_cksum_out() sets ip_sum = 0 > in_proto_cksum_out() and in6_proto_cksum_out() always write > th_sum if M_TCP_CSUM_OUT is set and proto is IPPROTO_TCP. > > ok? > > bluhm > > Index: netinet/ip_output.c > === > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_output.c,v > retrieving revision 1.388 > diff -u -p -r1.388 ip_output.c > --- netinet/ip_output.c 22 May 2023 16:08:34 - 1.388 > +++ netinet/ip_output.c 26 May 2023 11:55:49 - > @@ -1801,7 +1801,7 @@ in_hdr_cksum_out(struct mbuf *m, struct > struct ip *ip = mtod(m, struct ip *); > > ip->ip_sum = 0; > - if (ifp && in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { > + if (in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { > SET(m->m_pkthdr.csum_flags, M_IPV4_CSUM_OUT); > } else { > ipstat_inc(ips_outswcsum); > Index: netinet/tcp_output.c > === > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_output.c,v > retrieving revision 1.138 > diff -u -p -r1.138 tcp_output.c > --- netinet/tcp_output.c 15 May 2023 16:34:56 - 1.138 > +++ netinet/tcp_output.c 26 May 2023 15:19:12 - > @@ -1295,7 +1295,6 @@ tcp_chopper(struct mbuf *m0, struct mbuf > > /* copy and adjust IP header, calculate checksum */ > SET(m->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); > - mhth->th_sum = 0; > if (ip) { > struct ip *mhip; > > @@ -1328,10 +1327,8 @@ tcp_chopper(struct mbuf *m0, struct mbuf > } > /* adjust IP header, calculate checksum */ > SET(m0->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); > - th->th_sum = 0; > if (ip) { > ip->ip_len = htons(m0->m_pkthdr.len); > - ip->ip_sum = 0; > in_hdr_cksum_out(m0, ifp); > in_proto_cksum_out(m0, ifp); > }
cksum remove redundant code
Hi, in_ifcap_cksum() checks ifp == NULL in_hdr_cksum_out() sets ip_sum = 0 in_proto_cksum_out() and in6_proto_cksum_out() always write th_sum if M_TCP_CSUM_OUT is set and proto is IPPROTO_TCP. ok? bluhm Index: netinet/ip_output.c === RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.388 diff -u -p -r1.388 ip_output.c --- netinet/ip_output.c 22 May 2023 16:08:34 - 1.388 +++ netinet/ip_output.c 26 May 2023 11:55:49 - @@ -1801,7 +1801,7 @@ in_hdr_cksum_out(struct mbuf *m, struct struct ip *ip = mtod(m, struct ip *); ip->ip_sum = 0; - if (ifp && in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { + if (in_ifcap_cksum(m, ifp, IFCAP_CSUM_IPv4)) { SET(m->m_pkthdr.csum_flags, M_IPV4_CSUM_OUT); } else { ipstat_inc(ips_outswcsum); Index: netinet/tcp_output.c === RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_output.c,v retrieving revision 1.138 diff -u -p -r1.138 tcp_output.c --- netinet/tcp_output.c15 May 2023 16:34:56 - 1.138 +++ netinet/tcp_output.c26 May 2023 15:19:12 - @@ -1295,7 +1295,6 @@ tcp_chopper(struct mbuf *m0, struct mbuf /* copy and adjust IP header, calculate checksum */ SET(m->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); - mhth->th_sum = 0; if (ip) { struct ip *mhip; @@ -1328,10 +1327,8 @@ tcp_chopper(struct mbuf *m0, struct mbuf } /* adjust IP header, calculate checksum */ SET(m0->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); - th->th_sum = 0; if (ip) { ip->ip_len = htons(m0->m_pkthdr.len); - ip->ip_sum = 0; in_hdr_cksum_out(m0, ifp); in_proto_cksum_out(m0, ifp); }