Re: cksum remove redundant code

2023-07-04 Thread Jonathan Matthew
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

2023-07-04 Thread Alexander Bluhm
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

2023-05-26 Thread Alexander Bluhm
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);
}