Download raw body.
ix(4): remove redundant code
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);
>
>
ix(4): remove redundant code