Install SONiC on DPU modules
This section provides instructions for installing the SONiC software on DPU modules. There are eight modules in total, and each requires an individual SONiC software image installation.
Before you begin
Complete these prerequisites before installing the SONiC image on a DPU module:
You must have installed the SONiC software image on the NPU. For instructions, see see Install SONiC on NPU using ONIE.
You must obtain root privileges using the sudo su command.
admin@sonic:~$sudo su
- Verify the platform using the show platform summary command.
root@sonic:~$ show platform summary
Platform: x86_64-8102_28fh_dpu_o-r0
HwSKU: Cisco-8102-28FH-DPU-O-T1
ASIC: cisco-8000
ASIC Count: 1
Serial Number: FLM28320338
Model Number: 8102-28FH-DPU-O
Hardware Revision: 0.30
- Verify the status of the DPU modules:
Log in to the router's NPU console and run the show chassis modules status command to verify the status of the DPU modules.
Initially, the DPU modules will show an offline status.
root@sonic:~$ show chassis modules status
Name Description Physical-Slot Oper-Status Admin-Status Serial
------ ---------------- --------------- ------------- -------------- -------------
DPU0 AMD Pensando DSC N/A Offline up FLM281107LM-0
DPU1 AMD Pensando DSC N/A Offline up FLM281107LM-1
DPU2 AMD Pensando DSC N/A Offline up FLM281107MT-0
DPU3 AMD Pensando DSC N/A Offline up FLM281107MT-1
DPU4 AMD Pensando DSC N/A Offline up FLM281107MM-0
DPU5 AMD Pensando DSC N/A Offline up FLM281107MM-1
DPU6 AMD Pensando DSC N/A Offline up FLM281107MN-0
DPU7 AMD Pensando DSC N/A Offline up FLM281107MN-1
- Power on the DPU modules using the config chassis module startup DPU command. You need to power on all eight modules individually.
root@sonic:~$ config chassis module startup DPU0
Starting up chassis module DPU0
Repeat this step for all the DPU modules:
root@sonic:~$ config chassis module startup DPU1
Starting up chassis module DPU1
root@sonic:~$ config chassis module startup DPU2
Starting up chassis module DPU2
root@sonic:~$ config chassis module startup DPU3
Starting up chassis module DPU3
root@sonic:~$ config chassis module startup DPU4
Starting up chassis module DPU4
root@sonic:~$ config chassis module startup DPU5
Starting up chassis module DPU5
root@sonic:~$ config chassis module startup DPU6
Starting up chassis module DPU6
root@sonic:~$ config chassis module startup DPU7
Starting up chassis module DPU7
root@sonic:~$ config chassis module startup DPU8
Starting up chassis module DPU8
- Verify the status of the DPU modules by using the show chassis modules status command. Ensure the status is Online for all the DPU modules. Note: It may take approximately 120 - 180 seconds for the DPU modules to become online.
root@sonic:~$ show chassis modules status
Name Description Physical-Slot Oper-Status Admin-Status Serial
------ ---------------- --------------- ------------- -------------- -------------
DPU0 AMD Pensando DSC N/A Online up FLM281107LM-0
DPU1 AMD Pensando DSC N/A Online up FLM281107LM-1
DPU2 AMD Pensando DSC N/A Online up FLM281107MT-0
DPU3 AMD Pensando DSC N/A Online up FLM281107MT-1
DPU4 AMD Pensando DSC N/A Online up FLM281107MM-0
DPU5 AMD Pensando DSC N/A Online up FLM281107MM-1
DPU6 AMD Pensando DSC N/A Online up FLM281107MN-0
DPU7 AMD Pensando DSC N/A Online up FLM281107MN-1
- Verify the reachability status of the DPU modules using the show chassis module midplane-status command. Ensure that the reachability is True for all DPU modules.
root@sonic:~$ show chassis module midplane-status
Name IP-Address Reachability
------ ------------- --------------
DPU0 169.254.200.1 True
DPU1 169.254.200.2 True
DPU2 169.254.200.3 True
DPU3 169.254.200.4 True
DPU4 169.254.200.5 True
DPU5 169.254.200.6 True
DPU6 169.254.200.7 True
DPU7 169.254.200.8 True
- Verify the reachability of the DPUs by using the ping command from NPU.
root@sonic:~$ ping 169.254.200.1 -c 2
PING 169.254.200.1 (169.254.200.1) 56(84) bytes of data.
64 bytes from 169.254.200.1: icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from 169.254.200.1: icmp_seq=2 ttl=64 time=0.124 ms
--- 169.254.200.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1021ms
rtt min/avg/max/mdev = 0.124/0.124/0.124/0.000 ms
Steps to install SONiC on DPU modules
Follow these steps to install software on the DPU modules:
Download the SONiC software image sonic-cisco-8000.dpu.version.tar from the Cisco Software Download Center.
Copy the downloaded SONiC software image to the Smart Switch. Use the router's default credentials when prompted.
root@sonic:scp admin@<ip-address>:/<image_path>/sonic-pensando-jan30-1.87.0-SS-13.1.bin /tmp
- Execute the show chassis module midplane-status command on the NPU to view the dpu-midplane IP address. Note down the DPU mid-plane IP address of all the eight DPU modules.
root@sonic:~$show chassis module midplane-status
Name IP-Address Reachability
------ ------------- --------------
DPU0 169.254.200.1 True
DPU1 169.254.200.2 True
DPU2 169.254.200.3 True
DPU3 169.254.200.4 True
DPU4 169.254.200.5 True
DPU5 169.254.200.6 True
DPU6 169.254.200.7 True
DPU7 169.254.200.8 True
Before transferring the image, ensure there is sufficient disk space on the DPU. Repeat these steps on all eight DPUs.
a. Log in to the DPU console using the ssh admin@<dpu-midplane-ip> command.
root@sonic:~$ssh admin@169.254.200.1
Debian GNU/Linux 12 \n \l
admin@169.254.200.1's password:
Linux sonic 6.1.0-22-2-arm64 #1 SMP Debian 6.1.94-1 (2024-06-21) aarch64
You are on
____ ___ _ _ _ ____
/ ___| / _ \| \ | (_)/ ___|
\___ \| | | | \| | | |
___) | |_| | |\ | | |___
|____/ \___/|_| \_|_|\____|
-- Software for Open Networking in the Cloud --
Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.
Help: https://sonic-net.github.io/SONiC/
Last login: Wed Dec 18 13:02:17 2024 from 169.254.200.254
b. Execute the sudo su command to obtain root privileges.
admin@sonic:~$sudo su
c. Execute the command to clean up the disk space.
root@sonic:~$sonic-installer cleanup -y
- Copy the downloaded software image to all eight DPU modules from the NPU.
root@sonic:scp /tmp/sonic-pensando-jan30-1.87.0-SS-13.1.bin admin@\<dpu-midplane-ip\>:/home/admin
Note: During the upgrade process, the existing DPU image may be outdated, and the default credentials might not work. Therefore, try using the default credentials first. If that doesn’t succeed, use the SONiC default credentials.
Install the downloaded software image on all eight DPU modules. Repeat these steps on all eight DPUs.
a. Log in to the DPU console using the ssh admin@<dpu-midplane-ip> command.
root@sonic:~$ssh admin@169.254.200.1
Debian GNU/Linux 12 \n \l
admin@169.254.200.1's password:
Linux sonic 6.1.0-22-2-arm64 #1 SMP Debian 6.1.94-1 (2024-06-21) aarch64
You are on
____ ___ _ _ _ ____
/ ___| / _ \| \ | (_)/ ___|
\___ \| | | | \| | | |
___) | |_| | |\ | | |___
|____/ \___/|_| \_|_|\____|
-- Software for Open Networking in the Cloud --
Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.
Help: https://sonic-net.github.io/SONiC/
Last login: Wed Dec 18 13:02:17 2024 from 169.254.200.254
b. Execute the sudo su command to obtain root privileges.
admin@sonic:~$sudo su
c. Execute the command to install the SONiC image.
root@sonic:~$sonic-installer install /home/admin/sonic-pensando-jan30-1.87.0-SS-13.1.bin -y
d. Execute the reboot command to restart the DPU module.
root@sonic:~$reboot
e. Verify the software version on the DPU module using the show version command.
root@sonic:~$show version
SONiC Software Version: SONiC.mtfuji-sonicbuildimage.0-dirty-20241119.204642
SONiC OS Version: 12
Distribution: Debian 12.8
Kernel: 6.1.0-22-2-arm64
Build commit: dcf8ff131
Build date: Tue Nov 19 20:50:39 UTC 2024
Built by: sonic@msft-2
Platform: arm64-elba-asic-flash128-r0
HwSKU: Pensando-elba
ASIC: pensando
ASIC Count: 1
Serial Number: FLM2822055U
Model Number: DSS-MTFUJI
Hardware Revision: N/A
Uptime: 07:40:40 up 2 min, 1 user, load average: 13.82, 5.08, 1.84
Date: Wed 22 Jan 2025 07:40:40
Docker images:
REPOSITORY TAG IMAGE ID SIZE
docker-syncd-pensando latest 2d2088b064ee 609MB
docker-syncd-pensando mtfuji-sonicbuildimage.0-dirty-20241119.204642 2d2088b064ee 609MB
docker-orchagent latest 24ee2d66bbdc 548MB
docker-orchagent mtfuji-sonicbuildimage.0-dirty-20241119.204642 24ee2d66bbdc 548MB
docker-macsec latest c5e6a6e56d52 537MB
docker-dhcp-relay latest f62e9305aaa6 515MB
docker-snmp latest fa5b42e7cdc5 551MB
docker-snmp mtfuji-sonicbuildimage.0-dirty-20241119.204642 fa5b42e7cdc5 551MB
docker-platform-monitor latest 6f828124d455 872MB
docker-platform-monitor mtfuji-sonicbuildimage.0-dirty-20241119.204642 6f828124d455 872MB
docker-lldp latest 6ab9043a5efe 513MB
docker-lldp mtfuji-sonicbuildimage.0-dirty-20241119.204642 6ab9043a5efe 513MB
docker-fpm-frr latest f09c2a18f577 567MB
docker-fpm-frr mtfuji-sonicbuildimage.0-dirty-20241119.204642 f09c2a18f577 567MB
docker-database latest 794648ccfb2b 514MB
docker-database mtfuji-sonicbuildimage.0-dirty-20241119.204642 794648ccfb2b 514MB
docker-dpu latest ef4091475576 831MB
docker-dpu mtfuji-sonicbuildimage.0-dirty-20241119.204642 ef4091475576 831MB
f. Execute the command on the NPU to power cycle the DPU modules.
root@sonic~$config chassis modules shutdown DPU<id>; sleep 90; config chassis modules startup DPU<id>
g. Verify the status of the DPU modules by using the show chassis modules status command. Ensure the status is Online for all the DPU modules.
Note: It may take approximately 120 - 180 seconds for the DPU modules to become online.
root@sonic:~$show chassis modules status
Name Description Physical-Slot Oper-Status Admin-Status Serial
------ ---------------- --------------- ------------- -------------- -------------
DPU0 AMD Pensando DSC N/A Online up FLM281107LM-0
DPU1 AMD Pensando DSC N/A Online up FLM281107LM-1
DPU2 AMD Pensando DSC N/A Online up FLM281107MT-0
DPU3 AMD Pensando DSC N/A Online up FLM281107MT-1
DPU4 AMD Pensando DSC N/A Online up FLM281107MM-0
DPU5 AMD Pensando DSC N/A Online up FLM281107MM-1
DPU6 AMD Pensando DSC N/A Online up FLM281107MN-0
DPU7 AMD Pensando DSC N/A Online up FLM281107MN-1
h. Log in to the DPU console using the ssh admin@dpu-midplane-ip command.
root@sonic:~$ssh admin@169.254.200.1
Debian GNU/Linux 12 \n \l
admin@169.254.200.1's password:
Linux sonic 6.1.0-22-2-arm64 #1 SMP Debian 6.1.94-1 (2024-06-21) aarch64
You are on
____ ___ _ _ _ ____
/ ___| / _ \| \ | (_)/ ___|
\___ \| | | | \| | | |
___) | |_| | |\ | | |___
|____/ \___/|_| \_|_|\____|
-- Software for Open Networking in the Cloud --
Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.
Help: https://sonic-net.github.io/SONiC/
Last login: Wed Dec 18 13:02:17 2024 from 169.254.200.254
i. Execute the sudo su command to obtain root privileges.
admin@sonic:~$sudo su
j. Execute the fwutil show status command on the DPU console to verify the new version of the DPU..
root@sonic:~$fwutil show status
| Chassis | Module | Component | Version | Description |
|----------------------------|--------|------------------------|-----------------|---------------------------|
| Pensando-elba DSS-MTFUJI | N/A | DPUFW-0 | 20250130.162524 | DPU-0 SONiC Image |
| | | DPUQSPI_GOLDFW-0 | 1.68-G-16 | DPU-0 GOLDFW |
| | | DPUQSPI_GOLDUBOOT-0 | 1.5.0-EXP | DPU-0 GOLDUBOOT |
| | | DPUQSPI_UBOOTA-0 | 1.5.0-EXP | DPU-0 UBOOTA |
| | | eMMC | 26030120 | Internal storage device |
Note: The fwutil show status command on the NPU will no longer display the DPU FW status. Ensure to execute the command on the DPU modules.