Bug 693583

Summary: [RHEL6][RFE][PATCH] Add ability to set various ethtool options in ifcfg-ethX
Product: Red Hat Enterprise Linux 6 Reporter: Frank Hirtz <fhirtz>
Component: initscriptsAssignee: initscripts Maintenance Team <initscripts-maint-list>
Status: CLOSED DUPLICATE QA Contact: qe-baseos-daemons
Severity: low Docs Contact:
Priority: low    
Version: 6.2CC: fhirtz, notting
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 693746 (view as bug list) Environment:
Last Closed: 2011-04-05 15:18:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Initscripts patch none

Description Frank Hirtz 2011-04-05 00:28:01 UTC
Created attachment 489884 [details]
Initscripts patch

Description of problem:
Currently, only "ethtool -s" options can be set in ifcfg-ethX files. I've added a bit of extra code that'll add the ability to set for the other modes. This is done via the addition of the following section to where we parse ETHTOOL_OPTS presently:

<snip>

     if [ -n "$ETHTOOL_OPTS" ] ; then
         /sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
     fi
+    if [ -n "$ETHTOOL_PAUSE_OPTS" ] ; then
+        /sbin/ethtool -A ${REALDEVICE} $ETHTOOL_PAUSE_OPTS
+    fi
+    if [ -n "$ETHTOOL_RING_OPTS" ] ; then
+        /sbin/ethtool -G ${REALDEVICE} $ETHTOOL_RING_OPTS
+    fi
+    if [ -n "$ETHTOOL_COALESCE_OPTS" ] ; then
+        /sbin/ethtool -C ${REALDEVICE} $ETHTOOL_COALESCE_OPTS
+    fi
+    if [ -n "$ETHTOOL_OFFLOAD_OPTS" ] ; then
+        /sbin/ethtool -K ${REALDEVICE} $ETHTOOL_OFFLOAD_OPTS
+    fi
+    if [ -n "$IFCONFIG_OPTS" ] ; then
+       /sbin/ifconfig ${REALDEVICE} $IFCONFIG_OPTS
+    fi

     exit 0
<snip>

Patch is attached for RHEL6, but the general workup works fine for RHEL4+

So, this is done in the few places in ifup-eth where we look for options. It adds a consistent way to set options using our defined config files so we don't have to resort to rc.local or any such. Please let me know if you have questions or concerns.

Thank you,

Frank.

Version-Release number of selected component (if applicable):
initscripts-all

Comment 1 Bill Nottingham 2011-04-05 15:18:18 UTC
This approach offers a potentially unbounded set of random new options; as such, I don't really care for it. I'd much rather prefer something along the lines of bug 692410.

(And I'd prefer they just do it via udev rules and get it out of the init scripts entirely, but everyone seems to object to doing it there.)

*** This bug has been marked as a duplicate of bug 692410 ***

Comment 2 Frank Hirtz 2011-04-05 19:07:44 UTC
> *** Bug 693583 has been marked as a duplicate of this bug. ***

I'm not overly concerned with the specific implementation provided that we have
the functionality, but while this method is more compact than what I was
proposing, how do we handle the case where we want to set the ring parameters,
offload parameters, and say, the speed/duplex? It seems that this method would
let you set one of those, but that's it?

<in referenced ticket as well>