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
*** Bug 568094 has been marked as a duplicate of this bug. ***
*** Bug 568093 has been marked as a duplicate of this bug. ***
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
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
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
*** Bug 609634 has been marked as a duplicate of this bug. ***
Can we know the status on this one?
(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.
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.
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.
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
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
(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?
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.
(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?
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.
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.
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.
~~ 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 ).
@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.
Verified all submitted enic patches in 2.6.18-232.el5 kernel. Looks great. Thanks.
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