[Juniper] Updating platform documentation (#5478)

This patch set updates the documentation for
QFX5200 & QFX5210 Juniper switching platforms.

Signed-off-by: Ciju Rajan K <crajank@juniper.net>
This commit is contained in:
Ciju Rajan K 2020-10-02 21:36:55 +05:30 committed by GitHub
parent dda98023e3
commit 8418bd3df3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 123 additions and 74 deletions

View File

@ -1,30 +1,27 @@
Juniper Networks Platform Support for SONiC Readme Juniper Networks Platform Support for SONiC
================================================== ===========================================
This readme provides information on how to install and upgrade ONIE and SONiC images on the Juniper Networks QFX5210-64C-S switch. This readme provides information on how to install and upgrade ONIE and SONiC images on the Juniper Networks switches.
Note: The QFX5210-64C-S switch ships with ONIE and SONiC images preinstalled. Note: Switches ship with ONIE and SONiC images preinstalled.
## Purpose
This package contains kernel drivers, a python library, and a python script to provide platform support for Juniper Networks QFX5210-64C-S switch.
## Supported platforms ## Supported platforms
The following Juniper Networks platform is supported for the SONiC operating system: The following Juniper Networks platforms are supported for the SONiC operating system:
- QFX5210-64C-S - QFX5210-64C-S
- QFX5200-32C-S
## Installing ONIE on QFX5210-64C-S Switch ## Building and Installing ONIE
The following information describes how to install ONIE on the Juniper Networks QFX5210-64C-S switch. ONIE is the bootloader used and it's a prerequisite to install ONIE on the switches before installing SONiC.
To install ONIE on Juniper Networks QFX5210-64C-S switch, you need to:
1. Cross compile ONIE 1. Cross compile ONIE
To compile ONIE, you need to change the directories to "build-config" and then type "make MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all". To compile ONIE, you need to change the directories to "build-config" and then based on the platform issue the following commands
a) For QFX5210-64C-S platform, invoke "make MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all".
For example: For example:
@ -33,6 +30,8 @@ For example:
$ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all $ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all
``` ```
b) For QFX5200-32C-S platform, invoke "make MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5200 all".
ONIE binaries are located at the directory /build/images. The following command shows how to navigate the directory to view the ONIE binaries: ONIE binaries are located at the directory /build/images. The following command shows how to navigate the directory to view the ONIE binaries:
``` ```
@ -50,6 +49,8 @@ total 40740
Note: Use the following command to build a demo target: Note: Use the following command to build a demo target:
For example:
``` ```
$ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all demo $ make -j4 MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 all demo
``` ```
@ -65,20 +66,22 @@ You can install these binary files by using the 'onie-nos-install' command to te
Use the following command for make clean: Use the following command for make clean:
For example:
``` ```
$ make machine-clean MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210 $ make machine-clean MACHINEROOT=../machine/juniper MACHINE=juniper_qfx5210
``` ```
## Installing ONIE on a New QFX5210-64C-S Switch ## Installing ONIE
The following information describes on how to install ONIE on the Juniper Networks QFX5210-64C-S switch. You can do a fresh install of ONIE image on the QFX5210-64C-S switch, or recover an existing ONIE image from the QFX5210-64C-S switch that has been corrupted. To install ONIE on a new switch, you can use one of the following ONIE recovery images:
To install ONIE on a new QFX5210-64C-S switch, you can use one of the following ONIE recovery images:
1) .<machine>.iso -- Hybrid ISO image. 1) .<machine>.iso -- Hybrid ISO image.
2) .<machine>.efi64.pxe -- PXE image for UEFI64 machines. 2) .<machine>.efi64.pxe -- PXE image for UEFI64 machines.
Note: Second method is not applicable for QFX5200-32C-S
## Creating an ISO Recovery Image ## Creating an ISO Recovery Image
@ -101,11 +104,11 @@ You can find the correct "/dev/sdX" by validating the "dmesg" output after inser
1) Booting from a USB Memory Device 1) Booting from a USB Memory Device
To boot from an external USB memory device connected to the QFX5210-64C-S switch, you need to: To boot from an external USB memory device connected to the switch, you need to:
a. Insert the USB memory device to the USB port of the QFX5210-64C-S switch. a. Insert the USB memory device to the USB port of the switch.
b. Power on the QFX5210-64C-S switch and enter the BIOS configuration by pressing the Esc key, as displayed in the console screen. b. Power on the switch and enter the BIOS configuration by pressing the Esc key, as displayed in the console screen.
c. Set the hard drive boot order as follows: c. Set the hard drive boot order as follows:
@ -134,7 +137,7 @@ c. Set the hard drive boot order as follows:
d. Go to "Save & Exit" in the BIOS screen and from the Boot Override option select the USB memory device (For example, JetFlashTranscend 8GB 8.07). d. Go to "Save & Exit" in the BIOS screen and from the Boot Override option select the USB memory device (For example, JetFlashTranscend 8GB 8.07).
e. After a few seconds, the QFX5210-64C-S switch would restart and boot from the USB memory device and then you will see the following on the console screen: e. After a few seconds, the switch would restart and boot from the USB memory device and then you will see the following on the console screen:
``` ```
GNU GRUB version 2.02~beta2+e4a1fe391 GNU GRUB version 2.02~beta2+e4a1fe391
@ -168,6 +171,8 @@ g. Select "ONIE: Rescue" to enter the ONIE recovery command-line shell (Optional
2) Recovering ONIE using PXE-UEFI64 Recovery Image 2) Recovering ONIE using PXE-UEFI64 Recovery Image
Note: This section is only applicable for QFX5210-64C-S platform.
You can use the onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe image to recover the ONIE image through UEFI PXE. You can use the onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe image to recover the ONIE image through UEFI PXE.
The onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe is made for the QFX5210-64C-S switch that has a PXE client which is based on UEFI64. The onie-recovery-x86_64-juniper_qfx5210-r0.efi64.pxe is made for the QFX5210-64C-S switch that has a PXE client which is based on UEFI64.
@ -192,12 +197,12 @@ The following links provide more information about ONIE:
## SONiC Build Process: ## SONiC Build Process:
The instruction on how to build an ONIE compatible network operating system (NOS) installer image for Juniper Networks QFX5210-64C-S switch, and how to build docker images running inside the NOS is available at https://github.com/Azure/sonic-buildimage#usage. The instruction on how to build an ONIE compatible network operating system (NOS) installer image for Juniper Networks switches, and how to build docker images running inside the NOS is available at https://github.com/Azure/sonic-buildimage#usage.
## Install SONiC on the Juniper Networks QFX5210-64C-S switch: ## Install SONiC on the Juniper Networks switch:es
You need to copy the SONiC image sonic-broadcom.bin to the Juniper Networks QFX5210-64C-S switch. You can copy the sonic-broadcom.bin to an USB memory device and insert it to the USB port of the QFX5210-64C-S switch. You can also use the 'scp' command to copy the sonic-broadcom.bin image to the QFX5210-64C-S switch over the network. You need to copy the SONiC image 'sonic-broadcom.bin' to the switch. You can copy the sonic-broadcom.bin to an USB memory device and insert it to the USB port of the switch. You can also use the 'scp' command to copy the sonic-broadcom.bin image to the switch over the network.
Note: Unmount the USB memory device after copying the sonic-broadcom.bin. For example, umount /dev/sdX, where X is the name of the drive of the USB memory device. Note: Unmount the USB memory device after copying the sonic-broadcom.bin. For example, umount /dev/sdX, where X is the name of the drive of the USB memory device.
@ -210,7 +215,7 @@ ONIE:/var/tmp # onie-nos-install /var/tmp/sonic-broadcom.bin
## Booting SONiC ## Booting SONiC
The QFX5210-64C-S switch restarts automatically after the SONiC image has been successfully installed. The switch restarts automatically after the SONiC image has been successfully installed.
1) Select SONiC from the GRUB boot manager. 1) Select SONiC from the GRUB boot manager.
@ -239,35 +244,44 @@ The QFX5210-64C-S switch restarts automatically after the SONiC image has been s
2. At the SONiC login prompt, enter the username as admin and password as YourPaSsWoRd. 2. At the SONiC login prompt, enter the username as admin and password as YourPaSsWoRd.
You can now start configuring the Juniper Networks QFX5210-64C-S switch running SONiC as its operating system. You can now start configuring the Juniper Networks switch running SONiC as its operating system.
## Upgrading SONiC image ## Upgrading SONiC image
To upgrade the SONiC operating system to a latest version, you need to: To upgrade the SONiC operating system to a latest version, you need to:
1. Copy the latest image of the SONiC image to the QFX5210-64C-S switch. 1. Copy the latest image of the SONiC image to the switch.
2. Run the following command from the directory where the latest SONiC image has been copied. 2. Run the following command from the directory where the latest SONiC image has been copied.
``` ```
$ sudo ./sonic-braodcom.bin $ sudo ./sonic-braodcom.bin
``` ```
or
```
$ sudo sonic-installer ./sonic-broadcom.bin -y
```
## Uninstalling SONiC image ## Uninstalling SONiC image
To unintall SONiC operating system from QFX5210-64C-S switch, you need to: To unintall SONiC operating system from the switch, you need to:
1. Reboot the QFX5210-64C-S switch. 1. Reboot the switch.
2. Go to the ONIE GRUB menu and then select ONIE: Uninstall OS option to uninstall SONiC. 2. Go to the ONIE GRUB menu and then select ONIE: Uninstall OS option to uninstall SONiC.
For more details on drivers and platform scripts see https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5210/utils/README For more details on drivers and platform scripts see the following links:
1) QFX5210-64C-S: https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5210/utils/README
2) QFX5200-32C-S: https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5200/utils/README
## Related Documentation for SONiC: ## Related Documentation for SONiC:
The following links provide more information about SONiC: The following links provide more information about SONiC:
1. SONiC documentation: https://github.com/azure/sonic/wiki. 1. SONiC documentation: https://github.com/azure/sonic/wiki.
2. Learn about QFX5210-64C-S SONiC platform: https://github.com/Azure/sonic-buildimage/blob/master/platform/broadcom/sonic-platform-modules-juniper/qfx5210/utils/README
## Viewing the Device Revision of the FRU Model from IDEEPROM ## Viewing the Device Revision of the FRU Model from IDEEPROM

