* [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
@ 2005-05-23 21:07 Jon Mason
2005-05-23 21:20 ` David S. Miller
0 siblings, 1 reply; 6+ messages in thread
From: Jon Mason @ 2005-05-23 21:07 UTC (permalink / raw)
To: netdev
Added support to ethtool for NETIF_F_HW_CSUM.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
--- include/linux/ethtool.h.orig 2005-05-16 08:49:43.000000000 -0500
+++ include/linux/ethtool.h 2005-05-21 15:11:05.000000000 -0500
@@ -256,6 +256,7 @@ struct net_device;
u32 ethtool_op_get_link(struct net_device *dev);
u32 ethtool_op_get_tx_csum(struct net_device *dev);
int ethtool_op_set_tx_csum(struct net_device *dev, u32 data);
+int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data);
u32 ethtool_op_get_sg(struct net_device *dev);
int ethtool_op_set_sg(struct net_device *dev, u32 data);
u32 ethtool_op_get_tso(struct net_device *dev);
--- net/core/ethtool.c.orig 2005-05-21 14:16:33.000000000 -0500
+++ net/core/ethtool.c 2005-05-21 18:07:16.000000000 -0500
@@ -29,7 +29,7 @@ u32 ethtool_op_get_link(struct net_devic
u32 ethtool_op_get_tx_csum(struct net_device *dev)
{
- return (dev->features & NETIF_F_IP_CSUM) != 0;
+ return (dev->features & (NETIF_F_IP_CSUM | NETIF_F_HW_CSUM)) != 0;
}
int ethtool_op_set_tx_csum(struct net_device *dev, u32 data)
@@ -42,6 +42,15 @@ int ethtool_op_set_tx_csum(struct net_de
return 0;
}
+int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data)
+{
+ if (data)
+ dev->features |= NETIF_F_HW_CSUM;
+ else
+ dev->features &= ~NETIF_F_HW_CSUM;
+
+ return 0;
+}
u32 ethtool_op_get_sg(struct net_device *dev)
{
return (dev->features & NETIF_F_SG) != 0;
@@ -817,3 +826,4 @@ EXPORT_SYMBOL(ethtool_op_get_tx_csum);
EXPORT_SYMBOL(ethtool_op_set_sg);
EXPORT_SYMBOL(ethtool_op_set_tso);
EXPORT_SYMBOL(ethtool_op_set_tx_csum);
+EXPORT_SYMBOL(ethtool_op_set_tx_hw_csum);
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
2005-05-23 21:07 [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support Jon Mason
@ 2005-05-23 21:20 ` David S. Miller
2005-05-23 21:32 ` Jon Mason
2005-05-23 21:53 ` Stephen Hemminger
0 siblings, 2 replies; 6+ messages in thread
From: David S. Miller @ 2005-05-23 21:20 UTC (permalink / raw)
To: jdmason; +Cc: netdev
From: Jon Mason <jdmason@us.ibm.com>
Subject: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
Date: Mon, 23 May 2005 16:07:57 -0500
> Added support to ethtool for NETIF_F_HW_CSUM.
>
> Signed-off-by: Jon Mason <jdmason@us.ibm.com>
You cannot blindly set these flags, you need to provide
a method for the driver to override the implementation of
this method so it can return and error if it cannot provide
support for this feature.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
2005-05-23 21:20 ` David S. Miller
@ 2005-05-23 21:32 ` Jon Mason
2005-05-23 21:48 ` David S. Miller
2005-05-23 21:53 ` Stephen Hemminger
1 sibling, 1 reply; 6+ messages in thread
From: Jon Mason @ 2005-05-23 21:32 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev
On Monday 23 May 2005 04:20 pm, David S. Miller wrote:
> From: Jon Mason <jdmason@us.ibm.com>
> Subject: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
> Date: Mon, 23 May 2005 16:07:57 -0500
>
> > Added support to ethtool for NETIF_F_HW_CSUM.
> >
> > Signed-off-by: Jon Mason <jdmason@us.ibm.com>
>
> You cannot blindly set these flags, you need to provide
> a method for the driver to override the implementation of
> this method so it can return and error if it cannot provide
> support for this feature.
I am only adding a generic function which gives the ability to use
NETIF_F_HW_CSUM for ethtool tx offload (instead of only using
NETIF_F_IP_CSUM).
If ethtool_set_tx_csum does not point to ethtool_op_set_tx_csum or
ethtool_op_set_tx_hw_csum (or a local driver function) then it will return an
error. Isn't this sufficient (as it is what currently happening), or am I
not sufficently understanding the problem?
Thanks,
Jon
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
2005-05-23 21:32 ` Jon Mason
@ 2005-05-23 21:48 ` David S. Miller
0 siblings, 0 replies; 6+ messages in thread
From: David S. Miller @ 2005-05-23 21:48 UTC (permalink / raw)
To: jdmason; +Cc: netdev
From: Jon Mason <jdmason@us.ibm.com>
Date: Mon, 23 May 2005 16:32:55 -0500
> If ethtool_set_tx_csum does not point to ethtool_op_set_tx_csum or
> ethtool_op_set_tx_hw_csum (or a local driver function) then it will
> return an error. Isn't this sufficient (as it is what currently
> happening), or am I not sufficently understanding the problem?
Ok, that looks right.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
2005-05-23 21:20 ` David S. Miller
2005-05-23 21:32 ` Jon Mason
@ 2005-05-23 21:53 ` Stephen Hemminger
2005-05-26 23:00 ` David S. Miller
1 sibling, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2005-05-23 21:53 UTC (permalink / raw)
To: David S. Miller; +Cc: jdmason, netdev
On Mon, 23 May 2005 14:20:09 -0700 (PDT)
"David S. Miller" <davem@davemloft.net> wrote:
> From: Jon Mason <jdmason@us.ibm.com>
> Subject: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
> Date: Mon, 23 May 2005 16:07:57 -0500
>
> > Added support to ethtool for NETIF_F_HW_CSUM.
> >
> > Signed-off-by: Jon Mason <jdmason@us.ibm.com>
>
> You cannot blindly set these flags, you need to provide
> a method for the driver to override the implementation of
> this method so it can return and error if it cannot provide
> support for this feature.
This patch makes perfect sense because it allows for common code to be
used by device drivers in their ethtool_ops. So this is the logical way to handle
this.
In other words,
drivers/net/sungem.c could do
static struct ethtool_ops gem_ethtool_ops = {
+ .get_tx_csum = ethtool_op_get_tx_csum,
+ .set_tx_csum = ethtool_op_set_tx_hw_csum,
};
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support
2005-05-23 21:53 ` Stephen Hemminger
@ 2005-05-26 23:00 ` David S. Miller
0 siblings, 0 replies; 6+ messages in thread
From: David S. Miller @ 2005-05-26 23:00 UTC (permalink / raw)
To: shemminger; +Cc: jdmason, netdev
From: Stephen Hemminger <shemminger@osdl.org>
Date: Mon, 23 May 2005 14:53:21 -0700
> This patch makes perfect sense because it allows for common code to be
> used by device drivers in their ethtool_ops. So this is the logical way to handle
> this.
You're right, of course. I've applied the patch.
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-05-26 23:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-23 21:07 [PATCH linux-2.6.12-rc4-mm1] ethtool: Add NETIF_F_HW_CSUM support Jon Mason
2005-05-23 21:20 ` David S. Miller
2005-05-23 21:32 ` Jon Mason
2005-05-23 21:48 ` David S. Miller
2005-05-23 21:53 ` Stephen Hemminger
2005-05-26 23:00 ` David S. Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).