1. Feature Overview: a. See summary b. Feature Description Update the enic driver from 1.1.0.100 to 1.1.0.241a to address issues found during test leading up to Beta. The updates have been posted to the upstream netdev mailing list 2. Feature Details: a. Architectures: 32-bit x86 64-bit Intel EM64T/AMD64 : b. Red Hat Bugzilla Dependencies: 519086 c. Drivers or hardware dependencies: d. Upstream acceptance information: The patches have been submitted upstream, reviewed, and resubmitted to address review comments. Pending acceptance by netdev maintainer soon, but may be delayed due to holiday. e. External links: http://marc.info/?l=linux-netdev&m=126144848408169&w=2 http://marc.info/?l=linux-netdev&m=126144849308176&w=2 http://marc.info/?l=linux-netdev&m=126144849808180&w=2 http://marc.info/?l=linux-netdev&m=126144850508191&w=2 http://marc.info/?l=linux-netdev&m=126144851008195&w=2 http://marc.info/?l=linux-netdev&m=126144851508199&w=2 http://marc.info/?l=linux-netdev&m=126144852108207&w=2 f. Severity (U,H,M,L): High (required for Hardware Enablement) g. Target Release Date: HW releasing beginning of Q1'10 3. Business Justification: a. Why is this feature needed? To fix bugs found in testing of Cisco's 10G Ethernet NIC b. What hardware does this enable? Cisco's 10G Ethernet NIC included with Cisco's UCS blade server product c. Forecast, impact on revenue? d. Any configuration info? e. Are there other dependencies (drivers). 4. Primary contact at Red Hat, email, phone (chat) First_Name Last_Name xxx_xxxx Phone Number 5. Primary contact at Partner, email, phone (chat) Scott Feldman scofeldm 408-387-6062
Attached reworked patches that apply cleanly to 182.el5 test kernel found at: http://people.redhat.com/dzickus/el5. These are the same patches posted upstream, just re-diffed against the latest RH 182 kernel. There is one additional patch (the latest one) that's need only for RH 182 to fix a previous merge error where some lines in the code are duplicated.
Created attachment 380075 [details] Bug fix: use safe queue shutdown in dev->stop Fix dev->stop shutdown bug where driver was stopping xmit queue and then disabling intrs. Fix is to disable intrs first and then stop the xmit queue, otherwise an interrupt could cause the queue to be rewoken. Also, no need to explicitly do queue servicing because queues are cleaned and reset back to initial state at end of dev->stop. Servicing queues also had the side-effect of also rewakening the xmit queue, which is not what we want. Signed-off-by: Vasanthy Kolluri <vkolluri> Signed-off-by: Scott Feldman <scofeldm>
Created attachment 380076 [details] Bug fix: try harder to fill Rx ring on skb allocation failures During dev->open(), make sure we get at least one skb on the Rx ring. Otherwise abort the interface load. Also, if we get skb allocation failures in NAPI poll while trying to replenish the ring, try again later so we don't end up starving out the Rx ring completely.
Created attachment 380077 [details] minimize pkt filter updates to firmware In set_multicast(), only push pkt filter changes down to firmware if pkt filter actually changes.
Created attachment 380078 [details] Bug fix: align desc ring sizes to 32 descs Previous driver was aligning ring sizes to 16 descs, but hardware actually wants desc ring sizes to be aligned to 32 descs. Signed-off-by: Vasanthy Kolluri <vkolluri> Signed-off-by: Scott Feldman <scofeldm>
Created attachment 380079 [details] feature add: add ethtool -c/C support Only rx_usec and tx_usec options for ethtool -C are settable as those are the only settings that make sense to HW. Adds driver reporting of intr coalescing timer value in usec units rather than HW units. Signed-off-by: Vasanthy Kolluri <vkolluri> Signed-off-by: Scott Feldman <scofeldm>
Created attachment 380080 [details] whitespace cleanup; #define cleanup; more verbose err msg Some misc changes to cleanup whitespace issues and fix/remove some #define HW defintions. 1) fix some whitespace issues 2) more verbose err msg when resources aren't available to configure vnic 3) remove unused #define 4) fix RSS #define rss hash types Signed-off-by: Vasanthy Kolluri <vkolluri> Signed-off-by: Scott Feldman <scofeldm>
Created attachment 380081 [details] remove duplicate code left over from previous merge remove duplicate code left over from previous merge
Thanks Scott - we'll take a look at these first thing in 2010.
The patches were accepted upstream by davem...
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
@Cisco We need to confirm that there is commitment to test for the resolution of this request during the RHEL 5.5 Beta Test Phase before we can approve it for acceptance into the release. RHEL 5.5 Beta Test Phase is expected to begin around February 2010. In order to avoid any unnecessary delays, please post a confirmation as soon as possible, including the contact information for testing engineers. Any additional information about alternative testing variations we could use to reproduce this issue in-house would be appreciated.
Chris, Per your comment #14, Cisco is committed to testing enic updates for RHEL 5.5 beta test. The Cisco QA contact is Anthony Kent <antkent>. -scott
Created attachment 382165 [details] Consolidated single patch for all changes Consolidated single patch for all changes. This applies cleanly against 2.6.18-183.el5. I thought I'd include it here for convenience.
Created attachment 382544 [details] enic-5.5-proposed.patch Scott, thanks for the help with this driver. I've proposed the following patch for inclusion in RHEL5.5. It includes a 2 other small commits that we missed in the past: commit d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8 Author: Scott Feldman <scofeldm> Date: Thu Sep 3 17:02:08 2009 +0000 enic: use netdev_alloc_skb commit 09640e6365c679b5642b1c41b6d7078f51689ddf Author: Harvey Harrison <harvey.harrison> Date: Sun Feb 1 00:45:17 2009 -0800 net: replace uses of __constant_{endian} so we are now shipping code that is almost identical to what is in net-next-2.6 aside from backporting differences. Please let me know if you see any problems with these changes.
Andy, the proposed patch looks good. Near identical to net-next-2.6 is great. Thanks Andy. -scott
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~ RHEL 5.5 Beta has been released! There should be a fix present in this release that addresses your request. Please test and report back results here, by March 3rd 2010 (2010-03-03) or sooner. Upon successful verification of this request, post your results and update the Verified field in Bugzilla with the appropriate value. If you encounter any issues while testing, please describe them and set this bug into NEED_INFO. If you encounter new defects or have additional patch(es) to request for inclusion, please clone this bug per each request and escalate through your support representative.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: The enic driver has been updated to version 1.1.0.241a
Yes, confirmed RHEL 5.5 Beta has enic 1.1.0.241a. Full testing started with pre-Beta drop, and now test has transitioned to Beta. Will report test results later.
Automation enic test suite 100% complete, all PASS. Manual testing ongoing, 15% complete/PASS so far.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0178.html