From: Alexander Bluhm Subject: Re: ix(4): remove redundant code To: Jan Klemkow Cc: tech@openbsd.org Date: Tue, 23 Jun 2026 17:04:09 +0200 On Mon, Jun 22, 2026 at 11:12:49PM +0200, Jan Klemkow wrote: > Hi, > > paylen is already calculated by ether_extract_headers(). > So, we can remove some redundant lines here. > > ok? OK bluhm@ > Index: dev/pci/if_ix.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_ix.c,v > diff -u -p -r1.226 if_ix.c > --- dev/pci/if_ix.c 18 May 2026 12:14:38 -0000 1.226 > +++ dev/pci/if_ix.c 22 Jun 2026 21:07:35 -0000 > @@ -2682,7 +2682,7 @@ ixgbe_tx_offload(struct mbuf *mp, uint32 > > if (mp->m_pkthdr.csum_flags & M_TCP_TSO) { > if (ext.tcp && mp->m_pkthdr.ph_mss > 0) { > - uint32_t hdrlen, thlen, paylen, outlen; > + uint32_t thlen, outlen; > > thlen = ext.tcphlen; > > @@ -2690,17 +2690,15 @@ ixgbe_tx_offload(struct mbuf *mp, uint32 > *mss_l4len_idx |= outlen << IXGBE_ADVTXD_MSS_SHIFT; > *mss_l4len_idx |= thlen << IXGBE_ADVTXD_L4LEN_SHIFT; > > - hdrlen = sizeof(*ext.eh) + ext.iphlen + thlen; > - paylen = mp->m_pkthdr.len - hdrlen; > CLR(*olinfo_status, IXGBE_ADVTXD_PAYLEN_MASK > << IXGBE_ADVTXD_PAYLEN_SHIFT); > - *olinfo_status |= paylen << IXGBE_ADVTXD_PAYLEN_SHIFT; > + *olinfo_status |= ext.paylen << IXGBE_ADVTXD_PAYLEN_SHIFT; > > *cmd_type_len |= IXGBE_ADVTXD_DCMD_TSE; > offload = 1; > > tcpstat_add(tcps_outpkttso, > - (paylen + outlen - 1) / outlen); > + (ext.paylen + outlen - 1) / outlen); > } else > tcpstat_inc(tcps_outbadtso); > } > @@ -3497,7 +3495,6 @@ ixgbe_rx_offload(uint32_t staterr, uint1 > > if (pkts > 1) { > struct ether_extracted ext; > - uint32_t paylen; > > /* > * Calculate the payload size: > @@ -3508,11 +3505,7 @@ ixgbe_rx_offload(uint32_t staterr, uint1 > * based on the total ip length field (ext.iplen). > */ > ether_extract_headers(m, &ext); > - paylen = ext.iplen; > - if (ext.ip4 || ext.ip6) > - paylen -= ext.iphlen; > if (ext.tcp) { > - paylen -= ext.tcphlen; > tcpstat_inc(tcps_inhwlro); > tcpstat_add(tcps_inpktlro, pkts); > } else { > @@ -3523,9 +3516,9 @@ ixgbe_rx_offload(uint32_t staterr, uint1 > * If we gonna forward this packet, we have to mark it as TSO, > * set a correct mss, and recalculate the TCP checksum. > */ > - if (ext.tcp && paylen >= pkts) { > + if (ext.tcp && ext.paylen >= pkts) { > SET(m->m_pkthdr.csum_flags, M_TCP_TSO); > - m->m_pkthdr.ph_mss = paylen / pkts; > + m->m_pkthdr.ph_mss = ext.paylen / pkts; > } > if (ext.tcp && ISSET(m->m_pkthdr.csum_flags, M_TCP_CSUM_IN_OK)) > SET(m->m_pkthdr.csum_flags, M_TCP_CSUM_OUT); > >