Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kernel: add driver support for Cisco UCS platforms #2271

Merged
merged 1 commit into from
Jul 15, 2022

Conversation

foersleo
Copy link
Contributor

Enable networking and storage drivers for Cisco UCS platforms for
bare metal variants.

Signed-off-by: Leonard Foerster <[email protected]>

Issue number: #2265

Description of changes:

This commit enabled all the different *NIC drivers that Cisco provides for their UCS platforms, specifically:

  • ENIC: CONFIG_ENIC - Cisco VIC Ethernet NIC Support
  • USNIC: CONFIG_INFINIBAND_USNIC - Verbs support for Cisco VIC
  • FNIC: CONFIG_FCOE_FNIC - Cisco FNIC driver
  • SNIC: CONFIG_SCSI_SNIC - Cisco SNIC driver

Testing done:

We unfortunately can not test these changes on a UCS machine given availability of the hardware. Checking the diff for the resulting configs shows the enablement we expect:

kernel-5.10:

--- config-bottlerocket-x86_64-kernel-5.10-5.10.118-1.x86_64_develop	2022-07-11 09:50:28.000000000 +0000
+++ config-bottlerocket-x86_64-kernel-5.10-5.10.118-1.x86_64_cisco	2022-07-11 09:24:51.000000000 +0000
@@ -2031,8 +2031,9 @@
 CONFIG_LIBFC=m
 CONFIG_LIBFCOE=m
 # CONFIG_FCOE is not set
-# CONFIG_FCOE_FNIC is not set
-# CONFIG_SCSI_SNIC is not set
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_SNIC=y
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
 # CONFIG_SCSI_DMX3191D is not set
 # CONFIG_SCSI_FDOMAIN_PCI is not set
 # CONFIG_SCSI_GDTH is not set
@@ -2312,7 +2313,8 @@
 # CONFIG_MACB is not set
 # CONFIG_NET_VENDOR_CAVIUM is not set
 # CONFIG_NET_VENDOR_CHELSIO is not set
-# CONFIG_NET_VENDOR_CISCO is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
 # CONFIG_NET_VENDOR_CORTINA is not set
 # CONFIG_CX_ECAT is not set
 # CONFIG_DNET is not set
@@ -3981,7 +3983,7 @@
 CONFIG_MLX5_INFINIBAND=m
 # CONFIG_INFINIBAND_OCRDMA is not set
 # CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
-# CONFIG_INFINIBAND_USNIC is not set
+CONFIG_INFINIBAND_USNIC=m
 # CONFIG_INFINIBAND_BNXT_RE is not set
 CONFIG_INFINIBAND_QEDR=m
 # CONFIG_INFINIBAND_RDMAVT is not set

kernel-5.15:

--- config-bottlerocket-x86_64-kernel-5.15-5.15.43-1.x86_64_develop	2022-07-11 09:56:21.000000000 +0000
+++ config-bottlerocket-x86_64-kernel-5.15-5.15.43-1.x86_64_cisco	2022-07-11 09:35:45.000000000 +0000
@@ -2086,8 +2086,9 @@
 CONFIG_LIBFC=m
 CONFIG_LIBFCOE=m
 # CONFIG_FCOE is not set
-# CONFIG_FCOE_FNIC is not set
-# CONFIG_SCSI_SNIC is not set
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_SNIC=y
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
 # CONFIG_SCSI_DMX3191D is not set
 # CONFIG_SCSI_FDOMAIN_PCI is not set
 # CONFIG_SCSI_ISCI is not set
@@ -2361,7 +2362,8 @@
 # CONFIG_MACB is not set
 # CONFIG_NET_VENDOR_CAVIUM is not set
 # CONFIG_NET_VENDOR_CHELSIO is not set
-# CONFIG_NET_VENDOR_CISCO is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
 # CONFIG_NET_VENDOR_CORTINA is not set
 # CONFIG_DNET is not set
 # CONFIG_NET_VENDOR_DEC is not set
@@ -4079,7 +4081,7 @@
 CONFIG_MLX5_INFINIBAND=m
 # CONFIG_INFINIBAND_OCRDMA is not set
 # CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
-# CONFIG_INFINIBAND_USNIC is not set
+CONFIG_INFINIBAND_USNIC=m
 # CONFIG_INFINIBAND_BNXT_RE is not set
 CONFIG_INFINIBAND_QEDR=m
 # CONFIG_INFINIBAND_RDMAVT is not set

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

@foersleo foersleo added the area/metal Bare metal support label Jul 11, 2022
@markusboehme
Copy link
Member

Building libxcrypt for metal-k8s-1.23, x86_64, false, false failed with checking for archiver @FILE support... unexpected EOF. I triggered a rerun for now since this cannot be related to the changes. I have seen the "unexpected EOF" error before (particularly remember other cases during configure). Has anyone already looked into the cause of those failures?

@bcressey
Copy link
Contributor

I triggered a rerun for now since this cannot be related to the changes. I have seen the "unexpected EOF" error before (particularly remember other cases during configure). Has anyone already looked into the cause of those failures?

From what I can tell, this happens if a CI job gets scheduled onto a worker that's already finished a job and ends up getting shut down. We're still using runners with the --once flag which has known failure modes like this. Once we switch to ephemeral runners this problem should go away.

@etungsten etungsten requested a review from zmrow July 11, 2022 18:20
Copy link
Contributor

@zmrow zmrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍔

packages/kernel-5.10/config-bottlerocket-metal Outdated Show resolved Hide resolved
Enable networking and storage drivers for Cisco UCS platforms for
bare metal variants.

Signed-off-by: Leonard Foerster <[email protected]>
@foersleo foersleo merged commit af517f8 into bottlerocket-os:develop Jul 15, 2022
@foersleo foersleo deleted the metal_cisco_ucs branch July 15, 2022 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/metal Bare metal support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants