Like bge(4), we previously couldn't enable TCP/UDP transmit checksum offload on em(4). We can now.
Works fine here on em0 at pci1 dev 1 function 0 "Intel PRO/1000MT (82540EM)" rev 0x02 and with VLAN on em0 at pci5 dev 0 function 0 "Intel PRO/1000 MT (82574L)" rev 0x00 Does anybody see any value in keeping the #ifdef around? Index: dev/pci/if_em.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_em.c,v retrieving revision 1.267 diff -u -p -r1.267 if_em.c --- dev/pci/if_em.c 16 Aug 2012 09:31:53 -0000 1.267 +++ dev/pci/if_em.c 3 Nov 2012 01:53:32 -0000 @@ -211,10 +211,8 @@ int em_rxfill(struct em_softc *); void em_rxeof(struct em_softc *); void em_receive_checksum(struct em_softc *, struct em_rx_desc *, struct mbuf *); -#ifdef EM_CSUM_OFFLOAD void em_transmit_checksum_setup(struct em_softc *, struct mbuf *, u_int32_t *, u_int32_t *); -#endif void em_iff(struct em_softc *); #ifdef EM_DEBUG void em_print_hw_stats(struct em_softc *); @@ -1121,14 +1119,10 @@ em_encap(struct em_softc *sc, struct mbu if (map->dm_nsegs > sc->num_tx_desc_avail - 2) goto fail; -#ifdef EM_CSUM_OFFLOAD if (sc->hw.mac_type >= em_82543) em_transmit_checksum_setup(sc, m_head, &txd_upper, &txd_lower); else txd_upper = txd_lower = 0; -#else - txd_upper = txd_lower = 0; -#endif i = sc->next_avail_tx_desc; if (sc->pcix_82544) @@ -1853,10 +1847,8 @@ em_setup_interface(struct em_softc *sc) ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING; #endif -#ifdef EM_CSUM_OFFLOAD if (sc->hw.mac_type >= em_82543) ifp->if_capabilities |= IFCAP_CSUM_TCPv4|IFCAP_CSUM_UDPv4; -#endif /* * Specify the media types supported by this adapter and register @@ -2275,7 +2267,6 @@ em_free_transmit_structures(struct em_so sc->txtag = NULL; } -#ifdef EM_CSUM_OFFLOAD /********************************************************************* * * The offload context needs to be set when we transfer the first @@ -2356,7 +2347,6 @@ em_transmit_checksum_setup(struct em_sof sc->num_tx_desc_avail--; sc->next_avail_tx_desc = curr_txd; } -#endif /* EM_CSUM_OFFLOAD */ /********************************************************************** * -- Christian "naddy" Weisgerber na...@mips.inka.de