dentproject / dentOS

dentOS SwitchDev based NOS
Other
200 stars 59 forks source link

Getting Started Guide: Going from (affordable) hardware to production #167

Open danielkauffman opened 2 years ago

danielkauffman commented 2 years ago

I've been researching open source software for switch hardware but haven't seen any high level descriptions of how to get from hardware acquisition to production deployment. Hence this guide. However, there are several points on which I'm not clear and could use help.

Perhaps with clarification on the points that are not clear, this thread can be turned into a "Getting Started Guide" for the website?

Here is my understanding of the process:

  1. U-Boot is a bootloader for booting ONIE (an installer) or a network operating system (NOS). U-Boot should already be installed on your switch. If U-Boot is installed, skip to the next step. If U-Boot is not installed, but is supported by your switch, you might be able to install U-Boot using a hardware programmer such as a JTAG programmer.
  2. ONIE is software for installing a NOS. ONIE should already be installed on your switch. If ONIE is installed, skip to the next step. If ONIE is not installed, but is supported by your switch, use U-Boot to install ONIE.
  3. Boot ONIE. Early in the boot process, press any key to access the U-Boot shell, then run onie_rescue to boot ONIE. Alternatively, most NOS include a command for rebooting to ONIE without accessing the U-Boot shell.
  4. Use ONIE to install your NOS of choice.
  1. Boot your NOS.
  2. Install switching software to manage the switch ASIC.
  1. Install routing software.
  1. Test and deploy your open stack. :-)

I'm not sure how to identify hardware and open source software that gets you all the way to step 8. I've identified several issues:

Does affordable hardware and software exist for developers and SMB wanting to deploy an open stack? Can hardware plus software be acquired for under $200 per switch? Under $400? Under $800? Under $1200?

The Mellanox SN2000 and SN3000 switches deserve special mention as these are able to run general purpose Linux distros and the switch ASIC is supported by the Linux kernel. Hopefully, other manufacturers will follow suit. Used pricing for these switches currently ranges from $2500-5000 or so depending on the hardware configuration.

paulmenzel commented 2 years ago

Thank you for your write-up. Instead of commercial NOS as opposed to open source NOS, I’d use proprietary NOS.

Are there any other significant open source NOS?

I guess, OpenWRT can be considered a NOS. There is also SONiC, but it often requires proprietary Linux kernel modules.

danielkauffman commented 2 years ago

@paulmenzel Thank you, I've incorporated your comments above.

danielkauffman commented 2 years ago

It looks like SONiC might support the Celestica E1031 which is currently $600-800 used.

jmpolom commented 2 years ago

Another hardware option worth mentioning are the Mellanox Spectrum switches that have fully upstreamed ASIC support. The SN2000 and SN3000 devices do not require any special/proprietary software (besides the firmware blob in linux-firmware) to use. You can install a general purpose Linux distro (like Debian or Fedora) on these devices and the kernel provides everything necessary to fully interact with the switching platform.

The DENT switches are very close to this level of all in kernel support but currently have varying levels of upstreamed platform support (thus why dentOS uses ONLP still), and also varying levels of upstreamed ASIC feature support due to Marvell contributing driver updates directly to dentOS.

danielkauffman commented 2 years ago

@jmpolom Thank you, I've incorporated the SN2000 and SN3000 devices above, and I've reached out to Marvell for clarification on which of their switches support DentOS.

shivanangi commented 2 years ago

@danielkauffman : You can find the Hardware Compatibility List :

https://dent.dev/supportservices/

hvina commented 1 year ago

I am trying to find out if the "Wedge 100BF-32X 32 x 100G QSFP28 switch ports with Tofino 32D." is supported. The ASIC chip set it Tofino . Can the community let me know if this has been tried

shivanangi commented 1 year ago

@hvina: I don't think so.. maybe you need to try SONIC.

q2dg commented 1 year ago

Vyos is another open-source NOS (https://vyos.net/contribute)