Bug 568111 - [Cisco 5.6 FEAT] Update enic driver to version 1.4.1.2
Summary: [Cisco 5.6 FEAT] Update enic driver to version 1.4.1.2
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.6
Hardware: x86_64
OS: Linux
high
high
Target Milestone: alpha
: 5.6
Assignee: Andy Gospodarek
QA Contact: Network QE
URL:
Whiteboard:
: 568093 568094 609634 (view as bug list)
Depends On:
Blocks: 661306
TreeView+ depends on / blocked
 
Reported: 2010-02-24 19:50 UTC by roprabhu
Modified: 2014-06-29 23:02 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
: 661306 (view as bug list)
Environment:
Last Closed: 2011-01-13 21:08:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0017 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.6 kernel security and bug fix update 2011-01-13 10:37:42 UTC

Description roprabhu 2010-02-24 19:50:49 UTC
1.  Feature Overview:
     a. Name of feature:
     Update enic driver to the future/latest driver version enic-x.y.z.w

     b. Feature Description
     Bug fixes and updates to enic driver. This bug is just a place holder to upgrade to the future enic driver version enic-x.y.z.w
We recommend that our partners always update to the latest enic driver version. 


2.  Feature Details:
     a. Architectures:
         32-bit x86
         64-bit Intel EM64T/AMD64
       
                :
     b. Red Hat Bugzilla Dependencies:
       
     c. Drivers or hardware dependencies:
   
     d. Upstream acceptance information:
      

     e. External links:
       

     f. Severity (U,H,M,L): 
         High (required for Hardware Enablement)
      

     g. Target Release Date:
       

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)
    Andrius T. Benokraitis
    andriusb
   
5. Primary contact at Partner, email, phone (chat)
   Roopa Prabhu
   roprabhu
   408-527-8916

Comment 1 Andrius Benokraitis 2010-02-24 20:18:30 UTC
*** Bug 568094 has been marked as a duplicate of this bug. ***

Comment 2 Andrius Benokraitis 2010-02-24 20:18:55 UTC
*** Bug 568093 has been marked as a duplicate of this bug. ***

