svn commit: r195387 - in stable/7/sys: . contrib/pf dev/ale

Pyun YongHyeon yongari at FreeBSD.org
Mon Jul 6 01:04:46 UTC 2009


Author: yongari
Date: Mon Jul  6 01:04:45 2009
New Revision: 195387
URL: http://svn.freebsd.org/changeset/base/195387

Log:
  MFC r195153:
    Disable Rx checksum offload until I find more clue why it breaks
    under certain environments. However give users chance to override
    it when he/she surely knows his/her hardware works with Rx checksum
    offload.
  
    Reported by:	Ulrich Spoerlein ( uqs <> spoerlein dot net )

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)
  stable/7/sys/dev/ale/if_ale.c

Modified: stable/7/sys/dev/ale/if_ale.c
==============================================================================
--- stable/7/sys/dev/ale/if_ale.c	Sun Jul  5 21:47:39 2009	(r195386)
+++ stable/7/sys/dev/ale/if_ale.c	Mon Jul  6 01:04:45 2009	(r195387)
@@ -620,6 +620,14 @@ ale_attach(device_t dev)
 	ifp->if_capabilities |= IFCAP_VLAN_MTU;
 	ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM;
 	ifp->if_capenable = ifp->if_capabilities;
+	/*
+	 * Even though controllers supported by ale(3) have Rx checksum
+	 * offload bug the workaround for fragmented frames seemed to
+	 * work so far. However it seems Rx checksum offload does not
+	 * work under certain conditions. So disable Rx checksum offload
+	 * until I find more clue about it but allow users to override it.
+	 */
+	ifp->if_capenable &= ~IFCAP_RXCSUM;
 
 	/* Tell the upper layer(s) we support long frames. */
 	ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);


More information about the svn-src-stable-7 mailing list