[ofa-general] [PATCH] IB/ipoib: enhance ethtool support

Or Gerlitz ogerlitz at voltaire.com
Thu Oct 16 06:13:04 PDT 2008


Add a get rx checksum callback, remove the driver own get tso callback
as the ethtool kernel code uses a default one if nothing is provided.

Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>

Index: linux-2.6.27/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
===================================================================
--- linux-2.6.27.orig/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
+++ linux-2.6.27/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
@@ -42,6 +42,13 @@ static void ipoib_get_drvinfo(struct net
 	strncpy(drvinfo->driver, "ipoib", sizeof(drvinfo->driver) - 1);
 }

+static u32 ipoib_get_rx_csum(struct net_device *dev)
+{
+	struct ipoib_dev_priv *priv = netdev_priv(dev);
+	return test_bit(IPOIB_FLAG_CSUM, &priv->flags) &&
+		!test_bit(IPOIB_FLAG_ADMIN_CM, &priv->flags);
+}
+
 static int ipoib_get_coalesce(struct net_device *dev,
 			      struct ethtool_coalesce *coal)
 {
@@ -129,7 +136,7 @@ static void ipoib_get_ethtool_stats(stru

 static const struct ethtool_ops ipoib_ethtool_ops = {
 	.get_drvinfo		= ipoib_get_drvinfo,
-	.get_tso		= ethtool_op_get_tso,
+	.get_rx_csum		= ipoib_get_rx_csum,
 	.get_coalesce		= ipoib_get_coalesce,
 	.set_coalesce		= ipoib_set_coalesce,
 	.get_flags		= ethtool_op_get_flags,



More information about the general mailing list