View File

@ -1,5 +1,5 @@
Copyright (c) 2019, Juniper Networks, Inc. Copyright (c) 2020, Juniper Networks, Inc.
All rights reserved. All rights reserved.
Front panel LEDs Front panel LEDs
@ -30,44 +30,93 @@ accepted.
System FANs System FANs
=========== ===========
There are 4 fans and each of the fan has 2 fan modules. Overall there are There are 5 fans and each of the fan has 2 fan modules. Overall there are
8 fans in the system. 10 fans in the system. These fans are controlled by ADT7470 driver.
Fan controls can be found in /sys/bus/i2c/devices/17-0068. All the fans Fan controls can be found in
are controlled by one duty cycle value, ranges from 0 to 100 /sys/bus/i2c/devices/7-002c
/sys/bus/i2c/devices/7-002e
/sys/bus/i2c/devices/7-002f
Fan duty cycle can be controlled through /sys/bus/i2c/devices/17-0068/pwm1 For example, the complete path to driver control files will be
/sys/bus/i2c/devices/7-002c/hwmon/hwmon12
Fan module presence is given by /sys/bus/i2c/devices/17-0068/fan[1-4]_present Fan duty cycle can be controlled through 'pwm1', 'pwm2', 'pwm3', 'pwm4' sysfs files.
For example, these are the absolute paths to the control files
/sys/bus/i2c/devices/7-002c/hwmon/hwmon*/pwm1 7-002c controls 2 fan modules
/sys/bus/i2c/devices/7-002c/hwmon/hwmon*/pwm2
/sys/bus/i2c/devices/7-002c/hwmon/hwmon*/pwm3
/sys/bus/i2c/devices/7-002c/hwmon/hwmon*/pwm4
/sys/bus/i2c/devices/7-002e/hwmon/hwmon*/pwm1 7-002e controls 2 fan modules
/sys/bus/i2c/devices/7-002e/hwmon/hwmon*/pwm2
/sys/bus/i2c/devices/7-002e/hwmon/hwmon*/pwm3
/sys/bus/i2c/devices/7-002e/hwmon/hwmon*/pwm4
/sys/bus/i2c/devices/7-002f/hwmon/hwmon*/pwm1 7-002c controls only 1 fan module
/sys/bus/i2c/devices/7-002f/hwmon/hwmon*/pwm2
For convenience, it will be represented as
/sys/bus/i2c/devices/7-002[c/e/f]/hwmon/hwmon*/pwm[1-4]
Fan speed is given by
/sys/bus/i2c/devices/7-002[c/e/f]/hwmon/hwmon*/fan[1-4]_input
Fan module presence is given by
/sys/devices/pci0000:00/0000:00:1c.0/0000:0f:00.0/refpga-tmc.15/fan[0-4]_present
file. A value of '1' indicate that fan is present & a value of '0' otherwise. file. A value of '1' indicate that fan is present & a value of '0' otherwise.
Fan rotation direction is given by /sys/bus/i2c/devices/17-0068/fan[1-4]_direction. Fan rotation direction is given by
A value of '0' indicate the direction is AFO (Front to back airflow) or Airflow /sys/devices/pci0000:00/0000:00:1c.0/0000:0f:00.0/refpga-tmc.15/fan[0-4]_type
out. A value of '1' indicate that direction is AFI (Back to front airflow) or A value of '1' indicate the direction is AFO (Front to back airflow) or Airflow
out. A value of '0' indicate that direction is AFI (Back to front airflow) or
Airflow in. Airflow in.
Fan speed is given by fan[1-4]_input
Temperature sensors Temperature sensors
=================== ===================
There are 6 temperature sensors. The readings are available in There are 10 temperature sensors. Kernel driver tmp401 is used for
/sys/bus/i2c/devices/{0}-00{1}/hwmon/hwmon*/temp1_input reading temeperature sensors.
The readings are available in
/sys/bus/i2c/devices/5-0048/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/5-0049/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/5-004a/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/5-004b/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/6-0048/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/6-0049/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/6-004a/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/6-004b/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/7-0048/hwmon/hwmon*/temp1_input
/sys/bus/i2c/devices/7-0049/hwmon/hwmon*/temp1_input
System PSUs System PSUs
=========== ===========
There are two independent PSUs. These are controlled by a dedicated CPLD. There are two independent PSUs. These are controlled by TMC fpga.
The status registers are mapped under /sys/bus/i2c/devices/9-0050 and
/sys/bus/i2c/devices/10-0053. PSU presence is given by jnx-tmc-psu dirver and is available at
/sys/devices/pci0000:00/0000:00:1c.0/0000:0f:00.0/psu-tmc.15/psu*_present
A value of '1' indicate PSU is present and a value of '0' otherwise.
PSU monitoring data is provided by jnx-psu-monitor driver and is available at
/sys/bus/i2c/devices/3-0058
/sys/bus/i2c/devices/4-0058
SFPs SFPs
==== ====
There are 64 QSFP+ modules supported in qfx5210 platform. EEPORMs will be There are 32 QSFP+ modules supported in qfx5200 platform. EEPORMs will be
mapped under /sys/bus/i2c/devices/[25-88]-0050/ sysfs directory. mapped under /sys/bus/i2c/devices/[14-45]-0050/ sysfs directory.
FEC should be turned on for 100G SR optics and should be turned off for FEC should be turned on for 100G SR4 & PSM4 optics and should
100G LR optics. If the optic is changed, please update the entry and be turned off for 100G LR4 optics. If the FEC mode is not set
reload the configuration. If the FEC mode is not set as per the optic as per the optic type the port may not link up or work properly.
type the port may not link up or work properly. In some cases while interoperating between other NOSs & traffic
generators, FEC need to be enabled even for 100G DAC cables.
As an example, see this configuration for FEC for 100G SR4 optics in As an example, see this configuration for FEC for 100G SR4 optics in
/etc/sonic/config_db.json /etc/sonic/config_db.json
@ -85,33 +134,19 @@ As an example, see this configuration for FEC for 100G SR4 optics in
Sensor details Sensor details
============== ==============
LM75 supported sensor modules will be available under 'sensors' command. LM75 supported sensor modules will be available under 'sensors' command.
If you want to get all the sensor data including the SFPs & LEDs, you can
invoke 'sudo juniper_qfx5210_util.py show'
Platform poweroff Platform reboot
================= =================
Linux poweroff commands such as 'poweroff', 'shutdown', 'halt', etc. will not Platform reboot sequences are in place for system reboot. The following
power off qfx5210 platform as there are custom CPLDs control the power off
sequences. So acpi poweroff hooks are added for powering off the qfx5210. The
following messages are displayed in the console towards end of poweroff
sequence:
[ 52.500807] System halt/power_off
[ 52.866331] reboot: Power down
[ 52.903257] pm_power_off: qfx5210_cpld_power_off
Once the above messages are seen, you can safely remove the power to the system.
Similarly platform reboot sequences are in place for system reboot. The following
messages are displayed in the console when the system is rebooted: messages are displayed in the console when the system is rebooted:
[ 6053.163363] System restart: qfx5210_cpld_soft_reset [ 6053.163363] System restart: qfx5200_cpu_reset
Platform monitoring daemon Platform monitoring daemon
========================== ==========================
“juniper_qfx5210_monitor.py” is the platform monitoring script. “juniper_qfx5200_monitor.py” is the platform monitoring script.
It implements the qfx5210 EM policy. This script will run as system service It implements the qfx5200 EM policy. This script will run as system service
and monitor the temperature sensors in every 20 seconds. Based on the EM and monitor the temperature sensors in every 20 seconds. Based on the EM
policy thresholds, it controls the fan rpm, manage alarm leds, and policy thresholds, it controls the fan rpm, manage alarm leds, and
shutdown the box. shutdown the box in case of any over heating.