so i wanna change the world order a bit again. basically, no part of the tree should bother with setting tcp and udp checksums. when they are needed, the stack just sets these flags, and ip_output / ip6_output do the checksum then. we're not too far off for ipv4, as usual ipv6 has it all wrong. most parts of the stack dealing with udp and tcp don't seperate v4/v6, and having gazillions of if (af == AF_INET) m->m_flags |= M_TCPV4_CSUM_OUT; else m->m_flags |= M_TCPV6_CSUM_OUT; is stupid. ip_output and ip6_output do have an idea wether they deal with v4 or v6... (despite the fact that you could just do the conditional on af there if really needed)
so here we go. ok? Index: dev/ic/re.c =================================================================== RCS file: /cvs/src/sys/dev/ic/re.c,v retrieving revision 1.133 diff -u -p -r1.133 re.c --- dev/ic/re.c 13 Mar 2011 15:35:20 -0000 1.133 +++ dev/ic/re.c 5 Apr 2011 16:12:32 -0000 @@ -1707,18 +1707,18 @@ re_encap(struct rl_softc *sc, struct mbu */ if ((m->m_pkthdr.csum_flags & - (M_IPV4_CSUM_OUT|M_TCPV4_CSUM_OUT|M_UDPV4_CSUM_OUT)) != 0) { + (M_IPV4_CSUM_OUT|M_TCP_CSUM_OUT|M_UDP_CSUM_OUT)) != 0) { if (sc->rl_flags & RL_FLAG_DESCV2) { vlanctl |= RL_TDESC_CMD_IPCSUMV2; - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) vlanctl |= RL_TDESC_CMD_TCPCSUMV2; - if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) vlanctl |= RL_TDESC_CMD_UDPCSUMV2; } else { csum_flags |= RL_TDESC_CMD_IPCSUM; - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) csum_flags |= RL_TDESC_CMD_TCPCSUM; - if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) csum_flags |= RL_TDESC_CMD_UDPCSUM; } } Index: dev/ic/xl.c =================================================================== RCS file: /cvs/src/sys/dev/ic/xl.c,v retrieving revision 1.99 diff -u -p -r1.99 xl.c --- dev/ic/xl.c 22 Sep 2010 08:49:14 -0000 1.99 +++ dev/ic/xl.c 5 Apr 2011 16:12:33 -0000 @@ -1661,9 +1661,9 @@ reload: if (m_head->m_pkthdr.csum_flags) { if (m_head->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) status |= XL_TXSTAT_IPCKSUM; - if (m_head->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) status |= XL_TXSTAT_TCPCKSUM; - if (m_head->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) status |= XL_TXSTAT_UDPCKSUM; } #endif Index: dev/pci/if_age.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_age.c,v retrieving revision 1.12 diff -u -p -r1.12 if_age.c --- dev/pci/if_age.c 27 Aug 2010 17:08:00 -0000 1.12 +++ dev/pci/if_age.c 5 Apr 2011 16:12:34 -0000 @@ -132,7 +132,7 @@ struct cfdriver age_cd = { int agedebug = 0; #define DPRINTF(x) do { if (agedebug) printf x; } while (0) -#define AGE_CSUM_FEATURES (M_TCPV4_CSUM_OUT | M_UDPV4_CSUM_OUT) +#define AGE_CSUM_FEATURES (M_TCP_CSUM_OUT | M_UDP_CSUM_OUT) int age_match(struct device *dev, void *match, void *aux) @@ -1195,9 +1195,9 @@ age_encap(struct age_softc *sc, struct m /* Configure Tx IP/TCP/UDP checksum offload. */ if ((m->m_pkthdr.csum_flags & AGE_CSUM_FEATURES) != 0) { cflags |= AGE_TD_CSUM; - if ((m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) != 0) + if ((m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) != 0) cflags |= AGE_TD_TCPCSUM; - if ((m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) != 0) + if ((m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) != 0) cflags |= AGE_TD_UDPCSUM; /* Set checksum start offset. */ cflags |= (poff << AGE_TD_CSUM_PLOADOFFSET_SHIFT); Index: dev/pci/if_alc.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_alc.c,v retrieving revision 1.10 diff -u -p -r1.10 if_alc.c --- dev/pci/if_alc.c 18 Feb 2011 17:20:15 -0000 1.10 +++ dev/pci/if_alc.c 5 Apr 2011 16:12:34 -0000 @@ -140,7 +140,7 @@ struct cfdriver alc_cd = { int alcdebug = 0; #define DPRINTF(x) do { if (alcdebug) printf x; } while (0) -#define ALC_CSUM_FEATURES (M_TCPV4_CSUM_OUT | M_UDPV4_CSUM_OUT) +#define ALC_CSUM_FEATURES (M_TCP_CSUM_OUT | M_UDP_CSUM_OUT) int alc_miibus_readreg(struct device *dev, int phy, int reg) Index: dev/pci/if_ale.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ale.c,v retrieving revision 1.16 diff -u -p -r1.16 if_ale.c --- dev/pci/if_ale.c 31 Aug 2010 17:13:44 -0000 1.16 +++ dev/pci/if_ale.c 5 Apr 2011 16:12:35 -0000 @@ -135,7 +135,7 @@ struct cfdriver ale_cd = { int aledebug = 0; #define DPRINTF(x) do { if (aledebug) printf x; } while (0) -#define ALE_CSUM_FEATURES (M_TCPV4_CSUM_OUT | M_UDPV4_CSUM_OUT) +#define ALE_CSUM_FEATURES (M_TCP_CSUM_OUT | M_UDP_CSUM_OUT) int ale_miibus_readreg(struct device *dev, int phy, int reg) Index: dev/pci/if_bge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_bge.c,v retrieving revision 1.305 diff -u -p -r1.305 if_bge.c --- dev/pci/if_bge.c 22 Feb 2011 18:00:44 -0000 1.305 +++ dev/pci/if_bge.c 5 Apr 2011 16:12:37 -0000 @@ -3038,8 +3038,8 @@ bge_encap(struct bge_softc *sc, struct m if (m_head->m_pkthdr.csum_flags) { if (m_head->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) csum_flags |= BGE_TXBDFLAG_IP_CSUM; - if (m_head->m_pkthdr.csum_flags & (M_TCPV4_CSUM_OUT | - M_UDPV4_CSUM_OUT)) { + if (m_head->m_pkthdr.csum_flags & (M_TCP_CSUM_OUT | + M_UDP_CSUM_OUT)) { csum_flags |= BGE_TXBDFLAG_TCP_UDP_CSUM; if (m_head->m_pkthdr.len < ETHER_MIN_NOPAD && bge_cksum_pad(m_head) != 0) Index: dev/pci/if_bnx.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_bnx.c,v retrieving revision 1.91 diff -u -p -r1.91 if_bnx.c --- dev/pci/if_bnx.c 3 Apr 2011 15:36:02 -0000 1.91 +++ dev/pci/if_bnx.c 5 Apr 2011 16:12:39 -0000 @@ -4830,10 +4830,10 @@ bnx_tx_encap(struct bnx_softc *sc, struc /* Transfer any checksum offload flags to the bd. */ if (m->m_pkthdr.csum_flags) { - if (m->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_IP_CSUM_OUT) flags |= TX_BD_FLAGS_IP_CKSUM; if (m->m_pkthdr.csum_flags & - (M_TCPV4_CSUM_OUT | M_UDPV4_CSUM_OUT)) + (M_TCP_CSUM_OUT | M_UDP_CSUM_OUT)) flags |= TX_BD_FLAGS_TCP_UDP_CKSUM; } Index: dev/pci/if_em.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_em.c,v retrieving revision 1.251 diff -u -p -r1.251 if_em.c --- dev/pci/if_em.c 3 Apr 2011 15:36:02 -0000 1.251 +++ dev/pci/if_em.c 5 Apr 2011 16:12:41 -0000 @@ -2236,14 +2236,14 @@ em_transmit_checksum_setup(struct em_sof int curr_txd; if (mp->m_pkthdr.csum_flags) { - if (mp->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) { + if (mp->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) { *txd_upper = E1000_TXD_POPTS_TXSM << 8; *txd_lower = E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D; if (sc->active_checksum_context == OFFLOAD_TCP_IP) return; else sc->active_checksum_context = OFFLOAD_TCP_IP; - } else if (mp->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) { + } else if (mp->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) { *txd_upper = E1000_TXD_POPTS_TXSM << 8; *txd_lower = E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D; if (sc->active_checksum_context == OFFLOAD_UDP_IP) Index: dev/pci/if_ix.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ix.c,v retrieving revision 1.47 diff -u -p -r1.47 if_ix.c --- dev/pci/if_ix.c 3 Apr 2011 15:36:02 -0000 1.47 +++ dev/pci/if_ix.c 5 Apr 2011 16:12:41 -0000 @@ -2046,11 +2046,11 @@ ixgbe_tx_ctx_setup(struct tx_ring *txr, switch (ipproto) { case IPPROTO_TCP: - if (mp->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (mp->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_TCP; break; case IPPROTO_UDP: - if (mp->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (mp->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_L4T_UDP; break; } Index: dev/pci/if_ixgb.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ixgb.c,v retrieving revision 1.58 diff -u -p -r1.58 if_ixgb.c --- dev/pci/if_ixgb.c 3 Apr 2011 15:36:02 -0000 1.58 +++ dev/pci/if_ixgb.c 5 Apr 2011 16:12:42 -0000 @@ -1296,14 +1296,14 @@ ixgb_transmit_checksum_setup(struct ixgb if (mp->m_pkthdr.csum_flags) { - if (mp->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) { + if (mp->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) { *txd_popts = IXGB_TX_DESC_POPTS_TXSM; if (sc->active_checksum_context == OFFLOAD_TCP_IP) return; else sc->active_checksum_context = OFFLOAD_TCP_IP; - } else if (mp->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) { + } else if (mp->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) { *txd_popts = IXGB_TX_DESC_POPTS_TXSM; if (sc->active_checksum_context == OFFLOAD_UDP_IP) return; Index: dev/pci/if_jme.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_jme.c,v retrieving revision 1.24 diff -u -p -r1.24 if_jme.c --- dev/pci/if_jme.c 27 Aug 2010 17:08:00 -0000 1.24 +++ dev/pci/if_jme.c 5 Apr 2011 16:12:43 -0000 @@ -1109,9 +1109,9 @@ jme_encap(struct jme_softc *sc, struct m /* Configure checksum offload. */ if (m->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) cflags |= JME_TD_IPCSUM; - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) cflags |= JME_TD_TCPCSUM; - if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) cflags |= JME_TD_UDPCSUM; #if NVLAN > 0 Index: dev/pci/if_nfe.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_nfe.c,v retrieving revision 1.97 diff -u -p -r1.97 if_nfe.c --- dev/pci/if_nfe.c 10 Jan 2011 16:18:03 -0000 1.97 +++ dev/pci/if_nfe.c 5 Apr 2011 16:12:44 -0000 @@ -950,7 +950,7 @@ nfe_encap(struct nfe_softc *sc, struct m #endif if (m0->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) flags |= NFE_TX_IP_CSUM; - if (m0->m_pkthdr.csum_flags & (M_TCPV4_CSUM_OUT | M_UDPV4_CSUM_OUT)) + if (m0->m_pkthdr.csum_flags & (M_TCP_CSUM_OUT | M_UDP_CSUM_OUT)) flags |= NFE_TX_TCP_UDP_CSUM; for (i = 0; i < map->dm_nsegs; i++) { Index: dev/pci/if_stge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_stge.c,v retrieving revision 1.52 diff -u -p -r1.52 if_stge.c --- dev/pci/if_stge.c 7 Dec 2009 15:31:07 -0000 1.52 +++ dev/pci/if_stge.c 5 Apr 2011 16:12:44 -0000 @@ -574,9 +574,9 @@ stge_start(struct ifnet *ifp) if (m0->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) csum_flags |= TFD_IPChecksumEnable; - if (m0->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m0->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) csum_flags |= TFD_TCPChecksumEnable; - else if (m0->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + else if (m0->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) csum_flags |= TFD_UDPChecksumEnable; #endif Index: dev/pci/if_txp.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_txp.c,v retrieving revision 1.103 diff -u -p -r1.103 if_txp.c --- dev/pci/if_txp.c 3 Apr 2011 15:36:03 -0000 1.103 +++ dev/pci/if_txp.c 5 Apr 2011 16:12:45 -0000 @@ -1378,11 +1378,11 @@ txp_start(struct ifnet *ifp) if (m->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) txd->tx_pflags |= TX_PFLAGS_IPCKSUM; #ifdef TRY_TX_TCP_CSUM - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) txd->tx_pflags |= TX_PFLAGS_TCPCKSUM; #endif #ifdef TRY_TX_UDP_CSUM - if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) txd->tx_pflags |= TX_PFLAGS_UDPCKSUM; #endif Index: dev/pci/if_vge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_vge.c,v retrieving revision 1.49 diff -u -p -r1.49 if_vge.c --- dev/pci/if_vge.c 3 Apr 2011 15:36:03 -0000 1.49 +++ dev/pci/if_vge.c 5 Apr 2011 16:12:46 -0000 @@ -1346,9 +1346,9 @@ vge_encap(struct vge_softc *sc, struct m if (m_head->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) vge_flags |= VGE_TDCTL_IPCSUM; - if (m_head->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) vge_flags |= VGE_TDCTL_TCPCSUM; - if (m_head->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) vge_flags |= VGE_TDCTL_UDPCSUM; txmap = sc->vge_ldata.vge_tx_dmamap[idx]; Index: dev/pci/if_vr.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_vr.c,v retrieving revision 1.108 diff -u -p -r1.108 if_vr.c --- dev/pci/if_vr.c 13 Mar 2011 15:38:50 -0000 1.108 +++ dev/pci/if_vr.c 5 Apr 2011 16:12:46 -0000 @@ -1149,9 +1149,9 @@ vr_encap(struct vr_softc *sc, struct vr_ if (sc->vr_quirks & VR_Q_CSUM) { if (m_head->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) vr_flags |= VR_TXCTL_IPCSUM; - if (m_head->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) vr_flags |= VR_TXCTL_TCPCSUM; - if (m_head->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m_head->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) vr_flags |= VR_TXCTL_UDPCSUM; } Index: dev/pci/if_xge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_xge.c,v retrieving revision 1.53 diff -u -p -r1.53 if_xge.c --- dev/pci/if_xge.c 3 Apr 2011 15:36:03 -0000 1.53 +++ dev/pci/if_xge.c 5 Apr 2011 16:12:46 -0000 @@ -1138,9 +1138,9 @@ xge_start(struct ifnet *ifp) if (m->m_pkthdr.csum_flags & M_IPV4_CSUM_OUT) txd->txd_control2 |= TXD_CTL2_CIPv4; - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) txd->txd_control2 |= TXD_CTL2_CTCP; - if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) txd->txd_control2 |= TXD_CTL2_CUDP; txd[ntxd].txd_control1 |= TXD_CTL1_GCL; Index: net/if_bridge.c =================================================================== RCS file: /cvs/src/sys/net/if_bridge.c,v retrieving revision 1.189 diff -u -p -r1.189 if_bridge.c --- net/if_bridge.c 4 Apr 2011 13:55:54 -0000 1.189 +++ net/if_bridge.c 5 Apr 2011 16:12:48 -0000 @@ -1063,8 +1063,8 @@ bridge_output(struct ifnet *ifp, struct #endif /* IPSEC */ /* Catch packets that need TCP/UDP hardware checksumming */ - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT || - m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) { + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT || + m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) { m_freem(m); splx(s); return (0); Index: net/if_pflow.c =================================================================== RCS file: /cvs/src/sys/net/if_pflow.c,v retrieving revision 1.14 diff -u -p -r1.14 if_pflow.c --- net/if_pflow.c 2 Jul 2010 02:40:16 -0000 1.14 +++ net/if_pflow.c 5 Apr 2011 16:12:49 -0000 @@ -559,7 +559,7 @@ pflow_sendout_mbuf(struct pflow_softc *s * Compute the pseudo-header checksum; defer further checksumming * until ip_output() or hardware (if it exists). */ - m->m_pkthdr.csum_flags |= M_UDPV4_CSUM_OUT; + m->m_pkthdr.csum_flags |= M_UDP_CSUM_OUT; ui->ui_sum = in_cksum_phdr(ui->ui_src.s_addr, ui->ui_dst.s_addr, htons(len + sizeof(struct udphdr) + IPPROTO_UDP)); Index: net/pf.c =================================================================== RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.735 diff -u -p -r1.735 pf.c --- net/pf.c 5 Apr 2011 15:51:41 -0000 1.735 +++ net/pf.c 5 Apr 2011 16:12:51 -0000 @@ -5162,9 +5162,9 @@ pf_route(struct mbuf **m, struct pf_rule } else ip->ip_sum = in_cksum(m0, ip->ip_hl << 2); /* Update relevant hardware checksum stats for TCP/UDP */ - if (m0->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m0->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) tcpstat.tcps_outhwcsum++; - else if (m0->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + else if (m0->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) udpstat.udps_outhwcsum++; error = (*ifp->if_output)(ifp, m0, sintosa(dst), NULL); goto done; Index: net/pipex.c =================================================================== RCS file: /cvs/src/sys/net/pipex.c,v retrieving revision 1.16 diff -u -p -r1.16 pipex.c --- net/pipex.c 14 Mar 2011 06:53:33 -0000 1.16 +++ net/pipex.c 5 Apr 2011 16:12:51 -0000 @@ -1946,7 +1946,7 @@ pipex_l2tp_output(struct mbuf *m0, struc udp->uh_sum = in_cksum_phdr(ip->ip_src.s_addr, ip->ip_dst.s_addr, htons(plen + IPPROTO_UDP)); - m0->m_pkthdr.csum_flags |= M_UDPV4_CSUM_OUT; + m0->m_pkthdr.csum_flags |= M_UDP_CSUM_OUT; if (ip_output(m0, NULL, NULL, 0, NULL, NULL) != 0) { PIPEX_DBG((session, LOG_DEBUG, "ip_output failed.")); Index: netinet/ip_output.c =================================================================== RCS file: /cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.216 diff -u -p -r1.216 ip_output.c --- netinet/ip_output.c 4 Apr 2011 17:44:43 -0000 1.216 +++ netinet/ip_output.c 5 Apr 2011 16:12:52 -0000 @@ -744,9 +744,9 @@ sendit: } else ip->ip_sum = in_cksum(m, hlen); /* Update relevant hardware checksum stats for TCP/UDP */ - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) tcpstat.tcps_outhwcsum++; - else if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) + else if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) udpstat.udps_outhwcsum++; error = (*ifp->if_output)(ifp, m, sintosa(dst), ro->ro_rt); goto done; @@ -2127,17 +2127,17 @@ in_delayed_cksum(struct mbuf *m) void in_proto_cksum_out(struct mbuf *m, struct ifnet *ifp) { - if (m->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) { + if (m->m_pkthdr.csum_flags & M_TCP_CSUM_OUT) { if (!ifp || !(ifp->if_capabilities & IFCAP_CSUM_TCPv4) || ifp->if_bridge != NULL) { in_delayed_cksum(m); - m->m_pkthdr.csum_flags &= ~M_TCPV4_CSUM_OUT; /* Clear */ + m->m_pkthdr.csum_flags &= ~M_TCP_CSUM_OUT; /* Clear */ } - } else if (m->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) { + } else if (m->m_pkthdr.csum_flags & M_UDP_CSUM_OUT) { if (!ifp || !(ifp->if_capabilities & IFCAP_CSUM_UDPv4) || ifp->if_bridge != NULL) { in_delayed_cksum(m); - m->m_pkthdr.csum_flags &= ~M_UDPV4_CSUM_OUT; /* Clear */ + m->m_pkthdr.csum_flags &= ~M_UDP_CSUM_OUT; /* Clear */ } } } Index: netinet/tcp_output.c =================================================================== RCS file: /cvs/src/sys/netinet/tcp_output.c,v retrieving revision 1.93 diff -u -p -r1.93 tcp_output.c --- netinet/tcp_output.c 7 Jan 2011 17:50:42 -0000 1.93 +++ netinet/tcp_output.c 5 Apr 2011 16:12:53 -0000 @@ -955,7 +955,7 @@ send: #ifdef INET case AF_INET: /* Defer checksumming until later (ip_output() or hardware) */ - m->m_pkthdr.csum_flags |= M_TCPV4_CSUM_OUT; + m->m_pkthdr.csum_flags |= M_TCP_CSUM_OUT; if (len + optlen) th->th_sum = in_cksum_addword(th->th_sum, htons((u_int16_t)(len + optlen))); Index: netinet/udp_usrreq.c =================================================================== RCS file: /cvs/src/sys/netinet/udp_usrreq.c,v retrieving revision 1.139 diff -u -p -r1.139 udp_usrreq.c --- netinet/udp_usrreq.c 3 Apr 2011 16:09:09 -0000 1.139 +++ netinet/udp_usrreq.c 5 Apr 2011 16:12:53 -0000 @@ -1017,7 +1017,7 @@ udp_output(struct mbuf *m, ...) * until ip_output() or hardware (if it exists). */ if (udpcksum) { - m->m_pkthdr.csum_flags |= M_UDPV4_CSUM_OUT; + m->m_pkthdr.csum_flags |= M_UDP_CSUM_OUT; ui->ui_sum = in_cksum_phdr(ui->ui_src.s_addr, ui->ui_dst.s_addr, htons((u_int16_t)len + sizeof (struct udphdr) + IPPROTO_UDP)); Index: sys/mbuf.h =================================================================== RCS file: /cvs/src/sys/sys/mbuf.h,v retrieving revision 1.147 diff -u -p -r1.147 mbuf.h --- sys/mbuf.h 5 Apr 2011 11:48:28 -0000 1.147 +++ sys/mbuf.h 5 Apr 2011 16:12:53 -0000 @@ -176,8 +176,8 @@ struct mbuf { /* Checksumming flags */ #define M_IPV4_CSUM_OUT 0x0001 /* IPv4 checksum needed */ -#define M_TCPV4_CSUM_OUT 0x0002 /* TCP checksum needed */ -#define M_UDPV4_CSUM_OUT 0x0004 /* UDP checksum needed */ +#define M_TCP_CSUM_OUT 0x0002 /* TCP checksum needed */ +#define M_UDP_CSUM_OUT 0x0004 /* UDP checksum needed */ #define M_IPV4_CSUM_IN_OK 0x0008 /* IPv4 checksum verified */ #define M_IPV4_CSUM_IN_BAD 0x0010 /* IPv4 checksum bad */ #define M_TCP_CSUM_IN_OK 0x0020 /* TCP/IPv4 checksum verified */ -- Henning Brauer, h...@bsws.de, henn...@openbsd.org BS Web Services, http://bsws.de Full-Service ISP - Secure Hosting, Mail and DNS Services Dedicated Servers, Rootservers, Application Hosting