lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46BC2504.9010400@garzik.org>
Date:	Fri, 10 Aug 2007 04:42:44 -0400
From:	Jeff Garzik <jeff@...zik.org>
To:	Auke Kok <auke-jan.h.kok@...el.com>, davem@...emloft.net
CC:	netdev@...r.kernel.org, ossthema@...ibm.com
Subject: Re: [PATCH] [NET] ethtool: Add LRO support

Auke Kok wrote:
> Signed-off-by: Auke Kok <auke-jan.h.kok@...el.com>
> ---
> 
>  include/linux/ethtool.h   |    8 +++++++
>  include/linux/netdevice.h |    1 +
>  net/core/ethtool.c        |   53 +++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 62 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 23ccea8..a97248e 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -272,6 +272,8 @@ u32 ethtool_op_get_tso(struct net_device *dev);
>  int ethtool_op_set_tso(struct net_device *dev, u32 data);
>  u32 ethtool_op_get_ufo(struct net_device *dev);
>  int ethtool_op_set_ufo(struct net_device *dev, u32 data);
> +u32 ethtool_op_get_lro(struct net_device *dev);
> +int ethtool_op_set_lro(struct net_device *dev, u32 data);

I'm thinking we don't need to keep adding two function pointers for each 
boolean choice.

I propose adding two operations:

get-flags:	return 32-bit (even on 64-bit platforms) flags bitmap
set-flags:	set 32-bit flags bitmap

The 32 bits shall be divided as follows:

bits 0-23:	ETHTOOL_FLAG_xxx defined in linux/ethtool.h
bits 24-31:	driver-specific boolean flags

The driver-specific flags are first enumerated by userland via an 
ETHTOOL_GSTRINGS call, using new string set ETH_SS_FLAGS.  The first 
string returned names the first driver-private flag (bit 24).  This also 
indicates that driver-private bit 24 is a valid flag for this driver and 
network interface.

The overall goal is to replace get-LRO/set-LRO operations with the 
setting/clearing of ETH_FLAG_LRO, and as well, provide a more-scalable 
ethtool interface.

I'll code this up, along with the associated generic helpers 
(net/core/ethtool.c), if there are no objections.

	Jeff



-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