Comment 3 Vasanthy Kolluri 2010-03-22 19:07:29 UTC
Please update enic to version 1.3.1.1 ,that has already been accepted by upstream netdev maintainers and applied to net-next-2.6 kernel. (http://marc.info/?l=linux-netdev&m=126897259604591&w=2). This includes few bug fixes and clean up updates.

Update Summary:

1/5 - Bug Fix: Fix hardware descriptor reads
2/5 - Bug Fix: Fix timeout for hardware Tx and Rx queue disable operations
3/5 - Do not advertise NETIF_F_HW_VLAN_RX
4/5 - Clean up: Add wrapper functions
5/5 - Clean up: Change driver description; Fix tab space; Update MAINTAINERS

Signed-off-by: Scott Feldman <scofeldm>
Signed-off-by: Vasanthy Kolluri <vkolluri>
Signed-off-by: Roopa Prabhu <roprabhu>


External Links:
http://marc.info/?l=linux-netdev&m=126896518330706&w=2
http://marc.info/?l=linux-netdev&m=126896519030710&w=2
http://marc.info/?l=linux-netdev&m=126896519430714&w=2
http://marc.info/?l=linux-netdev&m=126896521030738&w=2
http://marc.info/?l=linux-netdev&m=126896521130740&w=2
http://marc.info/?l=linux-netdev&m=126896522030747&w=2

Comment 4 Vasanthy Kolluri 2010-03-24 18:07:22 UTC
Here's the git log info for patches over enic-1.1.0.241a that updates enic to enic-1.3.1.1:

$ git log --pretty=oneline drivers/net/enic
a3aa18842a5303fc28fcc4d57dbd16618bd830a0 drivers/net/: use DEFINE_PCI_DEVICE_TABLE()
4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5 net: use netdev_mc_count and netdev_mc_empty when appropriate
48e2f183cb1709600012265a2e723f45a350d5fe net: convert multiple drivers to use netdev_for_each_mc_addr, part4
0290f7a23c232f722096e9a795e38dbf197a1e11 enic: Bug Fix: Fix hardware descriptor reads
bb081013511a27a6570f777d4bd648e9b24d245d enic: Bug Fix: Fix timeout for hardware Tx and Rx queue disable operations
bda1cb8edc45629b36add56f30721f3de2384ea4 enic: Do not advertise NETIF_F_HW_VLAN_RX
cd6e229d97e2b621e6e6711eedfefcb543467d83 enic: Clean up: Add wrapper functions
a394df4131b75fafee2f3a46a4a145ed38aa0e39 enic: Clean up: Change driver description; Fix tab space; Update MAINTAINERS

Comment 5 Andrius Benokraitis 2010-06-30 20:52:06 UTC
Please add the following on top of 1.3.1.1 to put the driver to version 1.4.1.1...

 Update Summary:

        01/10 - Feature Add: Replace LRO with GRO
        02/10 - Bug Fix: Change hardware ingress vlan rewrite mode
        03/10 - Use a lighter reset operation for enic devices
        04/10 - Clean up: Add wrapper routines for firmware devcmd calls
        05/10 - Use (netdev|dev|pr)_<level> macro helpers for logging
        06/10 - Add new firmware devcmds
        07/10 - Use receive queue buffer blocks of 32/64 entries
        08/10 - Feature Add: Add loopback capability to enic devices
        09/10 - Bug Fix: Handle surprise hardware removals
        10/10 - Clean ups

        Signed-off-by: Scott Feldman <scofeldm>
        Signed-off-by: Vasanthy Kolluri <vkolluri>
        Signed-off-by: Roopa Prabhu <roprabhu>

        git tree log:

        $ git log --pretty=oneline drivers/net/enic
        29046f9b1e36f6e3332ce2d8e366005fd177b37a enic: Clean ups
        506e1198413d28446f9a98792b2b38b6bf5f8295 enic: Bug Fix: Handle surprise
hardware removals
        1825aca667196f75b193e2d509ea96ffdc8db0ca enic: Feature Add: Add
loopback capability to enic devices
        b5bab85c15ed3d1ae7f917a7c077086ac6c04572 enic: Use receive queue buffer
blocks of 32/64 entries
        70feadf36df94dc0dc2f32fec4c131ecd75344f2 enic: Add new firmware devcmds
        a7a79debcca02fbf908c0abed8d8fb25d0e51b48 enic: Use
(netdev|dev|pr)_<level> macro helpers for logging
        383ab92f11dd78d365ed05cf4d83ca2acc069a1f enic: Clean up: Add wrapper
routines for firmware devcmd calls
        99ef563901a18d44a6c2eadd2b958e2e83aeca51 enic: Use a lighter reset
operation for enic devices
        f8cac14acff870203ea7f61f1a92c5486d1774fa enic: Bug Fix: Change hardware
ingress vlan rewrite mode
        88132f55d74fdd97a7d459007b2bbb59e850f8c0 enic: Feature Add: Replace LRO
with GRO

     e. External links:
        Patch Series: http://marc.info/?l=linux-netdev&m=127741255511742&w=2

        Patches:
        01/10) http://marc.info/?l=linux-netdev&m=127741257211772&w=2
        02/10) http://marc.info/?l=linux-netdev&m=127741259711821&w=2
        03/10) http://marc.info/?l=linux-netdev&m=127741260611852&w=2
        04/10) http://marc.info/?l=linux-netdev&m=127741262111856&w=2
        05/10) http://marc.info/?l=linux-netdev&m=127741266111913&w=2
        06/10) http://marc.info/?l=linux-netdev&m=127741270811978&w=2
        07/10) http://marc.info/?l=linux-netdev&m=127741271611990&w=2
        08/10) http://marc.info/?l=linux-netdev&m=127741272512023&w=2
        09/10) http://marc.info/?l=linux-netdev&m=127741273412033&w=2
        10/10) http://marc.info/?l=linux-netdev&m=127741275112063&w=2

Comment 6 Andrius Benokraitis 2010-06-30 20:52:58 UTC
*** Bug 609634 has been marked as a duplicate of this bug. ***

Comment 7 Vasanthy Kolluri 2010-08-03 23:28:29 UTC
Can we know the status on this one?

