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 -0000      1.388
> > +++ netinet/ip_output.c     26 May 2023 11:55:49 -0000
> > @@ -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 -0000      1.138
> > +++ netinet/tcp_output.c    26 May 2023 15:19:12 -0000
> > @@ -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);
> >     }
> 

Reply via email to