From: Jan Klemkow Subject: ix(4): remove redundant code To: tech@openbsd.org Date: Mon, 22 Jun 2026 23:12:49 +0200 Hi, paylen is already calculated by ether_extract_headers(). So, we can remove some redundant lines here. ok? bye, Jan 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);