Comment 8 Andrius Benokraitis 2010-08-04 03:42:22 UTC
(In reply to comment #7)
> Can we know the status on this one?    

Check back in the next week or two. We are rolling up everything now.

Comment 9 roprabhu 2010-08-17 20:31:47 UTC
Can you please add the following on top of 1.4.1.1 to update the driver version to 1.4.1.2

This patch series implements the following enic driver updates:

01/7 - Add set mac address
02/7 - Add support for firmware management device
03/7 - Add new firmware devcmds
04/7 - Use offsetof macro in vic tlv length calculation
05/7 - Clean up: remove enic_dev_stats_clear
06/7 - Check if rq/wq buf not NULL before freeing them
07/7 - Mark intr_timer in vnic_enet_config as deprecated


Signed-off-by: Scott Feldman <scofeldm>
Signed-off-by: Roopa Prabhu<roprabhu>
Signed-off-by: Vasanthy Kolluri<vkolluri>


git log --pretty=oneline drivers/net/enic/
d1cc316e0ce3e69cb8152169aec10505a5a85ddd enic: Mark intr_timer in vnic_enet_config as deprecated
29cc584de5418f5fcb0a889d8fadd1cd9e45f631 enic: Check if rq/wq buf not NULL before freeing them
08b83067dfb6e9d9d956561a0507d797ff845011 enic: Clean up: remove enic_dev_stats_clear
457b3e44721a8191f9d5cb5a53e49adba4fb4e86 enic: Use offsetof macro in vic tlv length calculation
bcee65049c9974d61bb5a88b4bcf3db30826325b enic: Add new firmware devcmds
00c5a63470df3ef0b15ccfd58910de406437ed63 enic: Add support for firmware management device
8429654543aab861c7812f1249024b4c983c8c4c enic: Add set mac address


Patch series:
0/7) http://marc.info/?l=linux-netdev&m=128155918420494&w=2

patches
1/7) http://marc.info/?l=linux-netdev&m=128152158703891&w=2
2/7) http://marc.info/?l=linux-netdev&m=128152135601567&w=2
3/7) http://marc.info/?l=linux-netdev&m=128152158503875&w=2
4/7) http://marc.info/?l=linux-netdev&m=128152565927765&w=2
5/7) http://marc.info/?l=linux-netdev&m=128156336301253&w=2
6/7) http://marc.info/?l=linux-netdev&m=128155921620933&w=2
7/7) http://marc.info/?l=linux-netdev&m=128155915719968&w=2


The first patch “1/7 enic: Add set mac address” is critical. This patch fixes bonding with enic devices.  Linux bonding driver requires that its slave netdevs define the set_mac_address netdev  operation.

Comment 14 Andy Gospodarek 2010-09-23 22:21:57 UTC
My test kernels have been updated to include a patch for this bugzilla.
Please test them and report back your results.

http://people.redhat.com/agospoda/#rhel5

Without immediate feedback there is a good chance this or any other fix for this driver will not be included in the upcoming update.  Please test them and report back your results.

Comment 15 roprabhu 2010-09-24 20:30:41 UTC
Andy, 

Thanks. Here are a few comments:
- I see that vn-link fixes are not present. I believe this might be because they are not listed in the patch list on this bugzilla. My guess was that the corresponding net core bits will not be included. But looks like they are.
I see that your patches have picked a few bits For enic like, the vnic_vic.h and #include<rtnetlink>
Do you think you will be able to include those ?. Are we still open for it ?. 
I can post the links to the patches. Its probably already present in the RHEL 6.0 bugzilla.

- This probably does not qualify for a new version in your driver versioning scheme. But, Just thought i will log it here any way. This driver again will have the version 1.4.1.2 but will be different from the upstream 1.4.1.2 and also different from the RHEL 6.0 1.4.1.2.


Rest looks good. I checked the src rpm and also ran some basic tests with the binary rpm.

Thanks,
Roopa

Comment 16 roprabhu 2010-09-24 21:17:55 UTC
Andy, 

Here are the enic vn-link patches. They probably were not added to this bug earlier because we did not think that corresponding net core bits would be part of 5.6 

#git log --pretty=oneline drivers/net/enic
f8bd909183acffad68780b10c1cdf36161cfd5d1 net: Add ndo_{set|get}_vf_port support for enic dynamic vnics
6fc7f5730b71916bc44389015d404f668674c64c enic: bug fix: sprintf UUID to string a
418c437d8b4b87815f3afed89da2aa0078d5379d enic: Use random mac addr when associat
08f382ebb8a9efb898840aa74cf55148c7a98af6 enic: bug fix: make the set/get netlink
8ca9418350eccd5dd2659931807c1901224dd638 netlink: bug fix: don't overrun skbs On
fc0ba8e87189b02683177116932fa580ab97b7ff enic: cleanup vic_provinfo_alloc()
7c46835e4845fed5f348f5845a3a6165874e2f05 enic: Use offsetof macro in vic tlv length calculation

