Limitations of $ETHTOOL_OPTS for setting bxn2 TOE flags

Brian A. Seklecki bseklecki at collaborativefusion.com
Thu Sep 6 09:17:12 CDT 2007




All:
-- Since I'm stuck running RHEL on a handful of my 9th gens, I figured I might 
as well go through the motions with the vendors on this feature request / 
bug report into Redhat.

How are you guys passing flags to "/sbin/ethtool -K" to flip the offload 
switches on your bxn2 eths?  Hopefully something more graceful than 
/etc/rc.local

I'm stuck patching / rewriting /etc/sysconfig/network-scripts/ifup-eth for now 
I suppose.

~BAS

---------- Forwarded message ----------
Date: Wed, 5 Sep 2007 23:57:11 -0400
From: Red Hat Global Support Services <noreply at redhat.com>
To: bofh at collaborativefusion.com
Subject: Red Hat Global Support Services Notification Case#  1766054 is Opened


--------------------------------
|  Case Information  |
--------------------------------
Case Title       : Limitations of $ETHTOOL_OPTS
Case Number      : 1766054
Case Open Date   : 05-SEP-2007 11:57:11
Problem Type     :
Case Description :


$ETHTOOL_OPTS is severley limited.  It passes values to "/sbin/ethtool -s" 
which only covers "general settings" and does not allow administrators to set 
important flags in a clean/manageable way:

Those include:

-A| Set pause options
-C| coalesce options
-G| RX/TX ring parameters
-K| Set protocol offload

Unfortunately, due to a design limitation, ethtool(8) can only take one "major" 
mode flag per instantiating.

Solutions?

1) Redevelop ethtool(1) to accept physical device as arvg[1] and accept 
multiple "major mode" flags followed by flag+value combinations

/foo/ethtool [phys] [-Major] flag=value [flag=value] [[-Major] [flag=value]] 
etc.

2) Eliminate the network family config abstraction from the MII abstraction

For example, in *BSD we can easily set a variety of settings using ifconfig(8):

/sbin/ifconfig fxp0 inet 10.0.0.2 netmask 255.255.255.248 media 100baseTX 
mediaopt full-duplex ip4csum tso4 udp4csum tcp4csum debug arp link0 up

etc...

In the mean time, there should definately be multiple variables for multiple 
calls per-interface to ethtool(8) at RC/Init time:

$ETHTOOL_OPTS_GENERAL
$ETHTOOL_OPTS_RING
$ETHTOOL_OPTS_FLOWCONTROL
$ETHTOOL_OPTS_OFFLOAD
$ETHTOOL_OPTS_COALESCE

I will also consult with Broadcom/Dell/Community



More information about the Linux-PowerEdge mailing list