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