Thanks,
Roopa

Comment 17 Andy Gospodarek 2010-09-29 16:35:20 UTC
(In reply to comment #16)
> 
> #git log --pretty=oneline drivers/net/enic
> f8bd909183acffad68780b10c1cdf36161cfd5d1 net: Add ndo_{set|get}_vf_port support
> for enic dynamic vnics
> 6fc7f5730b71916bc44389015d404f668674c64c enic: bug fix: sprintf UUID to string
> a
> 418c437d8b4b87815f3afed89da2aa0078d5379d enic: Use random mac addr when
> associat
> 08f382ebb8a9efb898840aa74cf55148c7a98af6 enic: bug fix: make the set/get
> netlink
> 8ca9418350eccd5dd2659931807c1901224dd638 netlink: bug fix: don't overrun skbs
> On
> fc0ba8e87189b02683177116932fa580ab97b7ff enic: cleanup vic_provinfo_alloc()
> 7c46835e4845fed5f348f5845a3a6165874e2f05 enic: Use offsetof macro in vic tlv
> length calculation
> 

Roopa, I did not add any of the vn-link code (other than small bits of f8bd909183acffad68780b10c1cdf36161cfd5d1 that helped with infrastructure) because there really isn't much we can do with it in RHEL5.  In RHEL6 we at least had support via iproute2 and netlink to configure vf MAC addresses, but we don't have that in RHEL5.  What do the additional patches listed above really give us in RHEL5?

Comment 18 roprabhu 2010-09-29 17:13:46 UTC
The additional patches are small bug fixes in the vn-link code. Those are on top of f8bd909183acffad68780b10c1cdf36161cfd5d1.
I just saw the net core bits in and raised the request to include these. 
If we are not including any of the user space bits, no need to rush these in. Thanks Andy.

Comment 19 Andy Gospodarek 2010-09-29 17:49:21 UTC
(In reply to comment #18)
> I just saw the net core bits in and raised the request to include these. 
> If we are not including any of the user space bits, no need to rush these in.

Just to be clear were the 'net core bits' you referenced just changes in the enic driver, right?

Comment 20 roprabhu 2010-09-29 19:16:36 UTC
Actually i meant the ndo_*_vf_port operations out of enic driver code. I thought you had included it. I just checked again and you have not. so I think we are good.

At this point, we have some small enic driver vn-link bits which you picked up from f8bd909183acffad68780b10c1cdf36161cfd5d1. You have included the vnic_vic.h file in enic_main.c which belongs to vn-link which could be skipped. But does not harm if its left there too. 

Thanks Andy.

Comment 21 Andy Gospodarek 2010-09-29 19:29:29 UTC
Thanks for the review, Roopa.  I'm going to submit the patch included in the test kernels mentioned in comment #14.  I think we can still squeeze them in there.

Comment 24 Jarod Wilson 2010-10-14 14:02:03 UTC
in kernel-2.6.18-227.el5
You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5

Detailed testing feedback is always welcomed.

Comment 26 Chris Ward 2010-11-09 13:32:44 UTC
~~ Attention Customers and Partners - RHEL 5.6 Public Beta is now available on RHN ~~

A fix for this 'OtherQA' BZ should be present and testable in the release. 

If this Bugzilla is verified as resolved, please update the Verified field above with an appropriate value and include a summary of the testing executed and the results obtained.

If you encounter any issues or have questions while testing, please describe them and set this bug into NEED_INFO. 

If you encounter new defects or have additional patches to request for inclusion, promptly escalate the new issues through your support representative.

Finally, future Beta kernels can be found here:
 http://people.redhat.com/jwilson/el5/

Note: Bugs with the 'OtherQA' keyword require Third-Party testing to confirm the request has been properly addressed. See: https://bugzilla.redhat.com/describekeywords.cgi#OtherQA ).

Comment 27 Hushan Jia 2010-11-19 10:12:12 UTC
@Cisco,

Could you test the feature on 5.6 beta kernels and post your test feedback?
The kernels can be found here http://people.redhat.com/jwilson/el5/.

Thanks.

Comment 28 roprabhu 2010-11-22 02:52:49 UTC
Verified all submitted enic patches in 2.6.18-232.el5 kernel. Looks great. Thanks.

Comment 30 errata-xmlrpc 2011-01-13 21:08:58 UTC
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-2011-0017.html


Note You need to log in before you can comment on or make changes to this bug.