Address upstream comments (#11)

* Remove all non bfn specific changes from upstream PR
This commit is contained in:
Sagar Balani 2018-06-20 13:28:43 -07:00 committed by GitHub
parent 480bc6b124
commit 559132103e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
134 changed files with 6652 additions and 547 deletions

3
.gitmodules vendored
View File

@ -77,9 +77,6 @@
[submodule "platform/broadcom/sonic-platform-modules-mitac"] [submodule "platform/broadcom/sonic-platform-modules-mitac"]
path = platform/broadcom/sonic-platform-modules-mitac path = platform/broadcom/sonic-platform-modules-mitac
url = https://github.com/MiTAC-EBU/sonic-platform-modules-mitac.git url = https://github.com/MiTAC-EBU/sonic-platform-modules-mitac.git
[submodule "platform/centec/sonic-platform-modules-e582"]
path = platform/centec/sonic-platform-modules-e582
url = https://github.com/CentecNetworks/sonic-platform-modules-e582
[submodule "platform/barefoot/sonic-platform-modules-ingrasys"] [submodule "platform/barefoot/sonic-platform-modules-ingrasys"]
path = platform/barefoot/sonic-platform-modules-ingrasys path = platform/barefoot/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys-barefoot.git url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys-barefoot.git

View File

@ -3,26 +3,22 @@
## an ONIE installer image. ## an ONIE installer image.
## ##
## USAGE: ## USAGE:
## ./build_debian USERNAME PASSWORD_ENCRYPTED ## USERNAME=username PASSWORD=password ./build_debian
## PARAMETERS: ## ENVIRONMENT:
## USERNAME ## USERNAME
## The name of the default admin user ## The name of the default admin user
## PASSWORD_ENCRYPTED ## PASSWORD
## The encrypted password, expected by chpasswd command ## The password, expected by chpasswd command
## Default user ## Default user
USERNAME=$1
[ -n "$USERNAME" ] || { [ -n "$USERNAME" ] || {
echo "Error: no or empty USERNAME argument" echo "Error: no or empty USERNAME"
exit 1 exit 1
} }
## Password for the default user, customizable by environment variable ## Password for the default user
## By default it is an empty password [ -n "$PASSWORD" ] || {
## You may get a crypted password by: perl -e 'print crypt("YourPaSsWoRd", "salt"),"\n"' echo "Error: no or empty PASSWORD"
PASSWORD_ENCRYPTED=$2
[ -n "$PASSWORD_ENCRYPTED" ] || {
echo "Error: no or empty PASSWORD_ENCRYPTED argument"
exit 1 exit 1
} }
@ -178,7 +174,7 @@ sudo cp files/docker/docker.service.conf $_
## Note: user should be in the group with the same name, and also in sudo/docker group ## Note: user should be in the group with the same name, and also in sudo/docker group
sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash
## Create password for the default user ## Create password for the default user
echo $USERNAME:$PASSWORD_ENCRYPTED | sudo LANG=C chroot $FILESYSTEM_ROOT chpasswd -e echo "$USERNAME:$PASSWORD" | sudo LANG=C chroot $FILESYSTEM_ROOT chpasswd
## Pre-install hardware drivers ## Pre-install hardware drivers
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \
@ -239,6 +235,12 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/libwrap0_*.deb || \
## Disable kexec supported reboot which was installed by default ## Disable kexec supported reboot which was installed by default
sudo sed -i 's/LOAD_KEXEC=true/LOAD_KEXEC=false/' $FILESYSTEM_ROOT/etc/default/kexec sudo sed -i 's/LOAD_KEXEC=true/LOAD_KEXEC=false/' $FILESYSTEM_ROOT/etc/default/kexec
## Fix ping tools permission so non root user can directly use them
## Note: this is a workaround since aufs doesn't support extended attributes
## Ref: https://github.com/moby/moby/issues/5650#issuecomment-303499489
## TODO: remove workaround when the overlay filesystem support extended attributes
sudo chmod u+s $FILESYSTEM_ROOT/bin/ping{,6}
## Remove sshd host keys, and will regenerate on first sshd start ## Remove sshd host keys, and will regenerate on first sshd start
sudo rm -f $FILESYSTEM_ROOT/etc/ssh/ssh_host_*_key* sudo rm -f $FILESYSTEM_ROOT/etc/ssh/ssh_host_*_key*
sudo cp files/sshd/host-ssh-keygen.sh $FILESYSTEM_ROOT/usr/local/bin/ sudo cp files/sshd/host-ssh-keygen.sh $FILESYSTEM_ROOT/usr/local/bin/
@ -301,6 +303,7 @@ set /files/etc/sysctl.conf/net.ipv6.conf.eth0.forwarding 0
set /files/etc/sysctl.conf/net.ipv6.conf.default.accept_dad 0 set /files/etc/sysctl.conf/net.ipv6.conf.default.accept_dad 0
set /files/etc/sysctl.conf/net.ipv6.conf.all.accept_dad 0 set /files/etc/sysctl.conf/net.ipv6.conf.all.accept_dad 0
set /files/etc/sysctl.conf/net.ipv6.conf.eth0.accept_dad 0
set /files/etc/sysctl.conf/net.ipv6.conf.eth0.accept_ra_defrtr 0 set /files/etc/sysctl.conf/net.ipv6.conf.eth0.accept_ra_defrtr 0

View File

View File

View File

View File

View File

View File

View File

View File

@ -1,2 +1,2 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/td2-a7050-qx32-16x40G+32x10G+8x40G.config.bcm SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-a7050-qx32-16x40G+32x10G+8x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32 SAI_NUM_ECMP_MEMBERS=32

View File

@ -0,0 +1,707 @@
#/******************************************************************************
# *
# * File: config.bcm.cloverdales (7050-QX32)
# * Name:
# *
# * Description: This file contains SDK properties for an Arista
# * Cloverdales platform.
# *
# *-----------------------------------------------------------------------------
# ******************************************************************************/
####################################################################
# BCM Config file for Cloverdale platform
# - 16x40g + 32x10g + 8x40G Portmode
# Old LPM only configuration
# l2_mem_entries=163840
# l3_mem_entries=90112
# l3_alpm_enable=0
# ipv6_lpm_128b_enable=0
#
# ALPM enable
l3_alpm_enable=2
ipv6_lpm_128b_enable=1
l2_mem_entries=32768
l3_mem_entries=16384
# From old config file
os=unix
higig2_hdr_mode=1
# Parity
parity_correction=1
parity_enable=1
stat_if_parity_enable=0
# l2 thread related config vars
l2xmsg_hostbuf_size=8192
l2xmsg_mode=1
bcm_num_cos=8
bcm_stat_interval=2000000
lls_num_l2uc=12
max_vp_lags=0
miim_intr_enable=0
mmu_lossless=0
module_64ports=0
scache_filename=/tmp/scache
schan_intr_enable=0
stable_size=0x2000000
tdma_timeout_usec=5000000
# for GLC transceiver
phy_an_c73=0x0
phy_an_c37=0x3
###########################
#port_init_speed_xe=40000
#port_init_speed_xe.0=40000
#load_firmware=0x0102
load_firmware.0=2
#########################
# All ports are in oversubscription mode
pbmp_oversubscribe=0x1fffffffffffffffffffffffffe
pbmp_xport_xe.0=0x1fffffffffffffffffffffffffe
##########################################
#skip_L2_USER_ENTRY=0
phy_aux_voltage_enable=1
###############################
serdes_fiber_pref=1
###############################
mdio_output_delay.0=0x0d
###############################
serdes_sgmii_m=0
xgxs_lcpll_xtal_refclk=1
xgxs_lcpll_xtal_refclk.0=1
xgxs_lcpll_xtal_refclk.1=1
xgxs_lcpll_xtal_refclk.2=1
xgxs_lcpll_xtal_refclk.3=1
tdma_intr_enable=1
tslam_intr_enable=1
tslam_dma_enable.2=1
tslam_dma_enable.3=1
#dport_map_port=0
#pci2eb_overrid=0
#bcm_xlate_port_enable.0=0
#xgxs_pdetect_1=0
table_dma_enable.0=1
table_dma_enable.1=1
table_dma_enable.2=1
table_dma_enable.3=1
phy_84328_1.0=1
phy_84328_5.0=1
phy_84328_9.0=1
phy_84328_13.0=1
phy_84328_101.0=1
phy_84328_102.0=1
phy_84328_103.0=1
phy_84328_104.0=1
phy_an_c37_1.0=0
phy_an_c37_5.0=0
phy_an_c37_9.0=0
phy_an_c37_13.0=0
phy_an_c37_17.0=0
phy_an_c37_21.0=0
phy_an_c37_25.0=0
phy_an_c37_29.0=0
phy_an_c37_33.0=0
phy_an_c37_37.0=0
phy_an_c37_41.0=0
phy_an_c37_45.0=0
phy_an_c37_49.0=0
phy_an_c37_53.0=0
phy_an_c37_57.0=0
phy_an_c37_61.0=0
phy_an_c37_65.0=3
phy_an_c37_66.0=3
phy_an_c37_67.0=3
phy_an_c37_68.0=3
phy_an_c37_69.0=3
phy_an_c37_70.0=3
phy_an_c37_71.0=3
phy_an_c37_72.0=3
phy_an_c37_73.0=3
phy_an_c37_74.0=3
phy_an_c37_75.0=3
phy_an_c37_76.0=3
phy_an_c37_77.0=3
phy_an_c37_78.0=3
phy_an_c37_79.0=3
phy_an_c37_80.0=3
phy_an_c37_81.0=3
phy_an_c37_82.0=3
phy_an_c37_83.0=3
phy_an_c37_84.0=3
phy_an_c37_85.0=3
phy_an_c37_86.0=3
phy_an_c37_87.0=3
phy_an_c37_88.0=3
phy_an_c37_89.0=3
phy_an_c37_90.0=3
phy_an_c37_91.0=3
phy_an_c37_92.0=3
phy_an_c37_93.0=3
phy_an_c37_94.0=3
phy_an_c37_95.0=3
phy_an_c37_96.0=3
phy_an_c37_97.0=0
phy_an_c37_98.0=0
phy_an_c37_99.0=0
phy_an_c37_100.0=0
phy_an_c37_101.0=0
phy_an_c37_102.0=0
phy_an_c37_103.0=0
phy_an_c37_104.0=0
phy_an_c73_1.0=2
phy_an_c73_5.0=2
phy_an_c73_9.0=2
phy_an_c73_13.0=2
phy_an_c73_17.0=2
phy_an_c73_21.0=2
phy_an_c73_25.0=2
phy_an_c73_29.0=2
phy_an_c73_33.0=2
phy_an_c73_37.0=2
phy_an_c73_41.0=2
phy_an_c73_45.0=2
phy_an_c73_49.0=2
phy_an_c73_53.0=2
phy_an_c73_57.0=2
phy_an_c73_61.0=2
phy_an_c73_65.0=0
phy_an_c73_66.0=0
phy_an_c73_67.0=0
phy_an_c73_68.0=0
phy_an_c73_69.0=0
phy_an_c73_70.0=0
phy_an_c73_71.0=0
phy_an_c73_72.0=0
phy_an_c73_73.0=0
phy_an_c73_74.0=0
phy_an_c73_75.0=0
phy_an_c73_76.0=0
phy_an_c73_77.0=0
phy_an_c73_78.0=0
phy_an_c73_79.0=0
phy_an_c73_80.0=0
phy_an_c73_81.0=0
phy_an_c73_82.0=0
phy_an_c73_83.0=0
phy_an_c73_84.0=0
phy_an_c73_85.0=0
phy_an_c73_86.0=0
phy_an_c73_87.0=0
phy_an_c73_88.0=0
phy_an_c73_89.0=0
phy_an_c73_90.0=0
phy_an_c73_91.0=0
phy_an_c73_92.0=0
phy_an_c73_93.0=0
phy_an_c73_94.0=0
phy_an_c73_95.0=0
phy_an_c73_96.0=0
phy_an_c73_97.0=2
phy_an_c73_98.0=2
phy_an_c73_99.0=2
phy_an_c73_100.0=2
phy_an_c73_101.0=2
phy_an_c73_102.0=2
phy_an_c73_103.0=2
phy_an_c73_104.0=2
phy_aux_voltage_enable_1.0=0x1
phy_aux_voltage_enable_5.0=0x1
phy_aux_voltage_enable_9.0=0x1
phy_aux_voltage_enable_13.0=0x1
phy_aux_voltage_enable_101.0=0x1
phy_aux_voltage_enable_102.0=0x1
phy_aux_voltage_enable_103.0=0x1
phy_aux_voltage_enable_104.0=0x1
phy_ext_rom_boot.0=0
phy_ext_rom_boot_1.0=0x0
phy_ext_rom_boot_5.0=0x0
phy_ext_rom_boot_9.0=0x0
phy_ext_rom_boot_13.0=0x0
phy_ext_rom_boot_101.0=0x0
phy_ext_rom_boot_102.0=0x0
phy_ext_rom_boot_103.0=0x0
phy_ext_rom_boot_104.0=0x0
phy_line_tx_mode_1.0=1
phy_line_tx_mode_5.0=1
phy_line_tx_mode_9.0=1
phy_line_tx_mode_13.0=1
phy_line_tx_mode_101.0=1
phy_line_tx_mode_102.0=1
phy_line_tx_mode_103.0=1
phy_line_tx_mode_104.0=1
phy_rx_polarity_flip_1.0=0x0
phy_rx_polarity_flip_5.0=0x0
phy_rx_polarity_flip_9.0=0x0
phy_rx_polarity_flip_13.0=0x0
phy_rx_polarity_flip_101.0=0x0
phy_rx_polarity_flip_102.0=0x0
phy_rx_polarity_flip_103.0=0x0
phy_rx_polarity_flip_104.0=0x0
phy_system_tx_mode_1.0=0
phy_system_tx_mode_5.0=0
phy_system_tx_mode_9.0=0
phy_system_tx_mode_13.0=0
phy_system_tx_mode_101.0=0
phy_system_tx_mode_102.0=0
phy_system_tx_mode_103.0=0
phy_system_tx_mode_104.0=0
phy_tx_polarity_flip_1.0=0x0
phy_tx_polarity_flip_5.0=0x0
phy_tx_polarity_flip_9.0=0x0
phy_tx_polarity_flip_13.0=0x0
phy_tx_polarity_flip_101.0=0x0
phy_tx_polarity_flip_102.0=0x0
phy_tx_polarity_flip_103.0=0x0
phy_tx_polarity_flip_104.0=0x0
phy_xaui_rx_polarity_flip_1.0=0x0
phy_xaui_rx_polarity_flip_5.0=0x0
phy_xaui_rx_polarity_flip_9.0=0x0
phy_xaui_rx_polarity_flip_13.0=0x0
phy_xaui_rx_polarity_flip_17.0=0x0
phy_xaui_rx_polarity_flip_21.0=0x0
phy_xaui_rx_polarity_flip_25.0=0x0
phy_xaui_rx_polarity_flip_29.0=0x0
phy_xaui_rx_polarity_flip_33.0=0x0
phy_xaui_rx_polarity_flip_37.0=0x0
phy_xaui_rx_polarity_flip_41.0=0x0
phy_xaui_rx_polarity_flip_45.0=0x0
phy_xaui_rx_polarity_flip_49.0=0x0
phy_xaui_rx_polarity_flip_53.0=0x0
phy_xaui_rx_polarity_flip_57.0=0x0
phy_xaui_rx_polarity_flip_61.0=0x0
phy_xaui_rx_polarity_flip_65.0=0x0
phy_xaui_rx_polarity_flip_66.0=0x0
phy_xaui_rx_polarity_flip_67.0=0x0
phy_xaui_rx_polarity_flip_68.0=0x0
phy_xaui_rx_polarity_flip_69.0=0x0
phy_xaui_rx_polarity_flip_70.0=0x0
phy_xaui_rx_polarity_flip_71.0=0x0
phy_xaui_rx_polarity_flip_72.0=0x0
phy_xaui_rx_polarity_flip_73.0=0x0
phy_xaui_rx_polarity_flip_74.0=0x0
phy_xaui_rx_polarity_flip_75.0=0x0
phy_xaui_rx_polarity_flip_76.0=0x0
phy_xaui_rx_polarity_flip_77.0=0x0
phy_xaui_rx_polarity_flip_78.0=0x0
phy_xaui_rx_polarity_flip_79.0=0x0
phy_xaui_rx_polarity_flip_80.0=0x0
phy_xaui_rx_polarity_flip_81.0=0x0
phy_xaui_rx_polarity_flip_82.0=0x0
phy_xaui_rx_polarity_flip_83.0=0x0
phy_xaui_rx_polarity_flip_84.0=0x0
phy_xaui_rx_polarity_flip_85.0=0x0
phy_xaui_rx_polarity_flip_86.0=0x0
phy_xaui_rx_polarity_flip_87.0=0x0
phy_xaui_rx_polarity_flip_88.0=0x0
phy_xaui_rx_polarity_flip_89.0=0x0
phy_xaui_rx_polarity_flip_90.0=0x0
phy_xaui_rx_polarity_flip_91.0=0x0
phy_xaui_rx_polarity_flip_92.0=0x0
phy_xaui_rx_polarity_flip_93.0=0x0
phy_xaui_rx_polarity_flip_94.0=0x0
phy_xaui_rx_polarity_flip_95.0=0x0
phy_xaui_rx_polarity_flip_96.0=0x0
phy_xaui_rx_polarity_flip_97.0=0x0
phy_xaui_rx_polarity_flip_98.0=0x0
phy_xaui_rx_polarity_flip_99.0=0x0
phy_xaui_rx_polarity_flip_100.0=0x0
phy_xaui_rx_polarity_flip_101.0=0x0
phy_xaui_rx_polarity_flip_102.0=0x0
phy_xaui_rx_polarity_flip_103.0=0x0
phy_xaui_rx_polarity_flip_104.0=0x0
phy_xaui_tx_polarity_flip_1.0=0x0
phy_xaui_tx_polarity_flip_5.0=0x0
phy_xaui_tx_polarity_flip_9.0=0x0
phy_xaui_tx_polarity_flip_13.0=0x0
phy_xaui_tx_polarity_flip_17.0=0x0
phy_xaui_tx_polarity_flip_21.0=0x0
phy_xaui_tx_polarity_flip_25.0=0x0
phy_xaui_tx_polarity_flip_29.0=0x0
phy_xaui_tx_polarity_flip_33.0=0x0
phy_xaui_tx_polarity_flip_37.0=0x0
phy_xaui_tx_polarity_flip_41.0=0x0
phy_xaui_tx_polarity_flip_45.0=0x0
phy_xaui_tx_polarity_flip_49.0=0x0
phy_xaui_tx_polarity_flip_53.0=0x0
phy_xaui_tx_polarity_flip_57.0=0x0
phy_xaui_tx_polarity_flip_61.0=0x0
phy_xaui_tx_polarity_flip_65.0=0x0
phy_xaui_tx_polarity_flip_66.0=0x0
phy_xaui_tx_polarity_flip_67.0=0x0
phy_xaui_tx_polarity_flip_68.0=0x0
phy_xaui_tx_polarity_flip_69.0=0x0
phy_xaui_tx_polarity_flip_70.0=0x0
phy_xaui_tx_polarity_flip_71.0=0x0
phy_xaui_tx_polarity_flip_72.0=0x0
phy_xaui_tx_polarity_flip_73.0=0x0
phy_xaui_tx_polarity_flip_74.0=0x0
phy_xaui_tx_polarity_flip_75.0=0x0
phy_xaui_tx_polarity_flip_76.0=0x0
phy_xaui_tx_polarity_flip_77.0=0x0
phy_xaui_tx_polarity_flip_78.0=0x0
phy_xaui_tx_polarity_flip_79.0=0x0
phy_xaui_tx_polarity_flip_80.0=0x0
phy_xaui_tx_polarity_flip_81.0=0x0
phy_xaui_tx_polarity_flip_82.0=0x0
phy_xaui_tx_polarity_flip_83.0=0x0
phy_xaui_tx_polarity_flip_84.0=0x0
phy_xaui_tx_polarity_flip_85.0=0x0
phy_xaui_tx_polarity_flip_86.0=0x0
phy_xaui_tx_polarity_flip_87.0=0x0
phy_xaui_tx_polarity_flip_88.0=0x0
phy_xaui_tx_polarity_flip_89.0=0x0
phy_xaui_tx_polarity_flip_90.0=0x0
phy_xaui_tx_polarity_flip_91.0=0x0
phy_xaui_tx_polarity_flip_92.0=0x0
phy_xaui_tx_polarity_flip_93.0=0x0
phy_xaui_tx_polarity_flip_94.0=0x0
phy_xaui_tx_polarity_flip_95.0=0x0
phy_xaui_tx_polarity_flip_96.0=0x0
phy_xaui_tx_polarity_flip_97.0=0x0
phy_xaui_tx_polarity_flip_98.0=0x0
phy_xaui_tx_polarity_flip_99.0=0x0
phy_xaui_tx_polarity_flip_100.0=0x0
phy_xaui_tx_polarity_flip_101.0=0x0
phy_xaui_tx_polarity_flip_102.0=0x0
phy_xaui_tx_polarity_flip_103.0=0x0
phy_xaui_tx_polarity_flip_104.0=0x0
port_init_autoneg_17.0=0
port_init_autoneg_21.0=0
port_init_autoneg_25.0=0
port_init_autoneg_29.0=0
port_init_autoneg_33.0=0
port_init_autoneg_37.0=0
port_init_autoneg_41.0=0
port_init_autoneg_45.0=0
port_init_autoneg_49.0=0
port_init_autoneg_53.0=0
port_init_autoneg_57.0=0
port_init_autoneg_61.0=0
port_init_autoneg_65.0=0
port_init_autoneg_66.0=0
port_init_autoneg_67.0=0
port_init_autoneg_68.0=0
port_init_autoneg_69.0=0
port_init_autoneg_70.0=0
port_init_autoneg_71.0=0
port_init_autoneg_72.0=0
port_init_autoneg_73.0=0
port_init_autoneg_74.0=0
port_init_autoneg_75.0=0
port_init_autoneg_76.0=0
port_init_autoneg_77.0=0
port_init_autoneg_78.0=0
port_init_autoneg_79.0=0
port_init_autoneg_80.0=0
port_init_autoneg_81.0=0
port_init_autoneg_82.0=0
port_init_autoneg_83.0=0
port_init_autoneg_84.0=0
port_init_autoneg_85.0=0
port_init_autoneg_86.0=0
port_init_autoneg_87.0=0
port_init_autoneg_88.0=0
port_init_autoneg_89.0=0
port_init_autoneg_90.0=0
port_init_autoneg_91.0=0
port_init_autoneg_92.0=0
port_init_autoneg_93.0=0
port_init_autoneg_94.0=0
port_init_autoneg_95.0=0
port_init_autoneg_96.0=0
port_init_autoneg_97.0=0
port_init_autoneg_98.0=0
port_init_autoneg_99.0=0
port_init_autoneg_100.0=0
port_init_cl72_hg.0=0x11
portmap_1.0=125:40
portmap_5.0=121:40
portmap_9.0=13:40
portmap_13.0=9:40
portmap_17.0=17:40
portmap_21.0=21:40
portmap_25.0=25:40
portmap_29.0=29:40
portmap_33.0=37:40
portmap_37.0=33:40
portmap_41.0=45:40
portmap_45.0=41:40
portmap_49.0=53:40
portmap_53.0=49:40
portmap_57.0=69:40
portmap_61.0=65:40
portmap_65.0=77:10
portmap_66.0=78:10
portmap_67.0=79:10
portmap_68.0=80:10
portmap_69.0=73:10
portmap_70.0=74:10
portmap_71.0=75:10
portmap_72.0=76:10
portmap_73.0=93:10
portmap_74.0=94:10
portmap_75.0=95:10
portmap_76.0=96:10
portmap_77.0=89:10
portmap_78.0=90:10
portmap_79.0=91:10
portmap_80.0=92:10
portmap_81.0=101:10
portmap_82.0=102:10
portmap_83.0=103:10
portmap_84.0=104:10
portmap_85.0=97:10
portmap_86.0=98:10
portmap_87.0=99:10
portmap_88.0=100:10
portmap_89.0=109:10
portmap_90.0=110:10
portmap_91.0=111:10
portmap_92.0=112:10
portmap_93.0=105:10
portmap_94.0=106:10
portmap_95.0=107:10
portmap_96.0=108:10
portmap_97.0=61:40
portmap_98.0=57:40
portmap_99.0=81:40
portmap_100.0=85:40
portmap_101.0=117:40
portmap_102.0=113:40
portmap_103.0=5:40
portmap_104.0=1:40
port_phy_addr_1.0=0x4
port_phy_addr_5.0=0x0
port_phy_addr_9.0=0x2c
port_phy_addr_13.0=0x28
port_phy_addr_17.0=0x7f
port_phy_addr_21.0=0x7f
port_phy_addr_25.0=0x7f
port_phy_addr_29.0=0x7f
port_phy_addr_33.0=0x7f
port_phy_addr_37.0=0x7f
port_phy_addr_41.0=0x7f
port_phy_addr_45.0=0x7f
port_phy_addr_49.0=0x7f
port_phy_addr_53.0=0x7f
port_phy_addr_57.0=0x7f
port_phy_addr_61.0=0x7f
port_phy_addr_65.0=0x7f
port_phy_addr_66.0=0x7f
port_phy_addr_67.0=0x7f
port_phy_addr_68.0=0x7f
port_phy_addr_69.0=0x7f
port_phy_addr_70.0=0x7f
port_phy_addr_71.0=0x7f
port_phy_addr_72.0=0x7f
port_phy_addr_73.0=0x7f
port_phy_addr_74.0=0x7f
port_phy_addr_75.0=0x7f
port_phy_addr_76.0=0x7f
port_phy_addr_77.0=0x7f
port_phy_addr_78.0=0x7f
port_phy_addr_79.0=0x7f
port_phy_addr_80.0=0x7f
port_phy_addr_81.0=0x7f
port_phy_addr_82.0=0x7f
port_phy_addr_83.0=0x7f
port_phy_addr_84.0=0x7f
port_phy_addr_85.0=0x7f
port_phy_addr_86.0=0x7f
port_phy_addr_87.0=0x7f
port_phy_addr_88.0=0x7f
port_phy_addr_89.0=0x7f
port_phy_addr_90.0=0x7f
port_phy_addr_91.0=0x7f
port_phy_addr_92.0=0x7f
port_phy_addr_93.0=0x7f
port_phy_addr_94.0=0x7f
port_phy_addr_95.0=0x7f
port_phy_addr_96.0=0x7f
port_phy_addr_97.0=0x7f
port_phy_addr_98.0=0x7f
port_phy_addr_99.0=0x7f
port_phy_addr_100.0=0x7f
port_phy_addr_101.0=0x54
port_phy_addr_102.0=0x50
port_phy_addr_103.0=0x7c
port_phy_addr_104.0=0x78
port_phy_clause_1.0=0x2d
port_phy_clause_5.0=0x2d
port_phy_clause_9.0=0x2d
port_phy_clause_13.0=0x2d
port_phy_clause_101.0=0x2d
port_phy_clause_102.0=0x2d
port_phy_clause_103.0=0x2d
port_phy_clause_104.0=0x2d
port_phy_id0_1.0=0x600d
port_phy_id0_5.0=0x600d
port_phy_id0_9.0=0x600d
port_phy_id0_13.0=0x600d
port_phy_id0_101.0=0x600d
port_phy_id0_102.0=0x600d
port_phy_id0_103.0=0x600d
port_phy_id0_104.0=0x600d
port_phy_id1_1.0=0x8500
port_phy_id1_5.0=0x8500
port_phy_id1_9.0=0x8500
port_phy_id1_13.0=0x8500
port_phy_id1_101.0=0x8500
port_phy_id1_102.0=0x8500
port_phy_id1_103.0=0x8500
port_phy_id1_104.0=0x8500
xgxs_rx_lane_map_1.0=0x0123
xgxs_rx_lane_map_5.0=0x0123
xgxs_rx_lane_map_9.0=0x0123
xgxs_rx_lane_map_13.0=0x0123
xgxs_rx_lane_map_17.0=0x2031
xgxs_rx_lane_map_21.0=0x2031
xgxs_rx_lane_map_25.0=0x2031
xgxs_rx_lane_map_29.0=0x2031
xgxs_rx_lane_map_33.0=0x3120
xgxs_rx_lane_map_37.0=0x3120
xgxs_rx_lane_map_41.0=0x3120
xgxs_rx_lane_map_45.0=0x3120
xgxs_rx_lane_map_49.0=0x3120
xgxs_rx_lane_map_53.0=0x3120
xgxs_rx_lane_map_57.0=0x3120
xgxs_rx_lane_map_61.0=0x3120
xgxs_rx_lane_map_65.0=0x3120
xgxs_rx_lane_map_69.0=0x3120
xgxs_rx_lane_map_73.0=0x3120
xgxs_rx_lane_map_77.0=0x3120
xgxs_rx_lane_map_81.0=0x3120
xgxs_rx_lane_map_85.0=0x3120
xgxs_rx_lane_map_89.0=0x3120
xgxs_rx_lane_map_93.0=0x3120
xgxs_rx_lane_map_97.0=0x1302
xgxs_rx_lane_map_98.0=0x1302
xgxs_rx_lane_map_99.0=0x0213
xgxs_tx_lane_map_100.0=0x0213
xgxs_tx_lane_map_101.0=0x0123
xgxs_tx_lane_map_102.0=0x0123
xgxs_tx_lane_map_103.0=0x0123
xgxs_tx_lane_map_104.0=0x0123
xgxs_tx_lane_map_1.0=0x0123
xgxs_tx_lane_map_5.0=0x0123
xgxs_tx_lane_map_9.0=0x0123
xgxs_tx_lane_map_13.0=0x0123
xgxs_tx_lane_map_17.0=0x1302
xgxs_tx_lane_map_21.0=0x1302
xgxs_tx_lane_map_25.0=0x1302
xgxs_tx_lane_map_29.0=0x1302
xgxs_tx_lane_map_33.0=0x3120
xgxs_tx_lane_map_37.0=0x3120
xgxs_tx_lane_map_41.0=0x3120
xgxs_tx_lane_map_45.0=0x3120
xgxs_tx_lane_map_49.0=0x3120
xgxs_tx_lane_map_53.0=0x3120
xgxs_tx_lane_map_57.0=0x3120
xgxs_tx_lane_map_61.0=0x3120
xgxs_tx_lane_map_65.0=0x3120
xgxs_tx_lane_map_69.0=0x3120
xgxs_tx_lane_map_73.0=0x3120
xgxs_tx_lane_map_77.0=0x3120
xgxs_tx_lane_map_81.0=0x3120
xgxs_tx_lane_map_85.0=0x3120
xgxs_tx_lane_map_89.0=0x3120
xgxs_tx_lane_map_93.0=0x3120
xgxs_tx_lane_map_97.0=0x2031
xgxs_tx_lane_map_98.0=0x2031
xgxs_tx_lane_map_99.0=0x0213
xgxs_rx_lane_map_100.0=0x0213
xgxs_rx_lane_map_101.0=0x0123
xgxs_rx_lane_map_102.0=0x0123
xgxs_rx_lane_map_103.0=0x0123
xgxs_rx_lane_map_104.0=0x0123
serdes_firmware_mode_1.0=1
serdes_firmware_mode_5.0=1
serdes_firmware_mode_9.0=1
serdes_firmware_mode_13.0=1
serdes_firmware_mode_17.0=2
serdes_firmware_mode_21.0=2
serdes_firmware_mode_25.0=2
serdes_firmware_mode_29.0=2
serdes_firmware_mode_33.0=2
serdes_firmware_mode_37.0=2
serdes_firmware_mode_41.0=2
serdes_firmware_mode_45.0=2
serdes_firmware_mode_49.0=2
serdes_firmware_mode_53.0=2
serdes_firmware_mode_57.0=2
serdes_firmware_mode_61.0=2
serdes_firmware_mode_65.0=2
serdes_firmware_mode_66.0=2
serdes_firmware_mode_67.0=2
serdes_firmware_mode_68.0=2
serdes_firmware_mode_69.0=2
serdes_firmware_mode_70.0=2
serdes_firmware_mode_71.0=2
serdes_firmware_mode_72.0=2
serdes_firmware_mode_73.0=2
serdes_firmware_mode_74.0=2
serdes_firmware_mode_75.0=2
serdes_firmware_mode_76.0=2
serdes_firmware_mode_77.0=2
serdes_firmware_mode_78.0=2
serdes_firmware_mode_79.0=2
serdes_firmware_mode_80.0=2
serdes_firmware_mode_81.0=2
serdes_firmware_mode_82.0=2
serdes_firmware_mode_83.0=2
serdes_firmware_mode_84.0=2
serdes_firmware_mode_85.0=2
serdes_firmware_mode_86.0=2
serdes_firmware_mode_87.0=2
serdes_firmware_mode_88.0=2
serdes_firmware_mode_89.0=2
serdes_firmware_mode_90.0=2
serdes_firmware_mode_91.0=2
serdes_firmware_mode_92.0=2
serdes_firmware_mode_93.0=2
serdes_firmware_mode_94.0=2
serdes_firmware_mode_95.0=2
serdes_firmware_mode_96.0=2
serdes_firmware_mode_97.0=2
serdes_firmware_mode_98.0=2
serdes_firmware_mode_99.0=2
serdes_firmware_mode_100.0=2
serdes_firmware_mode_101.0=1
serdes_firmware_mode_102.0=1
serdes_firmware_mode_103.0=1
serdes_firmware_mode_104.0=1

View File

@ -1,2 +1,2 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/td2-a7050-qx32-32x40G.config.bcm SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td2-a7050-qx32-32x40G.config.bcm
SAI_NUM_ECMP_MEMBERS=32 SAI_NUM_ECMP_MEMBERS=32

View File

@ -0,0 +1,873 @@
#/******************************************************************************
# *
# * File: config.bcm.cloverdales (7050-QX32)
# * Name:
# *
# * Description: This file contains SDK properties for an Arista
# * Cloverdales platform.
# *
# *-----------------------------------------------------------------------------
# ******************************************************************************/
####################################################################
# BCM Config file for Cloverdale platform
# - 32x40g Portmode
# Old LPM only configuration
# l2_mem_entries=163840
# l3_mem_entries=90112
# l3_alpm_enable=0
# ipv6_lpm_128b_enable=0
#
# ALPM enable
l3_alpm_enable=2
ipv6_lpm_128b_enable=1
l2_mem_entries=32768
l3_mem_entries=16384
# From old config file
os=unix
higig2_hdr_mode=1
# Parity
parity_correction=1
parity_enable=1
stat_if_parity_enable=0
# l2 thread related config vars
l2xmsg_hostbuf_size=8192
l2xmsg_mode=1
bcm_num_cos=8
bcm_stat_interval=2000000
lls_num_l2uc=12
max_vp_lags=0
miim_intr_enable=0
mmu_lossless=0
module_64ports=0
scache_filename=/tmp/scache
schan_intr_enable=0
stable_size=0x2000000
tdma_timeout_usec=5000000
# for GLC transceiver
phy_an_c73=0x0
phy_an_c37=0x3
###########################
#port_init_speed_xe=40000
#port_init_speed_xe.0=40000
#load_firmware=0x0102
load_firmware.0=2
#########################
# All ports are in oversubscription mode
pbmp_oversubscribe=0x1fffffffffffffffffffffffffe
pbmp_xport_xe.0=0x1fffffffe
phy_84328_1.0=1
phy_84328_2.0=1
phy_84328_29.0=1
phy_84328_3.0=1
phy_84328_30.0=1
phy_84328_31.0=1
phy_84328_32.0=1
phy_84328_4.0=1
phy_an_c37_1.0=3
phy_an_c37_10.0=3
phy_an_c37_11.0=3
phy_an_c37_12.0=3
phy_an_c37_13.0=3
phy_an_c37_14.0=3
phy_an_c37_15.0=3
phy_an_c37_16.0=3
phy_an_c37_17.0=3
phy_an_c37_18.0=3
phy_an_c37_19.0=3
phy_an_c37_2.0=3
phy_an_c37_20.0=3
phy_an_c37_21.0=3
phy_an_c37_22.0=3
phy_an_c37_23.0=3
phy_an_c37_24.0=3
phy_an_c37_25.0=3
phy_an_c37_26.0=3
phy_an_c37_27.0=3
phy_an_c37_28.0=3
phy_an_c37_29.0=3
phy_an_c37_3.0=3
phy_an_c37_30.0=3
phy_an_c37_31.0=3
phy_an_c37_32.0=3
phy_an_c37_4.0=3
phy_an_c37_5.0=3
phy_an_c37_6.0=3
phy_an_c37_7.0=3
phy_an_c37_8.0=3
phy_an_c37_9.0=3
phy_an_c73_1.0=1
phy_an_c73_10.0=1
phy_an_c73_11.0=1
phy_an_c73_12.0=1
phy_an_c73_13.0=1
phy_an_c73_14.0=1
phy_an_c73_15.0=1
phy_an_c73_16.0=1
phy_an_c73_17.0=1
phy_an_c73_18.0=1
phy_an_c73_19.0=1
phy_an_c73_2.0=1
phy_an_c73_20.0=1
phy_an_c73_21.0=1
phy_an_c73_22.0=1
phy_an_c73_23.0=1
phy_an_c73_24.0=1
phy_an_c73_25.0=1
phy_an_c73_26.0=1
phy_an_c73_27.0=1
phy_an_c73_28.0=1
phy_an_c73_29.0=1
phy_an_c73_3.0=1
phy_an_c73_30.0=1
phy_an_c73_31.0=1
phy_an_c73_32.0=1
phy_an_c73_4.0=1
phy_an_c73_5.0=1
phy_an_c73_6.0=1
phy_an_c73_7.0=1
phy_an_c73_8.0=1
phy_an_c73_9.0=1
phy_aux_voltage_enable_1.0=0x1
phy_aux_voltage_enable_2.0=0x1
phy_aux_voltage_enable_29.0=0x1
phy_aux_voltage_enable_3.0=0x1
phy_aux_voltage_enable_30.0=0x1
phy_aux_voltage_enable_31.0=0x1
phy_aux_voltage_enable_32.0=0x1
phy_aux_voltage_enable_4.0=0x1
phy_ext_rom_boot.0=0
phy_ext_rom_boot_1.0=0x0
phy_ext_rom_boot_2.0=0x0
phy_ext_rom_boot_29.0=0x0
phy_ext_rom_boot_3.0=0x0
phy_ext_rom_boot_30.0=0x0
phy_ext_rom_boot_31.0=0x0
phy_ext_rom_boot_32.0=0x0
phy_ext_rom_boot_4.0=0x0
phy_line_tx_mode_1.0=1
phy_line_tx_mode_2.0=1
phy_line_tx_mode_29.0=1
phy_line_tx_mode_3.0=1
phy_line_tx_mode_30.0=1
phy_line_tx_mode_31.0=1
phy_line_tx_mode_32.0=1
phy_line_tx_mode_4.0=1
phy_rx_polarity_flip_1.0=0x0
phy_rx_polarity_flip_2.0=0x0
phy_rx_polarity_flip_29.0=0x0
phy_rx_polarity_flip_3.0=0x0
phy_rx_polarity_flip_30.0=0x0
phy_rx_polarity_flip_31.0=0x0
phy_rx_polarity_flip_32.0=0x0
phy_rx_polarity_flip_4.0=0x0
phy_system_tx_mode_1.0=0
phy_system_tx_mode_2.0=0
phy_system_tx_mode_29.0=0
phy_system_tx_mode_3.0=0
phy_system_tx_mode_30.0=0
phy_system_tx_mode_31.0=0
phy_system_tx_mode_32.0=0
phy_system_tx_mode_4.0=0
phy_tx_polarity_flip_1.0=0x0
phy_tx_polarity_flip_2.0=0x0
phy_tx_polarity_flip_29.0=0x0
phy_tx_polarity_flip_3.0=0x0
phy_tx_polarity_flip_30.0=0x0
phy_tx_polarity_flip_31.0=0x0
phy_tx_polarity_flip_32.0=0x0
phy_tx_polarity_flip_4.0=0x0
phy_xaui_rx_polarity_flip_1.0=0x0
phy_xaui_rx_polarity_flip_10.0=0x0
phy_xaui_rx_polarity_flip_11.0=0x0
phy_xaui_rx_polarity_flip_12.0=0x0
phy_xaui_rx_polarity_flip_13.0=0x0
phy_xaui_rx_polarity_flip_14.0=0x0
phy_xaui_rx_polarity_flip_15.0=0x0
phy_xaui_rx_polarity_flip_16.0=0x0
phy_xaui_rx_polarity_flip_17.0=0x0
phy_xaui_rx_polarity_flip_18.0=0x0
phy_xaui_rx_polarity_flip_19.0=0x0
phy_xaui_rx_polarity_flip_2.0=0x0
phy_xaui_rx_polarity_flip_20.0=0x0
phy_xaui_rx_polarity_flip_21.0=0x0
phy_xaui_rx_polarity_flip_22.0=0x0
phy_xaui_rx_polarity_flip_23.0=0x0
phy_xaui_rx_polarity_flip_24.0=0x0
phy_xaui_rx_polarity_flip_25.0=0x0
phy_xaui_rx_polarity_flip_26.0=0x0
phy_xaui_rx_polarity_flip_27.0=0x0
phy_xaui_rx_polarity_flip_28.0=0x0
phy_xaui_rx_polarity_flip_29.0=0x0
phy_xaui_rx_polarity_flip_3.0=0x0
phy_xaui_rx_polarity_flip_30.0=0x0
phy_xaui_rx_polarity_flip_31.0=0x0
phy_xaui_rx_polarity_flip_32.0=0x0
phy_xaui_rx_polarity_flip_4.0=0x0
phy_xaui_rx_polarity_flip_5.0=0x0
phy_xaui_rx_polarity_flip_6.0=0x0
phy_xaui_rx_polarity_flip_7.0=0x0
phy_xaui_rx_polarity_flip_8.0=0x0
phy_xaui_rx_polarity_flip_9.0=0x0
phy_xaui_tx_polarity_flip_1.0=0x0
phy_xaui_tx_polarity_flip_10.0=0x0
phy_xaui_tx_polarity_flip_11.0=0x0
phy_xaui_tx_polarity_flip_12.0=0x0
phy_xaui_tx_polarity_flip_13.0=0x0
phy_xaui_tx_polarity_flip_14.0=0x0
phy_xaui_tx_polarity_flip_15.0=0x0
phy_xaui_tx_polarity_flip_16.0=0x0
phy_xaui_tx_polarity_flip_17.0=0x0
phy_xaui_tx_polarity_flip_18.0=0x0
phy_xaui_tx_polarity_flip_19.0=0x0
phy_xaui_tx_polarity_flip_2.0=0x0
phy_xaui_tx_polarity_flip_20.0=0x0
phy_xaui_tx_polarity_flip_21.0=0x0
phy_xaui_tx_polarity_flip_22.0=0x0
phy_xaui_tx_polarity_flip_23.0=0x0
phy_xaui_tx_polarity_flip_24.0=0x0
phy_xaui_tx_polarity_flip_25.0=0x0
phy_xaui_tx_polarity_flip_26.0=0x0
phy_xaui_tx_polarity_flip_27.0=0x0
phy_xaui_tx_polarity_flip_28.0=0x0
phy_xaui_tx_polarity_flip_29.0=0x0
phy_xaui_tx_polarity_flip_3.0=0x0
phy_xaui_tx_polarity_flip_30.0=0x0
phy_xaui_tx_polarity_flip_31.0=0x0
phy_xaui_tx_polarity_flip_32.0=0x0
phy_xaui_tx_polarity_flip_4.0=0x0
phy_xaui_tx_polarity_flip_5.0=0x0
phy_xaui_tx_polarity_flip_6.0=0x0
phy_xaui_tx_polarity_flip_7.0=0x0
phy_xaui_tx_polarity_flip_8.0=0x0
phy_xaui_tx_polarity_flip_9.0=0x0
port_init_autoneg_10.0=0
port_init_autoneg_11.0=0
port_init_autoneg_12.0=0
port_init_autoneg_13.0=0
port_init_autoneg_14.0=0
port_init_autoneg_15.0=0
port_init_autoneg_16.0=0
port_init_autoneg_17.0=0
port_init_autoneg_18.0=0
port_init_autoneg_19.0=0
port_init_autoneg_20.0=0
port_init_autoneg_21.0=0
port_init_autoneg_22.0=0
port_init_autoneg_23.0=0
port_init_autoneg_24.0=0
port_init_autoneg_25.0=0
port_init_autoneg_26.0=0
port_init_autoneg_27.0=0
port_init_autoneg_28.0=0
port_init_autoneg_5.0=0
port_init_autoneg_6.0=0
port_init_autoneg_7.0=0
port_init_autoneg_8.0=0
port_init_autoneg_9.0=0
port_init_cl72_hg.0=0x11
port_phy_addr_1.0=0x4
port_phy_addr_10.0=0x7f
port_phy_addr_11.0=0x7f
port_phy_addr_12.0=0x7f
port_phy_addr_13.0=0x7f
port_phy_addr_14.0=0x7f
port_phy_addr_15.0=0x7f
port_phy_addr_16.0=0x7f
port_phy_addr_17.0=0x7f
port_phy_addr_18.0=0x7f
port_phy_addr_19.0=0x7f
port_phy_addr_2.0=0x0
port_phy_addr_20.0=0x7f
port_phy_addr_21.0=0x7f
port_phy_addr_22.0=0x7f
port_phy_addr_23.0=0x7f
port_phy_addr_24.0=0x7f
port_phy_addr_25.0=0x7f
port_phy_addr_26.0=0x7f
port_phy_addr_27.0=0x7f
port_phy_addr_28.0=0x7f
port_phy_addr_29.0=0x54
port_phy_addr_3.0=0x2c
port_phy_addr_30.0=0x50
port_phy_addr_31.0=0x7c
port_phy_addr_32.0=0x78
port_phy_addr_4.0=0x28
port_phy_addr_5.0=0x7f
port_phy_addr_6.0=0x7f
port_phy_addr_7.0=0x7f
port_phy_addr_8.0=0x7f
port_phy_addr_9.0=0x7f
port_phy_clause_1.0=0x2d
port_phy_clause_2.0=0x2d
port_phy_clause_29.0=0x2d
port_phy_clause_3.0=0x2d
port_phy_clause_30.0=0x2d
port_phy_clause_31.0=0x2d
port_phy_clause_32.0=0x2d
port_phy_clause_4.0=0x2d
port_phy_id0_1.0=0x600d
port_phy_id0_2.0=0x600d
port_phy_id0_29.0=0x600d
port_phy_id0_3.0=0x600d
port_phy_id0_30.0=0x600d
port_phy_id0_31.0=0x600d
port_phy_id0_32.0=0x600d
port_phy_id0_4.0=0x600d
port_phy_id1_1.0=0x8500
port_phy_id1_2.0=0x8500
port_phy_id1_29.0=0x8500
port_phy_id1_3.0=0x8500
port_phy_id1_30.0=0x8500
port_phy_id1_31.0=0x8500
port_phy_id1_32.0=0x8500
port_phy_id1_4.0=0x8500
portmap_1.0=125:40
portmap_10.0=33:40
portmap_11.0=45:40
portmap_12.0=41:40
portmap_13.0=53:40
portmap_14.0=49:40
portmap_15.0=69:40
portmap_16.0=65:40
portmap_17.0=77:40
portmap_18.0=73:40
portmap_19.0=93:40
portmap_2.0=121:40
portmap_20.0=89:40
portmap_21.0=101:40
portmap_22.0=97:40
portmap_23.0=109:40
portmap_24.0=105:40
portmap_25.0=61:40
portmap_26.0=57:40
portmap_27.0=81:40
portmap_28.0=85:40
portmap_29.0=117:40
portmap_3.0=13:40
portmap_30.0=113:40
portmap_31.0=5:40
portmap_32.0=1:40
portmap_4.0=9:40
portmap_5.0=17:40
portmap_6.0=21:40
portmap_7.0=25:40
portmap_8.0=29:40
portmap_9.0=37:40
serdes_firmware_mode_1.0=1
serdes_firmware_mode_10.0=2
serdes_firmware_mode_11.0=2
serdes_firmware_mode_12.0=2
serdes_firmware_mode_13.0=2
serdes_firmware_mode_14.0=2
serdes_firmware_mode_15.0=2
serdes_firmware_mode_16.0=2
serdes_firmware_mode_17.0=2
serdes_firmware_mode_18.0=2
serdes_firmware_mode_19.0=2
serdes_firmware_mode_2.0=1
serdes_firmware_mode_20.0=2
serdes_firmware_mode_21.0=2
serdes_firmware_mode_22.0=2
serdes_firmware_mode_23.0=2
serdes_firmware_mode_24.0=2
serdes_firmware_mode_25.0=2
serdes_firmware_mode_26.0=2
serdes_firmware_mode_27.0=2
serdes_firmware_mode_28.0=2
serdes_firmware_mode_29.0=1
serdes_firmware_mode_3.0=1
serdes_firmware_mode_30.0=1
serdes_firmware_mode_31.0=1
serdes_firmware_mode_32.0=1
serdes_firmware_mode_4.0=1
serdes_firmware_mode_5.0=2
serdes_firmware_mode_6.0=2
serdes_firmware_mode_7.0=2
serdes_firmware_mode_8.0=2
serdes_firmware_mode_9.0=2
xgxs_lcpll_xtal_refclk.0=1
xgxs_rx_lane_map_1.0=0x0123
xgxs_rx_lane_map_10.0=0x3120
xgxs_rx_lane_map_11.0=0x3120
xgxs_rx_lane_map_12.0=0x3120
xgxs_rx_lane_map_13.0=0x3120
xgxs_rx_lane_map_14.0=0x3120
xgxs_rx_lane_map_15.0=0x3120
xgxs_rx_lane_map_16.0=0x3120
xgxs_rx_lane_map_17.0=0x3120
xgxs_rx_lane_map_18.0=0x3120
xgxs_rx_lane_map_19.0=0x3120
xgxs_rx_lane_map_2.0=0x0123
xgxs_rx_lane_map_20.0=0x3120
xgxs_rx_lane_map_21.0=0x3120
xgxs_rx_lane_map_22.0=0x3120
xgxs_rx_lane_map_23.0=0x3120
xgxs_rx_lane_map_24.0=0x3120
xgxs_rx_lane_map_25.0=0x2031
xgxs_rx_lane_map_26.0=0x2031
xgxs_rx_lane_map_27.0=0x0213
xgxs_rx_lane_map_28.0=0x0213
xgxs_rx_lane_map_29.0=0x0123
xgxs_rx_lane_map_3.0=0x0123
xgxs_rx_lane_map_30.0=0x0123
xgxs_rx_lane_map_31.0=0x0123
xgxs_rx_lane_map_32.0=0x0123
xgxs_rx_lane_map_4.0=0x0123
xgxs_rx_lane_map_5.0=0x2031
xgxs_rx_lane_map_6.0=0x2031
xgxs_rx_lane_map_7.0=0x2031
xgxs_rx_lane_map_8.0=0x2031
xgxs_rx_lane_map_9.0=0x3120
xgxs_tx_lane_map_1.0=0x0123
xgxs_tx_lane_map_10.0=0x3120
xgxs_tx_lane_map_11.0=0x3120
xgxs_tx_lane_map_12.0=0x3120
xgxs_tx_lane_map_13.0=0x3120
xgxs_tx_lane_map_14.0=0x3120
xgxs_tx_lane_map_15.0=0x3120
xgxs_tx_lane_map_16.0=0x3120
xgxs_tx_lane_map_17.0=0x3120
xgxs_tx_lane_map_18.0=0x3120
xgxs_tx_lane_map_19.0=0x3120
xgxs_tx_lane_map_2.0=0x0123
xgxs_tx_lane_map_20.0=0x3120
xgxs_tx_lane_map_21.0=0x3120
xgxs_tx_lane_map_22.0=0x3120
xgxs_tx_lane_map_23.0=0x3120
xgxs_tx_lane_map_24.0=0x3120
xgxs_tx_lane_map_25.0=0x2031
xgxs_tx_lane_map_26.0=0x2031
xgxs_tx_lane_map_27.0=0x0213
xgxs_tx_lane_map_28.0=0x0213
xgxs_tx_lane_map_29.0=0x0123
xgxs_tx_lane_map_3.0=0x0123
xgxs_tx_lane_map_30.0=0x0123
xgxs_tx_lane_map_31.0=0x0123
xgxs_tx_lane_map_32.0=0x0123
xgxs_tx_lane_map_4.0=0x0123
xgxs_tx_lane_map_5.0=0x1302
xgxs_tx_lane_map_6.0=0x1302
xgxs_tx_lane_map_7.0=0x1302
xgxs_tx_lane_map_8.0=0x1302
xgxs_tx_lane_map_9.0=0x3120
##########################################
#skip_L2_USER_ENTRY=0
phy_aux_voltage_enable=1
###############################
serdes_fiber_pref=1
###############################
mdio_output_delay.0=0x0d
###############################
serdes_sgmii_m=0
xgxs_lcpll_xtal_refclk=1
xgxs_lcpll_xtal_refclk.1=1
xgxs_lcpll_xtal_refclk.2=1
xgxs_lcpll_xtal_refclk.3=1
tdma_intr_enable=1
tslam_intr_enable=1
tslam_dma_enable.2=1
tslam_dma_enable.3=1
#dport_map_port=0
#dport_map_enable=0
#dport_map_indexed=0
#bcm_xlate_port_enable.0=0
#xgxs_pdetect_1=0
table_dma_enable.0=1
table_dma_enable.1=1
table_dma_enable.2=1
table_dma_enable.3=1
serdes_driver_current_lane0_1=2
serdes_pre_driver_current_lane0_1=2
serdes_preemphasis_lane0_1=0x8fc0
serdes_driver_current_lane1_1=2
serdes_pre_driver_current_lane1_1=2
serdes_preemphasis_lane1_1=0x8fc0
serdes_driver_current_lane2_1=2
serdes_pre_driver_current_lane2_1=2
serdes_preemphasis_lane2_1=0x8fc0
serdes_driver_current_lane3_1=2
serdes_pre_driver_current_lane3_1=2
serdes_preemphasis_lane3_1=0x8fc0
serdes_driver_current_lane0_2=3
serdes_pre_driver_current_lane0_2=2
serdes_preemphasis_lane0_2=0x8fc0
serdes_driver_current_lane1_2=3
serdes_pre_driver_current_lane1_2=2
serdes_preemphasis_lane1_2=0x8fc0
serdes_driver_current_lane2_2=3
serdes_pre_driver_current_lane2_2=2
serdes_preemphasis_lane2_2=0x8fc0
serdes_driver_current_lane3_2=3
serdes_pre_driver_current_lane3_2=2
serdes_preemphasis_lane3_2=0x8fc0
serdes_driver_current_lane0_3=2
serdes_pre_driver_current_lane0_3=2
serdes_preemphasis_lane0_3=0x8fc0
serdes_driver_current_lane1_3=2
serdes_pre_driver_current_lane1_3=2
serdes_preemphasis_lane1_3=0x8fc0
serdes_driver_current_lane2_3=2
serdes_pre_driver_current_lane2_3=2
serdes_preemphasis_lane2_3=0x8fc0
serdes_driver_current_lane3_3=2
serdes_pre_driver_current_lane3_3=2
serdes_preemphasis_lane3_3=0x8fc0
serdes_driver_current_lane0_4=2
serdes_pre_driver_current_lane0_4=2
serdes_preemphasis_lane0_4=0x8fc0
serdes_driver_current_lane1_4=2
serdes_pre_driver_current_lane1_4=2
serdes_preemphasis_lane1_4=0x8fc0
serdes_driver_current_lane2_4=2
serdes_pre_driver_current_lane2_4=2
serdes_preemphasis_lane2_4=0x8fc0
serdes_driver_current_lane3_4=2
serdes_pre_driver_current_lane3_4=2
serdes_preemphasis_lane3_4=0x8fc0
serdes_driver_current_lane0_5=4
serdes_pre_driver_current_lane0_5=4
serdes_preemphasis_lane0_5=0xbf00
serdes_driver_current_lane1_5=4
serdes_pre_driver_current_lane1_5=4
serdes_preemphasis_lane1_5=0xbf00
serdes_driver_current_lane2_5=4
serdes_pre_driver_current_lane2_5=4
serdes_preemphasis_lane2_5=0xbf00
serdes_driver_current_lane3_5=4
serdes_pre_driver_current_lane3_5=4
serdes_preemphasis_lane3_5=0xbf00
serdes_driver_current_lane0_6=4
serdes_pre_driver_current_lane0_6=4
serdes_preemphasis_lane0_6=0xbb10
serdes_driver_current_lane1_6=4
serdes_pre_driver_current_lane1_6=4
serdes_preemphasis_lane1_6=0xbb10
serdes_driver_current_lane2_6=4
serdes_pre_driver_current_lane2_6=4
serdes_preemphasis_lane2_6=0xbb10
serdes_driver_current_lane3_6=4
serdes_pre_driver_current_lane3_6=4
serdes_preemphasis_lane3_6=0xbb10
serdes_driver_current_lane0_7=3
serdes_pre_driver_current_lane0_7=3
serdes_preemphasis_lane0_7=0xcad0
serdes_driver_current_lane1_7=3
serdes_pre_driver_current_lane1_7=3
serdes_preemphasis_lane1_7=0xcad0
serdes_driver_current_lane2_7=3
serdes_pre_driver_current_lane2_7=3
serdes_preemphasis_lane2_7=0xcad0
serdes_driver_current_lane3_7=3
serdes_pre_driver_current_lane3_7=3
serdes_preemphasis_lane3_7=0xcad0
serdes_driver_current_lane0_8=3
serdes_pre_driver_current_lane0_8=3
serdes_preemphasis_lane0_8=0xcad0
serdes_driver_current_lane1_8=3
serdes_pre_driver_current_lane1_8=3
serdes_preemphasis_lane1_8=0xcad0
serdes_driver_current_lane2_8=3
serdes_pre_driver_current_lane2_8=3
serdes_preemphasis_lane2_8=0xcad0
serdes_driver_current_lane3_8=3
serdes_pre_driver_current_lane3_8=3
serdes_preemphasis_lane3_8=0xcad0
serdes_driver_current_lane0_9=3
serdes_pre_driver_current_lane0_9=3
serdes_preemphasis_lane0_9=0xc2f0
serdes_driver_current_lane1_9=3
serdes_pre_driver_current_lane1_9=3
serdes_preemphasis_lane1_9=0xc2f0
serdes_driver_current_lane2_9=3
serdes_pre_driver_current_lane2_9=3
serdes_preemphasis_lane2_9=0xc2f0
serdes_driver_current_lane3_9=3
serdes_pre_driver_current_lane3_9=3
serdes_preemphasis_lane3_9=0xc2f0
serdes_driver_current_lane0_10=3
serdes_pre_driver_current_lane0_10=3
serdes_preemphasis_lane0_10=0xc6e0
serdes_driver_current_lane1_10=3
serdes_pre_driver_current_lane1_10=3
serdes_preemphasis_lane1_10=0xc6e0
serdes_driver_current_lane2_10=3
serdes_pre_driver_current_lane2_10=3
serdes_preemphasis_lane2_10=0xc6e0
serdes_driver_current_lane3_10=3
serdes_pre_driver_current_lane3_10=3
serdes_preemphasis_lane3_10=0xc6e0
serdes_driver_current_lane0_11=3
serdes_pre_driver_current_lane0_11=3
serdes_preemphasis_lane0_11=0xc2f0
serdes_driver_current_lane1_11=3
serdes_pre_driver_current_lane1_11=3
serdes_preemphasis_lane1_11=0xc2f0
serdes_driver_current_lane2_11=3
serdes_pre_driver_current_lane2_11=3
serdes_preemphasis_lane2_11=0xc2f0
serdes_driver_current_lane3_11=3
serdes_pre_driver_current_lane3_11=3
serdes_preemphasis_lane3_11=0xc2f0
serdes_driver_current_lane0_12=3
serdes_pre_driver_current_lane0_12=3
serdes_preemphasis_lane0_12=0xc2f0
serdes_driver_current_lane1_12=3
serdes_pre_driver_current_lane1_12=3
serdes_preemphasis_lane1_12=0xc2f0
serdes_driver_current_lane2_12=3
serdes_pre_driver_current_lane2_12=3
serdes_preemphasis_lane2_12=0xc2f0
serdes_driver_current_lane3_12=3
serdes_pre_driver_current_lane3_12=3
serdes_preemphasis_lane3_12=0xc2f0
serdes_driver_current_lane0_13=3
serdes_pre_driver_current_lane0_13=3
serdes_preemphasis_lane0_13=0xc2f0
serdes_driver_current_lane1_13=3
serdes_pre_driver_current_lane1_13=3
serdes_preemphasis_lane1_13=0xc2f0
serdes_driver_current_lane2_13=3
serdes_pre_driver_current_lane2_13=3
serdes_preemphasis_lane2_13=0xc2f0
serdes_driver_current_lane3_13=3
serdes_pre_driver_current_lane3_13=3
serdes_preemphasis_lane3_13=0xc2f0
serdes_driver_current_lane0_14=3
serdes_pre_driver_current_lane0_14=3
serdes_preemphasis_lane0_14=0xc2f0
serdes_driver_current_lane1_14=3
serdes_pre_driver_current_lane1_14=3
serdes_preemphasis_lane1_14=0xc2f0
serdes_driver_current_lane2_14=3
serdes_pre_driver_current_lane2_14=3
serdes_preemphasis_lane2_14=0xc2f0
serdes_driver_current_lane3_14=3
serdes_pre_driver_current_lane3_14=3
serdes_preemphasis_lane3_14=0xc2f0
serdes_driver_current_lane0_15=3
serdes_pre_driver_current_lane0_15=3
serdes_preemphasis_lane0_15=0xc2f0
serdes_driver_current_lane1_15=3
serdes_pre_driver_current_lane1_15=3
serdes_preemphasis_lane1_15=0xc2f0
serdes_driver_current_lane2_15=3
serdes_pre_driver_current_lane2_15=3
serdes_preemphasis_lane2_15=0xc2f0
serdes_driver_current_lane3_15=3
serdes_pre_driver_current_lane3_15=3
serdes_preemphasis_lane3_15=0xc2f0
serdes_driver_current_lane0_16=3
serdes_pre_driver_current_lane0_16=3
serdes_preemphasis_lane0_16=0xc2f0
serdes_driver_current_lane1_16=3
serdes_pre_driver_current_lane1_16=3
serdes_preemphasis_lane1_16=0xc2f0
serdes_driver_current_lane2_16=3
serdes_pre_driver_current_lane2_16=3
serdes_preemphasis_lane2_16=0xc2f0
serdes_driver_current_lane3_16=3
serdes_pre_driver_current_lane3_16=3
serdes_preemphasis_lane3_16=0xc2f0
serdes_driver_current_lane0_17=3
serdes_pre_driver_current_lane0_17=3
serdes_preemphasis_lane0_17=0xc2f0
serdes_driver_current_lane1_17=3
serdes_pre_driver_current_lane1_17=3
serdes_preemphasis_lane1_17=0xc2f0
serdes_driver_current_lane2_17=3
serdes_pre_driver_current_lane2_17=3
serdes_preemphasis_lane2_17=0xc2f0
serdes_driver_current_lane3_17=3
serdes_pre_driver_current_lane3_17=3
serdes_preemphasis_lane3_17=0xc2f0
serdes_driver_current_lane0_18=3
serdes_pre_driver_current_lane0_18=3
serdes_preemphasis_lane0_18=0xc2f0
serdes_driver_current_lane1_18=3
serdes_pre_driver_current_lane1_18=3
serdes_preemphasis_lane1_18=0xc2f0
serdes_driver_current_lane2_18=3
serdes_pre_driver_current_lane2_18=3
serdes_preemphasis_lane2_18=0xc2f0
serdes_driver_current_lane3_18=3
serdes_pre_driver_current_lane3_18=3
serdes_preemphasis_lane3_18=0xc2f0
serdes_driver_current_lane0_19=3
serdes_pre_driver_current_lane0_19=3
serdes_preemphasis_lane0_19=0xc2f0
serdes_driver_current_lane1_19=3
serdes_pre_driver_current_lane1_19=3
serdes_preemphasis_lane1_19=0xc2f0
serdes_driver_current_lane2_19=3
serdes_pre_driver_current_lane2_19=3
serdes_preemphasis_lane2_19=0xc2f0
serdes_driver_current_lane3_19=3
serdes_pre_driver_current_lane3_19=3
serdes_preemphasis_lane3_19=0xc2f0
serdes_driver_current_lane0_20=3
serdes_pre_driver_current_lane0_20=3
serdes_preemphasis_lane0_20=0xc2f0
serdes_driver_current_lane1_20=3
serdes_pre_driver_current_lane1_20=3
serdes_preemphasis_lane1_20=0xc2f0
serdes_driver_current_lane2_20=3
serdes_pre_driver_current_lane2_20=3
serdes_preemphasis_lane2_20=0xc2f0
serdes_driver_current_lane3_20=3
serdes_pre_driver_current_lane3_20=3
serdes_preemphasis_lane3_20=0xc2f0
serdes_driver_current_lane0_21=3
serdes_pre_driver_current_lane0_21=3
serdes_preemphasis_lane0_21=0xc6e0
serdes_driver_current_lane1_21=3
serdes_pre_driver_current_lane1_21=3
serdes_preemphasis_lane1_21=0xc6e0
serdes_driver_current_lane2_21=3
serdes_pre_driver_current_lane2_21=3
serdes_preemphasis_lane2_21=0xc6e0
serdes_driver_current_lane3_21=3
serdes_pre_driver_current_lane3_21=3
serdes_preemphasis_lane3_21=0xc6e0
serdes_driver_current_lane0_22=3
serdes_pre_driver_current_lane0_22=3
serdes_preemphasis_lane0_22=0xc6e0
serdes_driver_current_lane1_22=3
serdes_pre_driver_current_lane1_22=3
serdes_preemphasis_lane1_22=0xc6e0
serdes_driver_current_lane2_22=3
serdes_pre_driver_current_lane2_22=3
serdes_preemphasis_lane2_22=0xc6e0
serdes_driver_current_lane3_22=3
serdes_pre_driver_current_lane3_22=3
serdes_preemphasis_lane3_22=0xc6e0
serdes_driver_current_lane0_23=3
serdes_pre_driver_current_lane0_23=3
serdes_preemphasis_lane0_23=0xcad0
serdes_driver_current_lane1_23=3
serdes_pre_driver_current_lane1_23=3
serdes_preemphasis_lane1_23=0xcad0
serdes_driver_current_lane2_23=3
serdes_pre_driver_current_lane2_23=3
serdes_preemphasis_lane2_23=0xcad0
serdes_driver_current_lane3_23=3
serdes_pre_driver_current_lane3_23=3
serdes_preemphasis_lane3_23=0xcad0
serdes_driver_current_lane0_24=3
serdes_pre_driver_current_lane0_24=3
serdes_preemphasis_lane0_24=0xcad0
serdes_driver_current_lane1_24=3
serdes_pre_driver_current_lane1_24=3
serdes_preemphasis_lane1_24=0xcad0
serdes_driver_current_lane2_24=3
serdes_pre_driver_current_lane2_24=3
serdes_preemphasis_lane2_24=0xcad0
serdes_driver_current_lane3_24=3
serdes_pre_driver_current_lane3_24=3
serdes_preemphasis_lane3_24=0xcad0
serdes_driver_current_lane0_25=5
serdes_pre_driver_current_lane0_25=5
serdes_preemphasis_lane0_25=0xc2f0
serdes_driver_current_lane1_25=5
serdes_pre_driver_current_lane1_25=5
serdes_preemphasis_lane1_25=0xc2f0
serdes_driver_current_lane2_25=5
serdes_pre_driver_current_lane2_25=5
serdes_preemphasis_lane2_25=0xc2f0
serdes_driver_current_lane3_25=5
serdes_pre_driver_current_lane3_25=5
serdes_preemphasis_lane3_25=0xc2f0
serdes_driver_current_lane0_26=5
serdes_pre_driver_current_lane0_26=5
serdes_preemphasis_lane0_26=0xc2f0
serdes_driver_current_lane1_26=5
serdes_pre_driver_current_lane1_26=5
serdes_preemphasis_lane1_26=0xc2f0
serdes_driver_current_lane2_26=5
serdes_pre_driver_current_lane2_26=5
serdes_preemphasis_lane2_26=0xc2f0
serdes_driver_current_lane3_26=5
serdes_pre_driver_current_lane3_26=5
serdes_preemphasis_lane3_26=0xc2f0
serdes_driver_current_lane0_27=5
serdes_pre_driver_current_lane0_27=5
serdes_preemphasis_lane0_27=0xc2f0
serdes_driver_current_lane1_27=5
serdes_pre_driver_current_lane1_27=5
serdes_preemphasis_lane1_27=0xc2f0
serdes_driver_current_lane2_27=5
serdes_pre_driver_current_lane2_27=5
serdes_preemphasis_lane2_27=0xc2f0
serdes_driver_current_lane3_27=5
serdes_pre_driver_current_lane3_27=5
serdes_preemphasis_lane3_27=0xc2f0
serdes_driver_current_lane0_28=8
serdes_pre_driver_current_lane0_28=6
serdes_preemphasis_lane0_28=0xc2f0
serdes_driver_current_lane1_28=8
serdes_pre_driver_current_lane1_28=6
serdes_preemphasis_lane1_28=0xc2f0
serdes_driver_current_lane2_28=8
serdes_pre_driver_current_lane2_28=6
serdes_preemphasis_lane2_28=0xc2f0
serdes_driver_current_lane3_28=8
serdes_pre_driver_current_lane3_28=6
serdes_preemphasis_lane3_28=0xc2f0
serdes_driver_current_lane0_29=2
serdes_pre_driver_current_lane0_29=2
serdes_preemphasis_lane0_29=0x8fc0
serdes_driver_current_lane1_29=2
serdes_pre_driver_current_lane1_29=2
serdes_preemphasis_lane1_29=0x8fc0
serdes_driver_current_lane2_29=2
serdes_pre_driver_current_lane2_29=2
serdes_preemphasis_lane2_29=0x8fc0
serdes_driver_current_lane3_29=2
serdes_pre_driver_current_lane3_29=2
serdes_preemphasis_lane3_29=0x8fc0
serdes_driver_current_lane0_30=2
serdes_pre_driver_current_lane0_30=2
serdes_preemphasis_lane0_30=0x8fc0
serdes_driver_current_lane1_30=2
serdes_pre_driver_current_lane1_30=2
serdes_preemphasis_lane1_30=0x8fc0
serdes_driver_current_lane2_30=2
serdes_pre_driver_current_lane2_30=2
serdes_preemphasis_lane2_30=0x8fc0
serdes_driver_current_lane3_30=2
serdes_pre_driver_current_lane3_30=2
serdes_preemphasis_lane3_30=0x8fc0
serdes_driver_current_lane0_31=2
serdes_pre_driver_current_lane0_31=2
serdes_preemphasis_lane0_31=0x8fc0
serdes_driver_current_lane1_31=2
serdes_pre_driver_current_lane1_31=2
serdes_preemphasis_lane1_31=0x8fc0
serdes_driver_current_lane2_31=2
serdes_pre_driver_current_lane2_31=2
serdes_preemphasis_lane2_31=0x8fc0
serdes_driver_current_lane3_31=2
serdes_pre_driver_current_lane3_31=2
serdes_preemphasis_lane3_31=0x8fc0
serdes_driver_current_lane0_32=2
serdes_pre_driver_current_lane0_32=2
serdes_preemphasis_lane0_32=0x8fc0
serdes_driver_current_lane1_32=2
serdes_pre_driver_current_lane1_32=2
serdes_preemphasis_lane1_32=0x8fc0
serdes_driver_current_lane2_32=2
serdes_pre_driver_current_lane2_32=2
serdes_preemphasis_lane2_32=0x8fc0
serdes_driver_current_lane3_32=2
serdes_pre_driver_current_lane3_32=2
serdes_preemphasis_lane3_32=0x8fc0

View File

@ -0,0 +1,87 @@
#!/usr/bin/env python
# Copyright (c) 2018 Arista Networks, Inc. All rights reserved.
# Arista Networks, Inc. Confidential and Proprietary.
# Reboot script for 7050QX-32
from __future__ import print_function
import sys
import mmap, os
import subprocess
from struct import pack, unpack
class MmapResource( object ):
"""Resource implementation for a directly-mapped memory region."""
def __init__( self, path ):
try:
fd = os.open( path, os.O_RDWR )
except EnvironmentError:
print( "FAIL can not open scd memory-map resource file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
try:
size = os.fstat( fd ).st_size
except EnvironmentError:
print( "FAIL can not fstat scd memory-map resource file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
try:
self.mmap_ = mmap.mmap( fd, size, mmap.MAP_SHARED,
mmap.PROT_READ | mmap.PROT_WRITE )
except EnvironmentError:
print( "FAIL can not map scd memory-map file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
finally:
try:
# Note that closing the file descriptor has no effect on the memory map
os.close( fd )
except EnvironmentError:
print( "FAIL failed to close scd memory-map file" )
sys.exit( 1 )
def read32( self, addr ):
return unpack( '<L', self.mmap_[ addr : addr + 4 ] )[ 0 ]
def write32( self, addr, value ):
self.mmap_[ addr: addr + 4 ] = pack( '<L', value )
def scdRegTest( scd, offset, val1, count ):
scd.write32( offset, val1 )
val2 = scd.read32( offset )
if val1 != val2:
print( "FAIL: scd write 0x%08x but read back 0x%08x in iter %d" %
( val1, val2, count ) )
sys.exit( 17 )
def scdScrRegTest( scd ):
scrOffset = 0x0130
for i in range( 0, 3 ):
scdRegTest( scd, scrOffset, 0xdeadbeef, i )
scdRegTest( scd, scrOffset, 0xa5a5a5a5, i )
scdRegTest( scd, scrOffset, 0x00000000, i )
def reboot( scd ):
# reboot the system by writing to register 0x7000
print( "Rebooting" )
scd.write32( 0x7000, 0xDEAD )
print( "REBOOTED" )
def main():
busName = "/sys/bus/pci/devices/0000:04:00.0/resource0"
subprocess.call( [ 'modprobe', 'scd' ] )
scd = MmapResource( busName )
#
# verify that we can read/write scd scratch register
#
scdScrRegTest( scd )
# reboot the system
reboot( scd )
if __name__ == "__main__":
main()

View File

@ -85,16 +85,6 @@ class LedControl(LedControlBase):
with open("/sys/class/leds/psu2/brightness", "w") as f: with open("/sys/class/leds/psu2/brightness", "w") as f:
f.write("1") f.write("1")
# Initialize all fan LEDs to green
with open("/sys/devices/platform/sb800-fans/hwmon/hwmon1/fan1_led", "w") as f:
f.write("3")
with open("/sys/devices/platform/sb800-fans/hwmon/hwmon1/fan2_led", "w") as f:
f.write("3")
with open("/sys/devices/platform/sb800-fans/hwmon/hwmon1/fan3_led", "w") as f:
f.write("3")
with open("/sys/devices/platform/sb800-fans/hwmon/hwmon1/fan4_led", "w") as f:
f.write("3")
# Initialize: Turn all front panel QSFP LEDs off # Initialize: Turn all front panel QSFP LEDs off
for qsfp_index in range(self.QSFP_BREAKOUT_START_IDX, self.QSFP_BREAKOUT_END_IDX + 1): for qsfp_index in range(self.QSFP_BREAKOUT_START_IDX, self.QSFP_BREAKOUT_END_IDX + 1):
for lane in range(1, 5): for lane in range(1, 5):

View File

@ -0,0 +1,87 @@
#!/usr/bin/env python
# Copyright (c) 2018 Arista Networks, Inc. All rights reserved.
# Arista Networks, Inc. Confidential and Proprietary.
# Reboot script for 7050QX-32S
from __future__ import print_function
import sys
import mmap, os
import subprocess
from struct import pack, unpack
class MmapResource( object ):
"""Resource implementation for a directly-mapped memory region."""
def __init__( self, path ):
try:
fd = os.open( path, os.O_RDWR )
except EnvironmentError:
print( "FAIL can not open scd memory-map resource file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
try:
size = os.fstat( fd ).st_size
except EnvironmentError:
print( "FAIL can not fstat scd memory-map resource file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
try:
self.mmap_ = mmap.mmap( fd, size, mmap.MAP_SHARED,
mmap.PROT_READ | mmap.PROT_WRITE )
except EnvironmentError:
print( "FAIL can not map scd memory-map file" )
print( "FAIL are you running on the proper platform?" )
sys.exit( 1 )
finally:
try:
# Note that closing the file descriptor has no effect on the memory map
os.close( fd )
except EnvironmentError:
print( "FAIL failed to close scd memory-map file" )
sys.exit( 1 )
def read32( self, addr ):
return unpack( '<L', self.mmap_[ addr : addr + 4 ] )[ 0 ]
def write32( self, addr, value ):
self.mmap_[ addr: addr + 4 ] = pack( '<L', value )
def scdRegTest( scd, offset, val1, count ):
scd.write32( offset, val1 )
val2 = scd.read32( offset )
if val1 != val2:
print( "FAIL: scd write 0x%08x but read back 0x%08x in iter %d" %
( val1, val2, count ) )
sys.exit( 17 )
def scdScrRegTest( scd ):
scrOffset = 0x0130
for i in range( 0, 3 ):
scdRegTest( scd, scrOffset, 0xdeadbeef, i )
scdRegTest( scd, scrOffset, 0xa5a5a5a5, i )
scdRegTest( scd, scrOffset, 0x00000000, i )
def reboot( scd ):
# reboot the system by writing to register 0x7000
print( "Rebooting" )
scd.write32( 0x7000, 0xDEAD )
print( "REBOOTED" )
def main():
busName = "/sys/bus/pci/devices/0000:02:00.0/resource0"
subprocess.call( [ 'modprobe', 'scd' ] )
scd = MmapResource( busName )
#
# verify that we can read/write scd scratch register
#
scdScrRegTest( scd )
# reboot the system
reboot( scd )
if __name__ == "__main__":
main()

View File

@ -80,17 +80,6 @@ class LedControl(LedControlBase):
with open("/sys/class/leds/psu2/brightness", "w") as f: with open("/sys/class/leds/psu2/brightness", "w") as f:
f.write("1") f.write("1")
# Initialize all fan LEDs to green
with open("/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/i2c-3/3-0060/hwmon/hwmon4/fan1_led", "w") as f:
f.write("1")
with open("/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/i2c-3/3-0060/hwmon/hwmon4/fan2_led", "w") as f:
f.write("1")
with open("/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/i2c-3/3-0060/hwmon/hwmon4/fan3_led", "w") as f:
f.write("1")
with open("/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/i2c-3/3-0060/hwmon/hwmon4/fan4_led", "w") as f:
f.write("1")
# Initialize: Turn all front panel QSFP LEDs off # Initialize: Turn all front panel QSFP LEDs off
for qsfp_index in range(self.QSFP_BREAKOUT_START_IDX, self.QSFP_BREAKOUT_END_IDX + 1): for qsfp_index in range(self.QSFP_BREAKOUT_START_IDX, self.QSFP_BREAKOUT_END_IDX + 1):
for lane in range(1, 5): for lane in range(1, 5):

View File

@ -28,7 +28,7 @@
"size": "11213696", "size": "11213696",
"type": "ingress", "type": "ingress",
"mode": "dynamic", "mode": "dynamic",
"xoff": "8356608" "xoff": "3855488"
}, },
"egress_lossy_pool": { "egress_lossy_pool": {
"size": "9532224", "size": "9532224",

View File

@ -0,0 +1,18 @@
#!/usr/bin/env python
# Copyright (c) 2018 Arista Networks, Inc. All rights reserved.
# Arista Networks, Inc. Confidential and Proprietary.
# Reboot script for 7060CX-32
from __future__ import print_function
import smbus
def main():
print( "Rebooting" )
bus = smbus.SMBus( 1 )
bus.write_byte_data( 0x23, 0x04, 0xde )
print( "REBOOTED" )
if __name__ == "__main__":
main()

View File

@ -1,113 +1,113 @@
# name lanes alias # name lanes alias index speed
Ethernet0 65 Eth1/1 Ethernet0 65 Eth1/1 0 10000
Ethernet1 66 Eth1/2 Ethernet1 66 Eth1/2 0 10000
Ethernet2 67 Eth1/3 Ethernet2 67 Eth1/3 0 10000
Ethernet3 68 Eth1/4 Ethernet3 68 Eth1/4 0 10000
Ethernet4 69 Eth2/1 Ethernet4 69 Eth2/1 1 10000
Ethernet5 70 Eth2/2 Ethernet5 70 Eth2/2 1 10000
Ethernet6 71 Eth2/3 Ethernet6 71 Eth2/3 1 10000
Ethernet7 72 Eth2/4 Ethernet7 72 Eth2/4 1 10000
Ethernet8 73 Eth3/1 Ethernet8 73 Eth3/1 2 10000
Ethernet9 74 Eth3/2 Ethernet9 74 Eth3/2 2 10000
Ethernet10 75 Eth3/3 Ethernet10 75 Eth3/3 2 10000
Ethernet11 76 Eth3/4 Ethernet11 76 Eth3/4 2 10000
Ethernet12 77 Eth4/1 Ethernet12 77 Eth4/1 3 10000
Ethernet13 78 Eth4/2 Ethernet13 78 Eth4/2 3 10000
Ethernet14 79 Eth4/3 Ethernet14 79 Eth4/3 3 10000
Ethernet15 80 Eth4/4 Ethernet15 80 Eth4/4 3 10000
Ethernet16 33 Eth5/1 Ethernet16 33 Eth5/1 4 10000
Ethernet17 34 Eth5/2 Ethernet17 34 Eth5/2 4 10000
Ethernet18 35 Eth5/3 Ethernet18 35 Eth5/3 4 10000
Ethernet19 36 Eth5/4 Ethernet19 36 Eth5/4 4 10000
Ethernet20 37 Eth6/1 Ethernet20 37 Eth6/1 5 10000
Ethernet21 38 Eth6/2 Ethernet21 38 Eth6/2 5 10000
Ethernet22 39 Eth6/3 Ethernet22 39 Eth6/3 5 10000
Ethernet23 40 Eth6/4 Ethernet23 40 Eth6/4 5 10000
Ethernet24 41 Eth7/1 Ethernet24 41 Eth7/1 6 10000
Ethernet25 42 Eth7/2 Ethernet25 42 Eth7/2 6 10000
Ethernet26 43 Eth7/3 Ethernet26 43 Eth7/3 6 10000
Ethernet27 44 Eth7/4 Ethernet27 44 Eth7/4 6 10000
Ethernet28 45 Eth8/1 Ethernet28 45 Eth8/1 7 10000
Ethernet29 46 Eth8/2 Ethernet29 46 Eth8/2 7 10000
Ethernet30 47 Eth8/3 Ethernet30 47 Eth8/3 7 10000
Ethernet31 48 Eth8/4 Ethernet31 48 Eth8/4 7 10000
Ethernet32 49 Eth9/1 Ethernet32 49 Eth9/1 8 10000
Ethernet33 50 Eth9/2 Ethernet33 50 Eth9/2 8 10000
Ethernet34 51 Eth9/3 Ethernet34 51 Eth9/3 8 10000
Ethernet35 52 Eth9/4 Ethernet35 52 Eth9/4 8 10000
Ethernet36 53 Eth10/1 Ethernet36 53 Eth10/1 9 10000
Ethernet37 54 Eth10/2 Ethernet37 54 Eth10/2 9 10000
Ethernet38 55 Eth10/3 Ethernet38 55 Eth10/3 9 10000
Ethernet39 56 Eth10/4 Ethernet39 56 Eth10/4 9 10000
Ethernet40 57 Eth11/1 Ethernet40 57 Eth11/1 10 10000
Ethernet41 58 Eth11/2 Ethernet41 58 Eth11/2 10 10000
Ethernet42 59 Eth11/3 Ethernet42 59 Eth11/3 10 10000
Ethernet43 60 Eth11/4 Ethernet43 60 Eth11/4 10 10000
Ethernet44 61 Eth12/1 Ethernet44 61 Eth12/1 11 10000
Ethernet45 62 Eth12/2 Ethernet45 62 Eth12/2 11 10000
Ethernet46 63 Eth12/3 Ethernet46 63 Eth12/3 11 10000
Ethernet47 64 Eth12/4 Ethernet47 64 Eth12/4 11 10000
Ethernet48 81 Eth13/1 Ethernet48 81 Eth13/1 12 10000
Ethernet49 82 Eth13/2 Ethernet49 82 Eth13/2 12 10000
Ethernet50 83 Eth13/3 Ethernet50 83 Eth13/3 12 10000
Ethernet51 84 Eth13/4 Ethernet51 84 Eth13/4 12 10000
Ethernet52 85 Eth14/1 Ethernet52 85 Eth14/1 13 10000
Ethernet53 86 Eth14/2 Ethernet53 86 Eth14/2 13 10000
Ethernet54 87 Eth14/3 Ethernet54 87 Eth14/3 13 10000
Ethernet55 88 Eth14/4 Ethernet55 88 Eth14/4 13 10000
Ethernet56 89 Eth15/1 Ethernet56 89 Eth15/1 14 10000
Ethernet57 90 Eth15/2 Ethernet57 90 Eth15/2 14 10000
Ethernet58 91 Eth15/3 Ethernet58 91 Eth15/3 14 10000
Ethernet59 92 Eth15/4 Ethernet59 92 Eth15/4 14 10000
Ethernet60 93 Eth16/1 Ethernet60 93 Eth16/1 15 10000
Ethernet61 94 Eth16/2 Ethernet61 94 Eth16/2 15 10000
Ethernet62 95 Eth16/3 Ethernet62 95 Eth16/3 15 10000
Ethernet63 96 Eth16/4 Ethernet63 96 Eth16/4 15 10000
Ethernet64 97 Eth17/1 Ethernet64 97 Eth17/1 16 10000
Ethernet65 98 Eth17/2 Ethernet65 98 Eth17/2 16 10000
Ethernet66 99 Eth17/3 Ethernet66 99 Eth17/3 16 10000
Ethernet67 100 Eth17/4 Ethernet67 100 Eth17/4 16 10000
Ethernet68 101 Eth18/1 Ethernet68 101 Eth18/1 17 10000
Ethernet69 102 Eth18/2 Ethernet69 102 Eth18/2 17 10000
Ethernet70 103 Eth18/3 Ethernet70 103 Eth18/3 17 10000
Ethernet71 104 Eth18/4 Ethernet71 104 Eth18/4 17 10000
Ethernet72 105 Eth19/1 Ethernet72 105 Eth19/1 18 10000
Ethernet73 106 Eth19/2 Ethernet73 106 Eth19/2 18 10000
Ethernet74 107 Eth19/3 Ethernet74 107 Eth19/3 18 10000
Ethernet75 108 Eth19/4 Ethernet75 108 Eth19/4 18 10000
Ethernet76 109 Eth20/1 Ethernet76 109 Eth20/1 19 10000
Ethernet77 110 Eth20/2 Ethernet77 110 Eth20/2 19 10000
Ethernet78 111 Eth20/3 Ethernet78 111 Eth20/3 19 10000
Ethernet79 112 Eth20/4 Ethernet79 112 Eth20/4 19 10000
Ethernet80 1 Eth21/1 Ethernet80 1 Eth21/1 20 10000
Ethernet81 2 Eth21/2 Ethernet81 2 Eth21/2 20 10000
Ethernet82 3 Eth21/3 Ethernet82 3 Eth21/3 20 10000
Ethernet83 4 Eth21/4 Ethernet83 4 Eth21/4 20 10000
Ethernet84 5 Eth22/1 Ethernet84 5 Eth22/1 21 10000
Ethernet85 6 Eth22/2 Ethernet85 6 Eth22/2 21 10000
Ethernet86 7 Eth22/3 Ethernet86 7 Eth22/3 21 10000
Ethernet87 8 Eth22/4 Ethernet87 8 Eth22/4 21 10000
Ethernet88 9 Eth23/1 Ethernet88 9 Eth23/1 22 10000
Ethernet89 10 Eth23/2 Ethernet89 10 Eth23/2 22 10000
Ethernet90 11 Eth23/3 Ethernet90 11 Eth23/3 22 10000
Ethernet91 12 Eth23/4 Ethernet91 12 Eth23/4 22 10000
Ethernet92 13 Eth24/1 Ethernet92 13 Eth24/1 23 10000
Ethernet93 14 Eth24/2 Ethernet93 14 Eth24/2 23 10000
Ethernet94 15 Eth24/3 Ethernet94 15 Eth24/3 23 10000
Ethernet95 16 Eth24/4 Ethernet95 16 Eth24/4 23 10000
Ethernet96 17,18 Eth25/1 Ethernet96 17,18 Eth25/1 24 50000
Ethernet98 19,20 Eth25/2 Ethernet98 19,20 Eth25/2 24 50000
Ethernet100 21,22 Eth26/1 Ethernet100 21,22 Eth26/1 25 50000
Ethernet102 23,24 Eth26/2 Ethernet102 23,24 Eth26/2 25 50000
Ethernet104 25,26 Eth27/1 Ethernet104 25,26 Eth27/1 26 50000
Ethernet106 27,28 Eth27/2 Ethernet106 27,28 Eth27/2 26 50000
Ethernet108 29,30 Eth28/1 Ethernet108 29,30 Eth28/1 27 50000
Ethernet110 31,32 Eth28/2 Ethernet110 31,32 Eth28/2 27 50000
Ethernet112 113,114 Eth29/1 Ethernet112 113,114 Eth29/1 28 50000
Ethernet114 115,116 Eth29/2 Ethernet114 115,116 Eth29/2 28 50000
Ethernet116 117,118 Eth30/1 Ethernet116 117,118 Eth30/1 29 50000
Ethernet118 119,120 Eth30/2 Ethernet118 119,120 Eth30/2 29 50000
Ethernet120 121,122 Eth31/1 Ethernet120 121,122 Eth31/1 30 50000
Ethernet122 123,124 Eth31/2 Ethernet122 123,124 Eth31/2 30 50000
Ethernet124 125,126 Eth32/1 Ethernet124 125,126 Eth32/1 31 50000
Ethernet126 127,128 Eth32/2 Ethernet126 127,128 Eth32/2 31 50000

View File

@ -1,65 +1,65 @@
# name lanes alias # name lanes alias index speed
Ethernet0 65,66 Eth1/1 Ethernet0 65,66 Eth1/1 0 50000
Ethernet2 67,68 Eth1/2 Ethernet2 67,68 Eth1/2 0 50000
Ethernet4 69,70 Eth2/1 Ethernet4 69,70 Eth2/1 1 50000
Ethernet6 71,72 Eth2/2 Ethernet6 71,72 Eth2/2 1 50000
Ethernet8 73,74 Eth3/1 Ethernet8 73,74 Eth3/1 2 50000
Ethernet10 75,76 Eth3/2 Ethernet10 75,76 Eth3/2 2 50000
Ethernet12 77,78 Eth4/1 Ethernet12 77,78 Eth4/1 3 50000
Ethernet14 79,80 Eth4/2 Ethernet14 79,80 Eth4/2 3 50000
Ethernet16 33,34 Eth5/1 Ethernet16 33,34 Eth5/1 4 50000
Ethernet18 35,36 Eth5/2 Ethernet18 35,36 Eth5/2 4 50000
Ethernet20 37,38 Eth6/1 Ethernet20 37,38 Eth6/1 5 50000
Ethernet22 39,40 Eth6/2 Ethernet22 39,40 Eth6/2 5 50000
Ethernet24 41,42 Eth7/1 Ethernet24 41,42 Eth7/1 6 50000
Ethernet26 43,44 Eth7/2 Ethernet26 43,44 Eth7/2 6 50000
Ethernet28 45,46 Eth8/1 Ethernet28 45,46 Eth8/1 7 50000
Ethernet30 47,48 Eth8/2 Ethernet30 47,48 Eth8/2 7 50000
Ethernet32 49,50 Eth9/1 Ethernet32 49,50 Eth9/1 8 50000
Ethernet34 51,52 Eth9/2 Ethernet34 51,52 Eth9/2 8 50000
Ethernet36 53,54 Eth10/1 Ethernet36 53,54 Eth10/1 9 50000
Ethernet38 55,56 Eth10/2 Ethernet38 55,56 Eth10/2 9 50000
Ethernet40 57,58 Eth11/1 Ethernet40 57,58 Eth11/1 10 50000
Ethernet42 59,60 Eth11/2 Ethernet42 59,60 Eth11/2 10 50000
Ethernet44 61,62 Eth12/1 Ethernet44 61,62 Eth12/1 11 50000
Ethernet46 63,64 Eth12/2 Ethernet46 63,64 Eth12/2 11 50000
Ethernet48 81,82 Eth13/1 Ethernet48 81,82 Eth13/1 12 50000
Ethernet50 83,84 Eth13/2 Ethernet50 83,84 Eth13/2 12 50000
Ethernet52 85,86 Eth14/1 Ethernet52 85,86 Eth14/1 13 50000
Ethernet54 87,88 Eth14/2 Ethernet54 87,88 Eth14/2 13 50000
Ethernet56 89,90 Eth15/1 Ethernet56 89,90 Eth15/1 14 50000
Ethernet58 91,92 Eth15/2 Ethernet58 91,92 Eth15/2 14 50000
Ethernet60 93,94 Eth16/1 Ethernet60 93,94 Eth16/1 15 50000
Ethernet62 95,96 Eth16/2 Ethernet62 95,96 Eth16/2 15 50000
Ethernet64 97,98 Eth17/1 Ethernet64 97,98 Eth17/1 16 50000
Ethernet66 99,100 Eth17/2 Ethernet66 99,100 Eth17/2 16 50000
Ethernet68 101,102 Eth18/1 Ethernet68 101,102 Eth18/1 17 50000
Ethernet70 103,104 Eth18/2 Ethernet70 103,104 Eth18/2 17 50000
Ethernet72 105,106 Eth19/1 Ethernet72 105,106 Eth19/1 18 50000
Ethernet74 107,108 Eth19/2 Ethernet74 107,108 Eth19/2 18 50000
Ethernet76 109,110 Eth20/1 Ethernet76 109,110 Eth20/1 19 50000
Ethernet78 111,112 Eth20/2 Ethernet78 111,112 Eth20/2 19 50000
Ethernet80 1,2 Eth21/1 Ethernet80 1,2 Eth21/1 20 50000
Ethernet82 3,4 Eth21/2 Ethernet82 3,4 Eth21/2 20 50000
Ethernet84 5,6 Eth22/1 Ethernet84 5,6 Eth22/1 21 50000
Ethernet86 7,8 Eth22/2 Ethernet86 7,8 Eth22/2 21 50000
Ethernet88 9,10 Eth23/1 Ethernet88 9,10 Eth23/1 22 50000
Ethernet90 11,12 Eth23/2 Ethernet90 11,12 Eth23/2 22 50000
Ethernet92 13,14 Eth24/1 Ethernet92 13,14 Eth24/1 23 50000
Ethernet94 15,16 Eth24/2 Ethernet94 15,16 Eth24/2 23 50000
Ethernet96 17,18 Eth25/1 Ethernet96 17,18 Eth25/1 24 50000
Ethernet98 19,20 Eth25/2 Ethernet98 19,20 Eth25/2 24 50000
Ethernet100 21,22 Eth26/1 Ethernet100 21,22 Eth26/1 25 50000
Ethernet102 23,24 Eth26/2 Ethernet102 23,24 Eth26/2 25 50000
Ethernet104 25,26 Eth27/1 Ethernet104 25,26 Eth27/1 26 50000
Ethernet106 27,28 Eth27/2 Ethernet106 27,28 Eth27/2 26 50000
Ethernet108 29,30 Eth28/1 Ethernet108 29,30 Eth28/1 27 50000
Ethernet110 31,32 Eth28/2 Ethernet110 31,32 Eth28/2 27 50000
Ethernet112 113,114 Eth29/1 Ethernet112 113,114 Eth29/1 28 50000
Ethernet114 115,116 Eth29/2 Ethernet114 115,116 Eth29/2 28 50000
Ethernet116 117,118 Eth30/1 Ethernet116 117,118 Eth30/1 29 50000
Ethernet118 119,120 Eth30/2 Ethernet118 119,120 Eth30/2 29 50000
Ethernet120 121,122 Eth31/1 Ethernet120 121,122 Eth31/1 30 50000
Ethernet122 123,124 Eth31/2 Ethernet122 123,124 Eth31/2 30 50000
Ethernet124 125,126 Eth32/1 Ethernet124 125,126 Eth32/1 31 50000
Ethernet126 127,128 Eth32/2 Ethernet126 127,128 Eth32/2 31 50000

View File

@ -1,33 +1,33 @@
# name lanes alias # name lanes alias index speed
Ethernet0 65,66,67,68 Eth1 Ethernet0 65,66,67,68 Eth1 0 100000
Ethernet4 69,70,71,72 Eth2 Ethernet4 69,70,71,72 Eth2 1 100000
Ethernet8 73,74,75,76 Eth3 Ethernet8 73,74,75,76 Eth3 2 100000
Ethernet12 77,78,79,80 Eth4 Ethernet12 77,78,79,80 Eth4 3 100000
Ethernet16 33,34,35,36 Eth5 Ethernet16 33,34,35,36 Eth5 4 100000
Ethernet20 37,38,39,40 Eth6 Ethernet20 37,38,39,40 Eth6 5 100000
Ethernet24 41,42,43,44 Eth7 Ethernet24 41,42,43,44 Eth7 6 100000
Ethernet28 45,46,47,48 Eth8 Ethernet28 45,46,47,48 Eth8 7 100000
Ethernet32 49,50,51,52 Eth9 Ethernet32 49,50,51,52 Eth9 8 100000
Ethernet36 53,54,55,56 Eth10 Ethernet36 53,54,55,56 Eth10 9 100000
Ethernet40 57,58,59,60 Eth11 Ethernet40 57,58,59,60 Eth11 10 100000
Ethernet44 61,62,63,64 Eth12 Ethernet44 61,62,63,64 Eth12 11 100000
Ethernet48 81,82,83,84 Eth13 Ethernet48 81,82,83,84 Eth13 12 100000
Ethernet52 85,86,87,88 Eth14 Ethernet52 85,86,87,88 Eth14 13 100000
Ethernet56 89,90,91,92 Eth15 Ethernet56 89,90,91,92 Eth15 14 100000
Ethernet60 93,94,95,96 Eth16 Ethernet60 93,94,95,96 Eth16 15 100000
Ethernet64 97,98,99,100 Eth17 Ethernet64 97,98,99,100 Eth17 16 100000
Ethernet68 101,102,103,104 Eth18 Ethernet68 101,102,103,104 Eth18 17 100000
Ethernet72 105,106,107,108 Eth19 Ethernet72 105,106,107,108 Eth19 18 100000
Ethernet76 109,110,111,112 Eth20 Ethernet76 109,110,111,112 Eth20 19 100000
Ethernet80 1,2,3,4 Eth21 Ethernet80 1,2,3,4 Eth21 20 100000
Ethernet84 5,6,7,8 Eth22 Ethernet84 5,6,7,8 Eth22 21 100000
Ethernet88 9,10,11,12 Eth23 Ethernet88 9,10,11,12 Eth23 22 100000
Ethernet92 13,14,15,16 Eth24 Ethernet92 13,14,15,16 Eth24 23 100000
Ethernet96 17,18,19,20 Eth25 Ethernet96 17,18,19,20 Eth25 24 100000
Ethernet100 21,22,23,24 Eth26 Ethernet100 21,22,23,24 Eth26 25 100000
Ethernet104 25,26,27,28 Eth27 Ethernet104 25,26,27,28 Eth27 26 100000
Ethernet108 29,30,31,32 Eth28 Ethernet108 29,30,31,32 Eth28 27 100000
Ethernet112 113,114,115,116 Eth29 Ethernet112 113,114,115,116 Eth29 28 100000
Ethernet116 117,118,119,120 Eth30 Ethernet116 117,118,119,120 Eth30 29 100000
Ethernet120 121,122,123,124 Eth31 Ethernet120 121,122,123,124 Eth31 30 100000
Ethernet124 125,126,127,128 Eth32 Ethernet124 125,126,127,128 Eth32 31 100000

View File

@ -0,0 +1,102 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#
import os.path
try:
from sonic_psu.psu_base import PsuBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class PsuUtil(PsuBase):
"""Platform-specific PSUutil class"""
def __init__(self):
PsuBase.__init__(self)
# DX010 PSU pin mapping
self.psu = [
{'base':216}, # Reserved
{'abs':27, 'power':22},
{'abs':28, 'power':25}
]
def init_psu_gpio(self, pinnum):
# export pin, input as default
gpio_base = self.psu[0]['base']
export_file = "/sys/class/gpio/export"
direction_file = '/sys/class/gpio/gpio' + str(gpio_base+pinnum) + '/direction'
try:
with open(export_file, 'w') as fd:
fd.write(str(gpio_base+pinnum))
except Exception as error:
logging.error("Unable to export gpio ", pinnum)
# Get a psu status and presence
def read_psu_statuses(self, pinnum):
sys_gpio_dir = "/sys/class/gpio"
retval = 'ERR'
gpio_base = self.psu[0]['base']
gpio_dir = sys_gpio_dir + '/gpio' + str(gpio_base+pinnum)
gpio_file = gpio_dir + "/value"
# init gpio
if (not os.path.isdir(gpio_dir)):
self.init_psu_gpio(pinnum)
try:
with open(gpio_file, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", gpio_file, "file !")
retval = retval.rstrip('\r\n')
return retval
def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
DX010_MAX_PSUS = 2
return DX010_MAX_PSUS
def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
psu_status = self.read_psu_statuses(self.psu[index]['power'])
if (psu_status != 'ERR'):
psu_status = int(psu_status, 10)
# Check for PSU status
if (psu_status == 1):
status = 1
return status
def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
psu_absence = self.read_psu_statuses(self.psu[index]['abs'])
if (psu_absence != 'ERR'):
psu_absence = (int(psu_absence, 10))
# Check for PSU presence
if (psu_absence == 0):
status = 1
return status

View File

@ -62,3 +62,17 @@ chip "dx010_lm75b-i2c-*-4e"
label temp1 "Rear-panel temp sensor 2" label temp1 "Rear-panel temp sensor 2"
set temp1_max 43 set temp1_max 43
set temp1_max_hyst 28 set temp1_max_hyst 28
chip "emc2305-i2c-*-2e"
label fan2 "fan1"
label fan1 "fan2"
label fan4 "fan3"
label fan5 "fan4"
label fan3 "fan5"
chip "emc2305-i2c-*-4d"
label fan2 "fan1"
label fan4 "fan2"
label fan5 "fan3"
label fan3 "fan4"
label fan1 "fan5"

View File

@ -1,55 +1,33 @@
# name lanes # name lanes
Ethernet1 1 Ethernet0 1
Ethernet2 2 Ethernet4 2
Ethernet3 3 Ethernet8 3
Ethernet4 4 Ethernet12 4
Ethernet5 5 Ethernet16 5
Ethernet6 6 Ethernet20 6
Ethernet7 7 Ethernet24 7
Ethernet8 8 Ethernet28 8
Ethernet9 9 Ethernet32 9
Ethernet10 10 Ethernet36 10
Ethernet11 11 Ethernet40 11
Ethernet12 12 Ethernet44 12
Ethernet13 13 Ethernet48 13
Ethernet14 14 Ethernet52 14
Ethernet15 15 Ethernet56 15
Ethernet16 16 Ethernet60 16
Ethernet17 17 Ethernet64 17
Ethernet18 18 Ethernet68 18
Ethernet19 19 Ethernet72 19
Ethernet20 20 Ethernet76 20
Ethernet21 21 Ethernet80 21
Ethernet22 22 Ethernet84 22
Ethernet23 23 Ethernet88 23
Ethernet24 24 Ethernet92 24
Ethernet25 25 Ethernet96 25
Ethernet26 26 Ethernet100 26
Ethernet27 27 Ethernet104 27
Ethernet28 28 Ethernet108 28
Ethernet29 29 Ethernet112 29
Ethernet30 30 Ethernet116 30
Ethernet31 31 Ethernet120 31
Ethernet32 32 Ethernet124 32
Ethernet33 33
Ethernet34 34
Ethernet35 35
Ethernet36 36
Ethernet37 37
Ethernet38 38
Ethernet39 39
Ethernet40 40
Ethernet41 41
Ethernet42 42
Ethernet43 43
Ethernet44 44
Ethernet45 45
Ethernet46 46
Ethernet47 47
Ethernet48 48
Ethernet49 49
Ethernet50 50
Ethernet51 51
Ethernet52 52
Ethernet53 53
Ethernet54 54

View File

@ -1,10 +0,0 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon0= hwmon5=devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-15/15-002f
DEVNAME=hwmon0=acpitz hwmon5=adt7470
FCTEMPS=hwmon5/device/pwm4=hwmon0/temp1_input hwmon5/device/pwm3=hwmon0/temp1_input hwmon5/device/pwm2=hwmon0/temp1_input hwmon5/device/pwm1=hwmon0/temp1_input
FCFANS=hwmon5/device/pwm4=hwmon5/device/fan4_input hwmon5/device/pwm3=hwmon5/device/fan3_input hwmon5/device/pwm2=hwmon5/device/fan2_input+hwmon5/device/fan1_input hwmon5/device/pwm1=hwmon5/device/fan1_input
MINTEMP=hwmon5/device/pwm4=20 hwmon5/device/pwm3=20 hwmon5/device/pwm2=20 hwmon5/device/pwm1=20
MAXTEMP=hwmon5/device/pwm4=60 hwmon5/device/pwm3=60 hwmon5/device/pwm2=60 hwmon5/device/pwm1=60
MINSTART=hwmon5/device/pwm4=150 hwmon5/device/pwm3=150 hwmon5/device/pwm2=150 hwmon5/device/pwm1=150
MINSTOP=hwmon5/device/pwm4=0 hwmon5/device/pwm3=0 hwmon5/device/pwm2=0 hwmon5/device/pwm1=0

View File

@ -1,2 +1 @@
CONSOLE_SPEED=115200 CONSOLE_SPEED=115200
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=no"

View File

@ -1,5 +1,5 @@
<DeviceMiniGraph xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="Microsoft.Search.Autopilot.Evolution"> <DeviceMiniGraph xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="Microsoft.Search.Autopilot.Evolution">
<CpgDec> <CpgDec>
<IsisRouters xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/> <IsisRouters xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
<PeeringSessions> <PeeringSessions>
<BGPSession> <BGPSession>
@ -645,23 +645,163 @@
<IPInterfaces> <IPInterfaces>
<IPInterface> <IPInterface>
<Name i:Name="true"/> <Name i:Name="true"/>
<AttachTo>Ethernet1</AttachTo> <AttachTo>Ethernet0</AttachTo>
<Prefix>192.168.1.0/24</Prefix> <Prefix>10.0.0.0/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet2</AttachTo>
<Prefix>192.168.2.0/24</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet3</AttachTo>
<Prefix>192.168.3.0/24</Prefix>
</IPInterface> </IPInterface>
<IPInterface> <IPInterface>
<Name i:Name="true"/> <Name i:Name="true"/>
<AttachTo>Ethernet4</AttachTo> <AttachTo>Ethernet4</AttachTo>
<Prefix>192.168.4.0/24</Prefix> <Prefix>10.0.0.2/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet8</AttachTo>
<Prefix>10.0.0.4/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet12</AttachTo>
<Prefix>10.0.0.6/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet16</AttachTo>
<Prefix>10.0.0.8/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet20</AttachTo>
<Prefix>10.0.0.10/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet24</AttachTo>
<Prefix>10.0.0.12/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet28</AttachTo>
<Prefix>10.0.0.14/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet32</AttachTo>
<Prefix>10.0.0.16/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet36</AttachTo>
<Prefix>10.0.0.18/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet40</AttachTo>
<Prefix>10.0.0.20/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet44</AttachTo>
<Prefix>10.0.0.22/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet48</AttachTo>
<Prefix>10.0.0.24/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet52</AttachTo>
<Prefix>10.0.0.26/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet56</AttachTo>
<Prefix>10.0.0.28/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet60</AttachTo>
<Prefix>10.0.0.30/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet64</AttachTo>
<Prefix>10.0.0.32/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet68</AttachTo>
<Prefix>10.0.0.34/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet72</AttachTo>
<Prefix>10.0.0.36/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet76</AttachTo>
<Prefix>10.0.0.38/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet80</AttachTo>
<Prefix>10.0.0.40/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet84</AttachTo>
<Prefix>10.0.0.42/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet88</AttachTo>
<Prefix>10.0.0.44/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet92</AttachTo>
<Prefix>10.0.0.46/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet96</AttachTo>
<Prefix>10.0.0.48/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet100</AttachTo>
<Prefix>10.0.0.50/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet104</AttachTo>
<Prefix>10.0.0.52/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet108</AttachTo>
<Prefix>10.0.0.54/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet112</AttachTo>
<Prefix>10.0.0.56/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet116</AttachTo>
<Prefix>10.0.0.58/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet120</AttachTo>
<Prefix>10.0.0.60/31</Prefix>
</IPInterface>
<IPInterface>
<Name i:Name="true"/>
<AttachTo>Ethernet124</AttachTo>
<Prefix>10.0.0.62/31</Prefix>
</IPInterface> </IPInterface>
</IPInterfaces> </IPInterfaces>
<DataAcls/> <DataAcls/>

View File

@ -1,31 +0,0 @@
#!/usr/bin/env python
#############################################################################
# Centec E582-48X6Q
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
import exceptions
import binascii
import time
import optparse
import warnings
import os
import sys
import subprocess
from sonic_eeprom import eeprom_base
from sonic_eeprom import eeprom_tlvinfo
except ImportError, e:
raise ImportError (str(e) + "- required module not found")
class board(eeprom_tlvinfo.TlvInfoDecoder):
def __init__(self, name, path, cpld_root, ro):
self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0057/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)

View File

@ -127,35 +127,23 @@
} }
}, },
"WRED_PROFILE": { "WRED_PROFILE": {
"AZURE_LOSSY" : {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"512000",
"red_min_threshold":"512000",
"yellow_max_threshold":"512000",
"yellow_min_threshold":"512000",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS" : { "AZURE_LOSSLESS" : {
"wred_green_enable":"true", "wred_green_enable":"true",
"wred_yellow_enable":"true", "wred_yellow_enable":"true",
"wred_red_enable":"true",
"ecn":"ecn_all", "ecn":"ecn_all",
"red_max_threshold":"512000", "red_max_threshold":"312000",
"red_min_threshold":"512000", "red_min_threshold":"104000",
"yellow_max_threshold":"512000", "yellow_max_threshold":"312000",
"yellow_min_threshold":"512000", "yellow_min_threshold":"104000",
"green_max_threshold": "184320", "green_max_threshold": "312000",
"green_min_threshold": "184320" "green_min_threshold": "104000"
} }
}, },
"QUEUE": { "QUEUE": {
"Ethernet0,Ethernet1,Ethernet2,Ethernet3,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet18,Ethernet19,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet33,Ethernet34,Ethernet35,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet43,Ethernet44,Ethernet45,Ethernet46,Ethernet47,Ethernet48,Ethernet49,Ethernet50,Ethernet51,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58,Ethernet59,Ethernet60,Ethernet61,Ethernet62,Ethernet63|0-1" : {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet0,Ethernet1,Ethernet2,Ethernet3,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet18,Ethernet19,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet33,Ethernet34,Ethernet35,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet43,Ethernet44,Ethernet45,Ethernet46,Ethernet47,Ethernet48,Ethernet49,Ethernet50,Ethernet51,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58,Ethernet59,Ethernet60,Ethernet61,Ethernet62,Ethernet63|3-4" : { "Ethernet0,Ethernet1,Ethernet2,Ethernet3,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet18,Ethernet19,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet33,Ethernet34,Ethernet35,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet43,Ethernet44,Ethernet45,Ethernet46,Ethernet47,Ethernet48,Ethernet49,Ethernet50,Ethernet51,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58,Ethernet59,Ethernet60,Ethernet61,Ethernet62,Ethernet63|3-4" : {
"scheduler" : "[SCHEDULER|scheduler.0]" "scheduler" : "[SCHEDULER|scheduler.0]",
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]"
}, },
"Ethernet0,Ethernet1,Ethernet2,Ethernet3,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet18,Ethernet19,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet33,Ethernet34,Ethernet35,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet43,Ethernet44,Ethernet45,Ethernet46,Ethernet47,Ethernet48,Ethernet49,Ethernet50,Ethernet51,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58,Ethernet59,Ethernet60,Ethernet61,Ethernet62,Ethernet63|0" : { "Ethernet0,Ethernet1,Ethernet2,Ethernet3,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet18,Ethernet19,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet33,Ethernet34,Ethernet35,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet43,Ethernet44,Ethernet45,Ethernet46,Ethernet47,Ethernet48,Ethernet49,Ethernet50,Ethernet51,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58,Ethernet59,Ethernet60,Ethernet61,Ethernet62,Ethernet63|0" : {
"scheduler" : "[SCHEDULER|scheduler.1]" "scheduler" : "[SCHEDULER|scheduler.1]"

View File

@ -0,0 +1,2 @@
{%- set default_topo = 't0' %}
{%- include 'buffers_config.j2' %}

View File

@ -0,0 +1,61 @@
{%- set default_cable = '5m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,6) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(10,26) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(30,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(6,10) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(26,30) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "11213696",
"type": "ingress",
"mode": "dynamic",
"xoff": "8356608"
},
"egress_lossy_pool": {
"size": "9532224",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "15982720",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"1518",
"static_th":"3995680"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 1248 2288 35776 -4 2288
25000 5m 1248 2288 53248 -4 2288
40000 5m 1248 2288 66560 -4 2288
50000 5m 1248 2288 79872 -4 2288
100000 5m 1248 2288 165568 -4 2288
10000 40m 1248 2288 37024 -4 2288
25000 40m 1248 2288 56160 -4 2288
40000 40m 1248 2288 71552 -4 2288
50000 40m 1248 2288 85696 -4 2288
100000 40m 1248 2288 177632 -4 2288
10000 300m 1248 2288 46176 -4 2288
25000 300m 1248 2288 79040 -4 2288
40000 300m 1248 2288 108160 -4 2288
50000 300m 1248 2288 131456 -4 2288
100000 300m 1248 2288 268736 -4 2288

View File

@ -0,0 +1,57 @@
# name lanes alias index speed
Ethernet0 49,50 fiftyGigE1/1/1 1 50000
Ethernet2 51,52 fiftyGigE1/1/2 1 50000
Ethernet4 53,54 fiftyGigE1/2/1 2 50000
Ethernet6 55,56 fiftyGigE1/2/2 2 50000
Ethernet8 57,58 fiftyGigE1/3/1 3 50000
Ethernet10 59,60 fiftyGigE1/3/2 3 50000
Ethernet12 61,62 fiftyGigE1/4/1 4 50000
Ethernet14 63,64 fiftyGigE1/4/2 4 50000
Ethernet16 65,66 fiftyGigE1/5/1 5 50000
Ethernet18 67,68 fiftyGigE1/5/2 5 50000
Ethernet20 69,70 fiftyGigE1/6/1 6 50000
Ethernet22 71,72 fiftyGigE1/6/2 6 50000
Ethernet24 73,74,75,76 hundredGigE1/7 7 100000
Ethernet28 77,78,79,80 hundredGigE1/8 8 100000
Ethernet32 37,38,39,40 hundredGigE1/9 9 100000
Ethernet36 33,34,35,36 hundredGigE1/10 10 100000
Ethernet40 45,46 fiftyGigE1/11/1 11 50000
Ethernet42 47,48 fiftyGigE1/11/2 11 50000
Ethernet44 41,42 fiftyGigE1/12/1 12 50000
Ethernet46 43,44 fiftyGigE1/12/2 12 50000
Ethernet48 81,82 fiftyGigE1/13/1 13 50000
Ethernet50 83,84 fiftyGigE1/13/2 13 50000
Ethernet52 85,86 fiftyGigE1/14/1 14 50000
Ethernet54 87,88 fiftyGigE1/14/2 14 50000
Ethernet56 89,90 fiftyGigE1/15/1 15 50000
Ethernet58 91,92 fiftyGigE1/15/2 15 50000
Ethernet60 93,94 fiftyGigE1/16/1 16 50000
Ethernet62 95,96 fiftyGigE1/16/2 16 50000
Ethernet64 97,98 fiftyGigE1/17/1 17 50000
Ethernet66 99,100 fiftyGigE1/17/2 17 50000
Ethernet68 101,102 fiftyGigE1/18/1 18 50000
Ethernet70 103,104 fiftyGigE1/18/2 18 50000
Ethernet72 105,106 fiftyGigE1/19/1 19 50000
Ethernet74 107,108 fiftyGigE1/19/2 19 50000
Ethernet76 109,110 fiftyGigE1/20/1 20 50000
Ethernet78 111,112 fiftyGigE1/20/2 20 50000
Ethernet80 21,22 fiftyGigE1/21/1 21 50000
Ethernet82 23,24 fiftyGigE1/21/2 21 50000
Ethernet84 17,18 fiftyGigE1/22/1 22 50000
Ethernet86 19,20 fiftyGigE1/22/2 22 50000
Ethernet88 29,30 fiftyGigE1/23/1 23 50000
Ethernet90 31,32 fiftyGigE1/23/2 23 50000
Ethernet92 25,26 fiftyGigE1/24/1 24 50000
Ethernet94 27,28 fiftyGigE1/24/2 24 50000
Ethernet96 117,118 fiftyGigE1/25/1 25 50000
Ethernet98 119,120 fiftyGigE1/25/2 25 50000
Ethernet100 113,114 fiftyGigE1/26/1 26 50000
Ethernet102 115,116 fiftyGigE1/26/2 26 50000
Ethernet104 125,126,127,128 hundredGigE1/27 27 100000
Ethernet108 121,122,123,124 hundredGigE1/28 28 100000
Ethernet112 5,6,7,8 hundredGigE1/29 29 100000
Ethernet116 1,2,3,4 hundredGigE1/30 30 100000
Ethernet120 13,14 fiftyGigE1/31/1 31 50000
Ethernet122 15,16 fiftyGigE1/31/2 31 50000
Ethernet124 9,10 fiftyGigE1/32/1 32 50000
Ethernet126 11,12 fiftyGigE1/32/2 32 50000

View File

@ -0,0 +1,167 @@
{
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"SCHEDULER": {
"scheduler.0" : {
"type":"DWRR",
"weight": "25"
},
"scheduler.1" : {
"type":"DWRR",
"weight": "30"
},
"scheduler.2" : {
"type":"DWRR",
"weight": "20"
}
},
"PORT_QOS_MAP": {
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSY" : {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"512000",
"red_min_threshold":"512000",
"yellow_max_threshold":"512000",
"yellow_min_threshold":"512000",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS" : {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"512000",
"red_min_threshold":"512000",
"yellow_max_threshold":"512000",
"yellow_min_threshold":"512000",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
}
},
"QUEUE": {
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|0-1": {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|3-4": {
"scheduler" : "[SCHEDULER|scheduler.0]"
},
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|0": {
"scheduler" : "[SCHEDULER|scheduler.1]"
},
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|1": {
"scheduler" : "[SCHEDULER|scheduler.2]"
}
}
}

View File

@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th-z9100-8x100G-48x50G.config.bcm

View File

@ -0,0 +1,377 @@
phy_xaui_rx_polarity_flip_103.0=0x0
phy_xaui_tx_polarity_flip_9.0=0x3
dport_map_port_72.0=21
dport_map_port_46.0=41
xgxs_rx_lane_map_102.0=0x3201
xgxs_rx_lane_map_103.0=0x3201
xgxs_tx_lane_map_110.0=0x132
xgxs_tx_lane_map_111.0=0x132
portmap_55.0=55:50:2
portmap_29.0=29:50:2
portmap_102.0=97:50:2
dport_map_port_55.0=6
l2xmsg_hostbuf_size.0=8192
l3_mem_entries.0=73728
dport_map_port_29.0=89
portmap_10.0=11:50:2
xgxs_rx_lane_map_68.0=0x3201
xgxs_tx_lane_map_68.0=0x3210
xgxs_rx_lane_map_69.0=0x3201
xgxs_tx_lane_map_69.0=0x3210
dport_map_port_119.0=102
portmap_38.0=37:100
dport_map_port_10.0=126
portmap_111.0=107:50:2
dport_map_port_38.0=33
phy_xaui_tx_polarity_flip_119.0=0x0
dport_map_port_100.0=130
module_64ports.0=0
portmap_73.0=71:50:2
xgxs_tx_lane_map_102.0=0x123
xgxs_tx_lane_map_103.0=0x123
portmap_47.0=47:50:2
phy_xaui_rx_polarity_flip_69.0=0x3
phy_xaui_tx_polarity_flip_100.0=0x6
phy_xaui_rx_polarity_flip_130.0=0x4
dport_map_port_73.0=22
dport_map_port_47.0=42
phy_xaui_rx_polarity_flip_50.0=0x0
phy_xaui_tx_polarity_flip_92.0=0x1
phy_xaui_tx_polarity_flip_66.0=0x6
portmap_5.0=5:100
portmap_103.0=99:50:2
phy_xaui_tx_polarity_flip_21.0=0x3
tdma_intr_enable.0=1
phy_xaui_rx_polarity_flip_122.0=0x0
ipv6_lpm_128b_enable.0=0
xgxs_rx_lane_map_50.0=0x1023
xgxs_tx_lane_map_50.0=0x132
xgxs_rx_lane_map_51.0=0x1023
xgxs_tx_lane_map_51.0=0x132
phy_xaui_tx_polarity_flip_30.0=0x2
phy_xaui_rx_polarity_flip_42.0=0x3
phy_xaui_tx_polarity_flip_84.0=0x2
phy_xaui_rx_polarity_flip_96.0=0x3
phy_xaui_tx_polarity_flip_58.0=0x2
stat_if_parity_enable.0=1
dport_map_port_110.0=73
phy_xaui_rx_polarity_flip_51.0=0x3
phy_xaui_tx_polarity_flip_13.0=0x0
phy_xaui_rx_polarity_flip_25.0=0x2
oversubscribe_mode=1
xgxs_rx_lane_map_130.0=0x1023
phy_xaui_tx_polarity_flip_93.0=0x1
phy_xaui_tx_polarity_flip_110.0=0x3
phy_xaui_rx_polarity_flip_114.0=0x0
portmap_130.0=125:100
xgxs_rx_lane_map_42.0=0x3210
xgxs_tx_lane_map_42.0=0x132
xgxs_rx_lane_map_43.0=0x3210
xgxs_tx_lane_map_43.0=0x132
phy_xaui_tx_polarity_flip_22.0=0x3
phy_xaui_rx_polarity_flip_34.0=0xa
xgxs_rx_lane_map_96.0=0x3210
xgxs_tx_lane_map_96.0=0x123
xgxs_rx_lane_map_97.0=0x3210
xgxs_tx_lane_map_97.0=0x123
portmap_92.0=89:50:2
phy_xaui_tx_polarity_flip_76.0=0x0
portmap_66.0=129:10
phy_xaui_rx_polarity_flip_88.0=0x1
phy_xaui_tx_polarity_flip_1.0=0x3
phy_xaui_rx_polarity_flip_123.0=0x3
bcm_tunnel_term_compatible_mode.0=1
dport_map_port_92.0=57
dport_map_port_66.0=129
xgxs_rx_lane_map_25.0=0x2310
xgxs_tx_lane_map_25.0=0x2130
xgxs_rx_lane_map_26.0=0x2310
xgxs_tx_lane_map_26.0=0x2130
dport_map_port_102.0=65
portmap_21.0=21:50:2
phy_xaui_rx_polarity_flip_43.0=0x3
table_dma_enable.0=1
phy_xaui_rx_polarity_flip_17.0=0x1
xgxs_rx_lane_map_122.0=0x3201
xgxs_rx_lane_map_123.0=0x3201
phy_xaui_tx_polarity_flip_85.0=0x1
xgxs_tx_lane_map_130.0=0x132
phy_xaui_rx_polarity_flip_97.0=0x2
phy_xaui_tx_polarity_flip_59.0=0x2
dport_map_port_21.0=81
phy_xaui_tx_polarity_flip_102.0=0x3
phy_xaui_rx_polarity_flip_106.0=0x1
portmap_122.0=117:50:2
xgxs_rx_lane_map_34.0=0x1302
xgxs_tx_lane_map_34.0=0x2031
dport_map_port_111.0=74
portmap_30.0=31:50:2
phy_xaui_tx_polarity_flip_14.0=0x3
phy_xaui_rx_polarity_flip_26.0=0x0
xgxs_rx_lane_map_88.0=0x213
xgxs_rx_lane_map_89.0=0x213
dport_map_port_9.0=125
xgxs_tx_lane_map_88.0=0x1032
xgxs_tx_lane_map_89.0=0x1032
xgxs_tx_lane_map_5.0=0x213
portmap_84.0=81:50:2
phy_xaui_tx_polarity_flip_68.0=0x2
portmap_58.0=57:50:2
dport_map_port_30.0=90
phy_xaui_tx_polarity_flip_111.0=0x3
phy_xaui_rx_polarity_flip_115.0=0x0
dport_map_port_84.0=49
dport_map_port_58.0=9
xgxs_rx_lane_map_17.0=0x2103
xgxs_tx_lane_map_17.0=0x3102
xgxs_rx_lane_map_18.0=0x2103
xgxs_tx_lane_map_18.0=0x3102
portmap_13.0=13:50:2
xgxs_rx_lane_map_114.0=0x3210
xgxs_rx_lane_map_115.0=0x3210
portmap_93.0=91:50:2
xgxs_tx_lane_map_122.0=0x2310
xgxs_tx_lane_map_123.0=0x2310
phy_xaui_rx_polarity_flip_89.0=0x3
dport_map_port_13.0=121
schan_intr_enable.0=0
portmap_114.0=109:50:2
dport_map_port_93.0=58
dport_map_port_103.0=66
portmap_22.0=23:50:2
phy_xaui_rx_polarity_flip_18.0=0x1
xgxs_rx_lane_map_5.0=0x1203
portmap_76.0=73:100
phy_xaui_rx_polarity_flip_5.0=0x7
dport_map_port_22.0=82
phy_xaui_tx_polarity_flip_103.0=0x3
phy_xaui_rx_polarity_flip_107.0=0x3
portmap_123.0=119:50:2
os.0=unix
dport_map_port_76.0=25
parity_enable.0=1
xgxs_rx_lane_map_106.0=0x213
xgxs_rx_lane_map_107.0=0x213
portmap_85.0=83:50:2
phy_xaui_tx_polarity_flip_69.0=0x0
xgxs_tx_lane_map_114.0=0x123
xgxs_tx_lane_map_115.0=0x123
portmap_59.0=59:50:2
pbmp_oversubscribe.0=0x3fffffffdffffffff7fffffffdfffffffe
portmap_106.0=101:50:2
dport_map_port_85.0=50
dport_map_port_59.0=10
tdma_timeout_usec=1000000
phy_xaui_tx_polarity_flip_50.0=0x2
phy_xaui_rx_polarity_flip_62.0=0x3
portmap_14.0=15:50:2
portmap_68.0=65:50:2
dport_map_port_14.0=122
portmap_115.0=111:50:2
dport_map_port_68.0=17
dport_map_port_130.0=105
xgxs_tx_lane_map_106.0=0x123
xgxs_tx_lane_map_107.0=0x123
lls_num_l2uc.0=10
phy_xaui_tx_polarity_flip_130.0=0xb
os=unix
xgxs_rx_lane_map_62.0=0x1302
xgxs_tx_lane_map_62.0=0x3201
xgxs_rx_lane_map_63.0=0x1302
xgxs_tx_lane_map_63.0=0x3201
phy_xaui_rx_polarity_flip_80.0=0xd
phy_xaui_tx_polarity_flip_42.0=0x2
phy_xaui_rx_polarity_flip_54.0=0x1
phy_xaui_tx_polarity_flip_96.0=0x0
miim_intr_enable.0=0
portmap_9.0=9:50:2
portmap_107.0=103:50:2
dport_map_port_122.0=97
phy_xaui_tx_polarity_flip_51.0=0x3
phy_xaui_rx_polarity_flip_63.0=0x3
phy_xaui_tx_polarity_flip_25.0=0x2
portmap_69.0=67:50:2
phy_xaui_tx_polarity_flip_122.0=0x3
phy_xaui_rx_polarity_flip_126.0=0x7
xgxs_rx_lane_map_80.0=0x2301
dport_map_port_69.0=18
xgxs_rx_lane_map_54.0=0x1302
xgxs_rx_lane_map_55.0=0x1302
dport_map_port_1.0=117
xgxs_tx_lane_map_80.0=0x1320
xgxs_tx_lane_map_54.0=0x2301
xgxs_tx_lane_map_55.0=0x2301
table_dma_enable=1
portmap_50.0=49:50:2
phy_xaui_rx_polarity_flip_72.0=0x2
phy_xaui_tx_polarity_flip_34.0=0xb
phy_xaui_rx_polarity_flip_46.0=0x3
phy_xaui_tx_polarity_flip_88.0=0x3
dport_map_port_50.0=1
l2_mem_entries.0=73728
l2xmsg_mode.0=1
dport_map_port_114.0=77
phy_xaui_tx_polarity_flip_43.0=0x1
phy_xaui_rx_polarity_flip_55.0=0x3
phy_xaui_tx_polarity_flip_17.0=0x3
phy_xaui_rx_polarity_flip_29.0=0x0
phy_xaui_tx_polarity_flip_97.0=0x2
phy_xaui_tx_polarity_flip_114.0=0x3
phy_xaui_rx_polarity_flip_118.0=0x0
phy_xaui_rx_polarity_flip_10.0=0x2
xgxs_rx_lane_map_72.0=0x1302
xgxs_rx_lane_map_73.0=0x1302
xgxs_rx_lane_map_46.0=0x2103
xgxs_rx_lane_map_47.0=0x2103
xgxs_tx_lane_map_72.0=0x2301
xgxs_tx_lane_map_73.0=0x2301
xgxs_tx_lane_map_46.0=0x1023
xgxs_tx_lane_map_47.0=0x1023
dport_map_port_123.0=98
portmap_42.0=41:50:2
phy_xaui_tx_polarity_flip_26.0=0x2
phy_xaui_rx_polarity_flip_38.0=0xd
portmap_96.0=93:50:2
phy_xaui_tx_polarity_flip_5.0=0x8
dport_map_port_42.0=45
phy_xaui_tx_polarity_flip_123.0=0x3
dport_map_port_96.0=61
xgxs_rx_lane_map_29.0=0x2301
xgxs_tx_lane_map_29.0=0x1023
xgxs_rx_lane_map_30.0=0x2301
xgxs_tx_lane_map_30.0=0x1023
dport_map_port_106.0=69
portmap_51.0=51:50:2
phy_xaui_rx_polarity_flip_73.0=0x0
portmap_25.0=25:50:2
phy_xaui_rx_polarity_flip_47.0=0x1
xgxs_rx_lane_map_126.0=0x213
phy_xaui_tx_polarity_flip_89.0=0x3
dport_map_port_51.0=2
dport_map_port_25.0=93
phy_xaui_tx_polarity_flip_106.0=0x3
portmap_126.0=121:100
xgxs_rx_lane_map_38.0=0x312
xgxs_tx_lane_map_38.0=0x1032
dport_map_port_115.0=78
portmap_34.0=33:100
phy_xaui_tx_polarity_flip_18.0=0x3
pbmp_xport_xe.0=0x3fffffffdffffffff7fffffffdfffffffe
xgxs_tx_lane_map_9.0=0x123
xgxs_tx_lane_map_10.0=0x123
portmap_88.0=85:50:2
max_vp_lags.0=0
dport_map_port_34.0=37
phy_xaui_tx_polarity_flip_115.0=0x3
phy_xaui_rx_polarity_flip_119.0=0x2
dport_map_port_88.0=53
portmap_43.0=43:50:2
portmap_17.0=17:50:2
phy_xaui_rx_polarity_flip_100.0=0xf
xgxs_rx_lane_map_118.0=0x123
xgxs_rx_lane_map_119.0=0x123
portmap_97.0=95:50:2
xgxs_tx_lane_map_126.0=0x123
dport_map_port_43.0=46
dport_map_port_17.0=85
portmap_118.0=113:50:2
dport_map_port_97.0=62
num_ipv6_lpm_128b_entries.0=0
phy_xaui_tx_polarity_flip_62.0=0x3
dport_map_port_107.0=70
portmap_26.0=27:50:2
xgxs_rx_lane_map_9.0=0x213
xgxs_rx_lane_map_10.0=0x213
portmap_1.0=1:100
phy_xaui_rx_polarity_flip_9.0=0x0
dport_map_port_26.0=94
phy_xaui_tx_polarity_flip_107.0=0x3
portmap_89.0=87:50:2
xgxs_tx_lane_map_118.0=0x2013
xgxs_tx_lane_map_119.0=0x2013
dport_map_port_89.0=54
phy_xaui_tx_polarity_flip_80.0=0xa
phy_xaui_rx_polarity_flip_92.0=0x0
phy_xaui_tx_polarity_flip_54.0=0x2
phy_xaui_rx_polarity_flip_66.0=0xf
portmap_18.0=19:50:2
dport_map_port_18.0=86
portmap_119.0=115:50:2
phy_xaui_rx_polarity_flip_21.0=0x0
xgxs_rx_lane_map_100.0=0x3210
phy_xaui_tx_polarity_flip_63.0=0x2
phy_xaui_rx_polarity_flip_110.0=0x3
portmap_100.0=131:10
phy_xaui_rx_polarity_flip_30.0=0x0
xgxs_rx_lane_map_92.0=0x3210
xgxs_rx_lane_map_93.0=0x3210
xgxs_rx_lane_map_66.0=0x3210
xgxs_tx_lane_map_92.0=0x132
xgxs_tx_lane_map_93.0=0x132
xgxs_tx_lane_map_66.0=0x132
phy_xaui_tx_polarity_flip_72.0=0x0
portmap_62.0=61:50:2
phy_xaui_rx_polarity_flip_84.0=0x3
phy_xaui_tx_polarity_flip_46.0=0x2
phy_xaui_rx_polarity_flip_58.0=0x2
tdma_intr_enable=1
dport_map_port_62.0=13
xgxs_rx_lane_map_21.0=0x3102
xgxs_rx_lane_map_22.0=0x3102
xgxs_tx_lane_map_21.0=0x132
xgxs_tx_lane_map_22.0=0x132
phy_xaui_rx_polarity_flip_13.0=0x0
tdma_timeout_usec.0=5000000
dport_map_port_126.0=109
phy_xaui_rx_polarity_flip_93.0=0x1
phy_xaui_tx_polarity_flip_55.0=0x0
xgxs_tx_lane_map_100.0=0x132
phy_xaui_tx_polarity_flip_29.0=0x3
phy_xaui_rx_polarity_flip_102.0=0x2
parity_correction.0=1
phy_xaui_tx_polarity_flip_126.0=0x7
phy_xaui_tx_polarity_flip_10.0=0x0
phy_xaui_rx_polarity_flip_22.0=0x0
xgxs_rx_lane_map_84.0=0x2301
xgxs_rx_lane_map_85.0=0x2301
xgxs_rx_lane_map_58.0=0x1203
xgxs_rx_lane_map_59.0=0x1203
dport_map_port_5.0=113
xgxs_tx_lane_map_84.0=0x213
xgxs_tx_lane_map_85.0=0x213
xgxs_tx_lane_map_58.0=0x123
xgxs_tx_lane_map_59.0=0x123
mmu_lossless.0=0
xgxs_tx_lane_map_1.0=0x123
portmap_80.0=77:100
portmap_54.0=53:50:2
phy_xaui_rx_polarity_flip_76.0=0x2
phy_xaui_tx_polarity_flip_38.0=0x0
phy_xaui_rx_polarity_flip_111.0=0x3
dport_map_port_80.0=29
dport_map_port_54.0=5
xgxs_rx_lane_map_13.0=0x3201
xgxs_rx_lane_map_14.0=0x3201
xgxs_tx_lane_map_13.0=0x2301
xgxs_tx_lane_map_14.0=0x2301
xgxs_rx_lane_map_110.0=0x3210
xgxs_rx_lane_map_111.0=0x3210
phy_xaui_tx_polarity_flip_73.0=0x0
dport_map_port_118.0=101
portmap_63.0=63:50:2
phy_xaui_rx_polarity_flip_85.0=0x3
phy_xaui_tx_polarity_flip_47.0=0x3
phy_xaui_rx_polarity_flip_59.0=0x0
portmap_110.0=105:50:2
dport_map_port_63.0=14
phy_xaui_tx_polarity_flip_118.0=0x0
phy_xaui_rx_polarity_flip_14.0=0x3
xgxs_rx_lane_map_76.0=0x1203
xgxs_tx_lane_map_76.0=0x123
xgxs_rx_lane_map_1.0=0x213
portmap_72.0=69:50:2
portmap_46.0=45:50:2
phy_xaui_rx_polarity_flip_68.0=0x0
phy_xaui_rx_polarity_flip_1.0=0x9
mmu_init_config="MSFT-TH-Tier0"

View File

@ -0,0 +1,2 @@
{%- set default_topo = 't1' %}
{%- include 'buffers_config.j2' %}

View File

@ -0,0 +1,47 @@
{%- set default_cable = '40m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx*4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "10443264",
"type": "ingress",
"mode": "dynamic",
"xoff": "4625920"
},
"egress_lossy_pool": {
"size": "8877440",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "15982720",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"1518",
"static_th":"3995680"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 1248 2288 35776 -4 2288
25000 5m 1248 2288 53248 -4 2288
40000 5m 1248 2288 66560 -4 2288
50000 5m 1248 2288 79872 -4 2288
100000 5m 1248 2288 165568 -4 2288
10000 40m 1248 2288 37024 -4 2288
25000 40m 1248 2288 56160 -4 2288
40000 40m 1248 2288 71552 -4 2288
50000 40m 1248 2288 85696 -4 2288
100000 40m 1248 2288 177632 -4 2288
10000 300m 1248 2288 46176 -4 2288
25000 300m 1248 2288 79040 -4 2288
40000 300m 1248 2288 108160 -4 2288
50000 300m 1248 2288 131456 -4 2288
100000 300m 1248 2288 268736 -4 2288

View File

@ -0,0 +1,167 @@
{
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"SCHEDULER": {
"scheduler.0" : {
"type":"DWRR",
"weight": "25"
},
"scheduler.1" : {
"type":"DWRR",
"weight": "30"
},
"scheduler.2" : {
"type":"DWRR",
"weight": "20"
}
},
"PORT_QOS_MAP": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSY" : {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"512000",
"red_min_threshold":"512000",
"yellow_max_threshold":"512000",
"yellow_min_threshold":"512000",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS" : {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"512000",
"red_min_threshold":"512000",
"yellow_max_threshold":"512000",
"yellow_min_threshold":"512000",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
}
},
"QUEUE": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0-1" : {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|3-4" : {
"scheduler" : "[SCHEDULER|scheduler.0]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0" : {
"scheduler" : "[SCHEDULER|scheduler.1]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|1" : {
"scheduler" : "[SCHEDULER|scheduler.2]"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/th-z9100-32x100G.config.bcm SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th-z9100-32x100G.config.bcm

View File

@ -0,0 +1,222 @@
#TH Z9100 32x100
l3_alpm_enable=2
bcm_num_cos=8
switch_bypass_mode=0
mmu_lossless=0
lpm_scaling_enable=0
lpm_ipv6_128b_reserved=0
ipv6_lpm_128b_enable=1
os=unix
#Parity
parity_correction=1
parity_enable=1
scache_filename=/tmp/scache
#Port configuration
portmap_38=49:100
portmap_39=53:100
portmap_40=57:100
portmap_41=61:100
portmap_68=65:100
portmap_69=69:100
portmap_70=73:100
portmap_71=77:100
portmap_35=37:100
portmap_34=33:100
portmap_37=45:100
portmap_36=41:100
portmap_72=81:100
portmap_73=85:100
portmap_74=89:100
portmap_75=93:100
portmap_102=97:100
portmap_103=101:100
portmap_104=105:100
portmap_105=109:100
portmap_6=21:100
portmap_5=17:100
portmap_8=29:100
portmap_7=25:100
portmap_107=117:100
portmap_106=113:100
portmap_109=125:100
portmap_108=121:100
portmap_2=5:100
portmap_1=1:100
portmap_4=13:100
portmap_3=9:100
portmap_66=129:10
portmap_100=131:10
portmap_33=132:10
portmap_67=133:10
portmap_101=134:10
portmap_135=135:10
xgxs_tx_lane_map_ce0=0x0132
xgxs_rx_lane_map_ce0=0x1023
phy_xaui_tx_polarity_flip_ce0=0xe
phy_xaui_rx_polarity_flip_ce0=0xc
xgxs_tx_lane_map_ce1=0x2301
xgxs_rx_lane_map_ce1=0x1302
phy_xaui_tx_polarity_flip_ce1=0x2
phy_xaui_rx_polarity_flip_ce1=0xd
xgxs_tx_lane_map_ce2=0x0123
xgxs_rx_lane_map_ce2=0x1203
phy_xaui_tx_polarity_flip_ce2=0xa
phy_xaui_rx_polarity_flip_ce2=0x2
xgxs_tx_lane_map_ce3=0x3201
xgxs_rx_lane_map_ce3=0x1302
phy_xaui_tx_polarity_flip_ce3=0xb
phy_xaui_rx_polarity_flip_ce3=0xf
xgxs_tx_lane_map_ce4=0x3210
xgxs_rx_lane_map_ce4=0x3201
phy_xaui_tx_polarity_flip_ce4=0x2
phy_xaui_rx_polarity_flip_ce4=0xc
xgxs_tx_lane_map_ce5=0x2301
xgxs_rx_lane_map_ce5=0x1302
phy_xaui_tx_polarity_flip_ce5=0x0
phy_xaui_rx_polarity_flip_ce5=0x2
xgxs_tx_lane_map_ce6=0x0123
xgxs_rx_lane_map_ce6=0x1203
phy_xaui_tx_polarity_flip_ce6=0x0
phy_xaui_rx_polarity_flip_ce6=0x2
xgxs_tx_lane_map_ce7=0x1320
xgxs_rx_lane_map_ce7=0x2301
phy_xaui_tx_polarity_flip_ce7=0xa
phy_xaui_rx_polarity_flip_ce7=0xd
xgxs_tx_lane_map_ce8=0x1032
xgxs_rx_lane_map_ce8=0x0312
phy_xaui_tx_polarity_flip_ce8=0x0
phy_xaui_rx_polarity_flip_ce8=0xd
xgxs_tx_lane_map_ce9=0x2031
xgxs_rx_lane_map_ce9=0x1302
phy_xaui_tx_polarity_flip_ce9=0xb
phy_xaui_rx_polarity_flip_ce9=0xa
xgxs_tx_lane_map_ce10=0x1023
xgxs_rx_lane_map_ce10=0x2103
phy_xaui_tx_polarity_flip_ce10=0xe
phy_xaui_rx_polarity_flip_ce10=0x7
xgxs_tx_lane_map_ce11=0x0132
xgxs_rx_lane_map_ce11=0x3210
phy_xaui_tx_polarity_flip_ce11=0x6
phy_xaui_rx_polarity_flip_ce11=0xf
xgxs_tx_lane_map_ce12=0x0213
xgxs_rx_lane_map_ce12=0x2301
phy_xaui_tx_polarity_flip_ce12=0x6
phy_xaui_rx_polarity_flip_ce12=0xf
xgxs_tx_lane_map_ce13=0x1032
xgxs_rx_lane_map_ce13=0x0213
phy_xaui_tx_polarity_flip_ce13=0xf
phy_xaui_rx_polarity_flip_ce13=0xd
xgxs_tx_lane_map_ce14=0x0132
xgxs_rx_lane_map_ce14=0x3210
phy_xaui_tx_polarity_flip_ce14=0x5
phy_xaui_rx_polarity_flip_ce14=0x4
xgxs_tx_lane_map_ce15=0x0123
xgxs_rx_lane_map_ce15=0x3210
phy_xaui_tx_polarity_flip_ce15=0x8
phy_xaui_rx_polarity_flip_ce15=0xb
xgxs_tx_lane_map_ce16=0x0123
xgxs_rx_lane_map_ce16=0x3201
phy_xaui_tx_polarity_flip_ce16=0xf
phy_xaui_rx_polarity_flip_ce16=0x2
xgxs_tx_lane_map_ce17=0x0123
xgxs_rx_lane_map_ce17=0x0213
phy_xaui_tx_polarity_flip_ce17=0xf
phy_xaui_rx_polarity_flip_ce17=0xd
xgxs_tx_lane_map_ce18=0x1032
xgxs_rx_lane_map_ce18=0x3210
phy_xaui_tx_polarity_flip_ce18=0xf
phy_xaui_rx_polarity_flip_ce18=0xf
xgxs_tx_lane_map_ce19=0x0123
xgxs_rx_lane_map_ce19=0x3210
phy_xaui_tx_polarity_flip_ce19=0xf
phy_xaui_rx_polarity_flip_ce19=0x0
xgxs_tx_lane_map_ce20=0x2301
xgxs_rx_lane_map_ce20=0x3102
phy_xaui_tx_polarity_flip_ce20=0xf
phy_xaui_rx_polarity_flip_ce20=0x0
xgxs_tx_lane_map_ce21=0x3102
xgxs_rx_lane_map_ce21=0x2103
phy_xaui_tx_polarity_flip_ce21=0xf
phy_xaui_rx_polarity_flip_ce21=0x5
xgxs_tx_lane_map_ce22=0x1023
xgxs_rx_lane_map_ce22=0x2301
phy_xaui_tx_polarity_flip_ce22=0xb
phy_xaui_rx_polarity_flip_ce22=0x0
xgxs_tx_lane_map_ce23=0x2130
xgxs_rx_lane_map_ce23=0x2310
phy_xaui_tx_polarity_flip_ce23=0xa
phy_xaui_rx_polarity_flip_ce23=0x2
xgxs_tx_lane_map_ce24=0x2310
xgxs_rx_lane_map_ce24=0x3201
phy_xaui_tx_polarity_flip_ce24=0xf
phy_xaui_rx_polarity_flip_ce24=0xc
xgxs_tx_lane_map_ce25=0x2013
xgxs_rx_lane_map_ce25=0x0123
phy_xaui_tx_polarity_flip_ce25=0x0
phy_xaui_rx_polarity_flip_ce25=0x8
xgxs_tx_lane_map_ce26=0x0132
xgxs_rx_lane_map_ce26=0x1023
phy_xaui_tx_polarity_flip_ce26=0xb
phy_xaui_rx_polarity_flip_ce26=0x4
xgxs_tx_lane_map_ce27=0x0123
xgxs_rx_lane_map_ce27=0x0213
phy_xaui_tx_polarity_flip_ce27=0x7
phy_xaui_rx_polarity_flip_ce27=0x7
xgxs_tx_lane_map_ce28=0x0213
xgxs_rx_lane_map_ce28=0x1203
phy_xaui_tx_polarity_flip_ce28=0x8
phy_xaui_rx_polarity_flip_ce28=0x7
xgxs_tx_lane_map_ce29=0x0123
xgxs_rx_lane_map_ce29=0x0213
phy_xaui_tx_polarity_flip_ce29=0x3
phy_xaui_rx_polarity_flip_ce29=0x9
xgxs_tx_lane_map_ce30=0x2301
xgxs_rx_lane_map_ce30=0x3201
phy_xaui_tx_polarity_flip_ce30=0xc
phy_xaui_rx_polarity_flip_ce30=0xc
xgxs_tx_lane_map_ce31=0x0123
xgxs_rx_lane_map_ce31=0x0213
phy_xaui_tx_polarity_flip_ce31=0x3
phy_xaui_rx_polarity_flip_ce31=0x8
dport_map_port_38=1
dport_map_port_39=2
dport_map_port_40=3
dport_map_port_41=4
dport_map_port_68=5
dport_map_port_69=6
dport_map_port_70=7
dport_map_port_71=8
dport_map_port_35=9
dport_map_port_34=10
dport_map_port_37=11
dport_map_port_36=12
dport_map_port_72=13
dport_map_port_73=14
dport_map_port_74=15
dport_map_port_75=16
dport_map_port_102=17
dport_map_port_103=18
dport_map_port_104=19
dport_map_port_105=20
dport_map_port_6=21
dport_map_port_5=22
dport_map_port_8=23
dport_map_port_7=24
dport_map_port_107=25
dport_map_port_106=26
dport_map_port_109=27
dport_map_port_108=28
dport_map_port_2=29
dport_map_port_1=30
dport_map_port_4=31
dport_map_port_3=32
oversubscribe_mode=1
pbmp_xport_xe=0x3fd000000ff4000003fc000001fe
serdes_if_type_xe=14
serdes_if_type_ce=14
mmu_init_config="MSFT-TH-Tier1"

View File

@ -36,16 +36,12 @@ chip "w83795adg-*"
ignore in18 ignore in18
ignore in19 ignore in19
label fan1 "FANTRAY 1" label fan1 "FANTRAY 1"
#label fan2 "FANTRAY 1-B"
ignore fan2 ignore fan2
label fan3 "FANTRAY 2" label fan3 "FANTRAY 2"
#label fan4 "FANTRAY 2-B"
ignore fan4 ignore fan4
label fan5 "FANTRAY 3" label fan5 "FANTRAY 3"
#label fan6 "FANTRAY 3-B"
ignore fan6 ignore fan6
label fan7 "FANTRAY 4" label fan7 "FANTRAY 4"
#label fan8 "FANTRAY 4-B"
ignore fan8 ignore fan8
ignore temp1 ignore temp1
ignore temp2 ignore temp2
@ -55,7 +51,6 @@ chip "w83795adg-*"
ignore temp6 ignore temp6
ignore intrusion0 ignore intrusion0
# TODO: need to confirm the critial temp value with HW after board ready
chip "tmp75-i2c-*-4A" chip "tmp75-i2c-*-4A"
label temp1 "BMC Board Temp" label temp1 "BMC Board Temp"
set temp1_max 50 set temp1_max 50

View File

@ -0,0 +1,88 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#
import os.path
try:
from sonic_psu.psu_base import PsuBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class PsuUtil(PsuBase):
"""Platform-specific PSUutil class"""
PSU_DIR = "/sys/bus/i2c/devices/0-0066"
def __init__(self):
PsuBase.__init__(self)
# Get sysfs attribute
def get_attr_value(self, attr_path):
retval = 'ERR'
if (not os.path.isfile(attr_path)):
return retval
try:
with open(attr_path, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", attr_path, " file !")
retval = retval.rstrip(' \t\n\r')
return retval
def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
MAX_PSUS = 2
return MAX_PSUS
def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
if (index == 1):
ind = 2
if (index == 2):
ind = 1
attr_file = 'psu'+ str(ind) + '_iout'
attr_path = self.PSU_DIR +'/' + attr_file
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
# Check for PSU status
if (attr_value != 0):
status = 1
return status
def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
psu_absent = 0
ind = index-1
attr_file ='psu'+ str(ind)
attr_path = self.PSU_DIR +'/' + attr_file
normal_attr_value = '0 : normal'
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
# Check for PSU presence
if (attr_value == normal_attr_value):
status = 1
return status

View File

@ -0,0 +1,84 @@
#
# psuutil.py
# Platform-specific PSU status interface for SONiC
#
import os.path
try:
from sonic_psu.psu_base import PsuBase
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
class PsuUtil(PsuBase):
"""Platform-specific PSUutil class"""
PSU_DIR = "/sys/bus/i2c/devices/0-0066"
def __init__(self):
PsuBase.__init__(self)
# Get sysfs attribute
def get_attr_value(self, attr_path):
retval = 'ERR'
if (not os.path.isfile(attr_path)):
return retval
try:
with open(attr_path, 'r') as fd:
retval = fd.read()
except Exception as error:
logging.error("Unable to open ", attr_path, " file !")
retval = retval.rstrip(' \t\n\r')
return retval
def get_num_psus(self):
"""
Retrieves the number of PSUs available on the device
:return: An integer, the number of PSUs available on the device
"""
MAX_PSUS = 2
return MAX_PSUS
def get_psu_status(self, index):
"""
Retrieves the oprational status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is operating properly, False if PSU is\
faulty
"""
status = 0
attr_file = 'psoc_psu'+ str(index) + '_iout'
attr_path = self.PSU_DIR +'/' + attr_file
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
# Check for PSU status
if (attr_value != 0):
status = 1
return status
def get_psu_presence(self, index):
"""
Retrieves the presence status of power supply unit (PSU) defined
by index <index>
:param index: An integer, index of the PSU of which to query status
:return: Boolean, True if PSU is plugged, False if not
"""
status = 0
psu_absent = 0
ind = index-1
attr_file ='psu'+ str(ind)
attr_path = self.PSU_DIR +'/' + attr_file
normal_attr_value = '0 : normal'
attr_value = self.get_attr_value(attr_path)
if (attr_value != 'ERR'):
# Check for PSU presence
if (attr_value == normal_attr_value):
status = 1
return status

View File

View File

View File

View File

View File

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2700.xml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2700.xml

View File

@ -0,0 +1,243 @@
<?xml version="1.0"?>
<root>
<platform_info type="2700">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>32</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<width>4</width>
<module>16</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<width>4</width>
<module>17</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>19</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>21</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<width>4</width>
<module>23</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>4</width>
<module>25</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>4</width>
<module>27</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<width>4</width>
<module>29</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<width>4</width>
<module>31</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 34816 18432 16384 0
25000 5m 34816 18432 16384 0
40000 5m 34816 18432 16384 0
50000 5m 34816 18432 16384 0
100000 5m 36864 18432 18432 0
10000 40m 36864 18432 18432 0
25000 40m 39936 18432 21504 0
40000 40m 41984 18432 23552 0
50000 40m 41984 18432 23552 0
100000 40m 54272 18432 35840 0
10000 300m 49152 18432 30720 0
25000 300m 71680 18432 53248 0
40000 300m 94208 18432 75776 0
50000 300m 94208 18432 75776 0
100000 300m 184320 18432 165888 0

View File

@ -0,0 +1,165 @@
{
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"SCHEDULER": {
"scheduler.0": {
"type":"DWRR",
"weight": "25"
},
"scheduler.1": {
"type":"DWRR",
"weight": "30"
},
"scheduler.2": {
"type":"DWRR",
"weight": "20"
}
},
"PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"PORT_QOS_MAP": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSY": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
}
},
"QUEUE": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60|0": {
"scheduler" : "[SCHEDULER|scheduler.1]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60|1": {
"scheduler" : "[SCHEDULER|scheduler.2]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60|0-1": {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60|3-4": {
"scheduler" : "[SCHEDULER|scheduler.0]",
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2100.xml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2100.xml

View File

@ -0,0 +1,131 @@
<?xml version="1.0"?>
<root>
<platform_info type="2100">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>16</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>0</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>1</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 34816 18432 16384 0
25000 5m 34816 18432 16384 0
40000 5m 34816 18432 16384 0
50000 5m 34816 18432 16384 0
100000 5m 36864 18432 18432 0
10000 40m 36864 18432 18432 0
25000 40m 39936 18432 21504 0
40000 40m 41984 18432 23552 0
50000 40m 41984 18432 23552 0
100000 40m 54272 18432 35840 0
10000 300m 49152 18432 30720 0
25000 300m 71680 18432 53248 0
40000 300m 94208 18432 75776 0
50000 300m 94208 18432 75776 0
100000 300m 184320 18432 165888 0

View File

@ -0,0 +1,165 @@
{
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"SCHEDULER": {
"scheduler.0": {
"type":"DWRR",
"weight": "25"
},
"scheduler.1": {
"type":"DWRR",
"weight": "30"
},
"scheduler.2": {
"type":"DWRR",
"weight": "20"
}
},
"PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"PORT_QOS_MAP": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124,Ethernet128,Ethernet132,Ethernet136,Ethernet140,Ethernet144,Ethernet148,Ethernet152,Ethernet156,Ethernet160,Ethernet164,Ethernet168,Ethernet172,Ethernet176,Ethernet180,Ethernet184,Ethernet188,Ethernet192,Ethernet196,Ethernet200,Ethernet204,Ethernet208,Ethernet212,Ethernet216,Ethernet220": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSY": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
}
},
"QUEUE": {
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124,Ethernet128,Ethernet132,Ethernet136,Ethernet140,Ethernet144,Ethernet148,Ethernet152,Ethernet156,Ethernet160,Ethernet164,Ethernet168,Ethernet172,Ethernet176,Ethernet180,Ethernet184,Ethernet188,Ethernet192,Ethernet196,Ethernet200,Ethernet204,Ethernet208,Ethernet212,Ethernet216,Ethernet220|0": {
"scheduler" : "[SCHEDULER|scheduler.1]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124,Ethernet128,Ethernet132,Ethernet136,Ethernet140,Ethernet144,Ethernet148,Ethernet152,Ethernet156,Ethernet160,Ethernet164,Ethernet168,Ethernet172,Ethernet176,Ethernet180,Ethernet184,Ethernet188,Ethernet192,Ethernet196,Ethernet200,Ethernet204,Ethernet208,Ethernet212,Ethernet216,Ethernet220|1": {
"scheduler" : "[SCHEDULER|scheduler.2]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124,Ethernet128,Ethernet132,Ethernet136,Ethernet140,Ethernet144,Ethernet148,Ethernet152,Ethernet156,Ethernet160,Ethernet164,Ethernet168,Ethernet172,Ethernet176,Ethernet180,Ethernet184,Ethernet188,Ethernet192,Ethernet196,Ethernet200,Ethernet204,Ethernet208,Ethernet212,Ethernet216,Ethernet220|0-1": {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124,Ethernet128,Ethernet132,Ethernet136,Ethernet140,Ethernet144,Ethernet148,Ethernet152,Ethernet156,Ethernet160,Ethernet164,Ethernet168,Ethernet172,Ethernet176,Ethernet180,Ethernet184,Ethernet188,Ethernet192,Ethernet196,Ethernet200,Ethernet204,Ethernet208,Ethernet212,Ethernet216,Ethernet220|3-4": {
"scheduler" : "[SCHEDULER|scheduler.0]",
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]"
}
}
}

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2410.xml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2410.xml

View File

@ -0,0 +1,411 @@
<?xml version="1.0"?>
<root>
<platform_info type="2410">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>56</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<module>32</module>
<width>1</width>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>0</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>2</local-port>
<module>33</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<module>34</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>4</local-port>
<module>35</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<module>36</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>6</local-port>
<module>37</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<module>38</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>8</local-port>
<module>39</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<module>40</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>10</local-port>
<module>41</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<module>42</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>12</local-port>
<module>43</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<module>44</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>14</local-port>
<module>45</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<module>46</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>16</local-port>
<module>47</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<module>48</module>
<width>4</width>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<module>49</module>
<width>4</width>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<module>50</module>
<width>4</width>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<module>51</module>
<width>4</width>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<module>52</module>
<width>4</width>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<module>53</module>
<width>4</width>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<module>54</module>
<width>4</width>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<module>55</module>
<width>4</width>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<module>28</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>34</local-port>
<module>29</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<module>30</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>36</local-port>
<module>31</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<module>24</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>38</local-port>
<module>25</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<module>26</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>40</local-port>
<module>27</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<module>20</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>42</local-port>
<module>21</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<module>22</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>44</local-port>
<module>23</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<module>16</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>46</local-port>
<module>17</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<module>18</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>48</local-port>
<module>19</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<module>12</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>50</local-port>
<module>13</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<module>14</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>52</local-port>
<module>15</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<module>8</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>54</local-port>
<module>9</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<module>10</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>56</local-port>
<module>11</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<module>4</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>58</local-port>
<module>5</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<module>6</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>60</local-port>
<module>7</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<module>0</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>62</local-port>
<module>1</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<module>2</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
<port-info>
<local-port>64</local-port>
<module>3</module>
<width>1</width>
<breakout-modes>0</breakout-modes>
<port-speed>939524096</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2700.xml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2700.xml

View File

@ -0,0 +1,243 @@
<?xml version="1.0"?>
<root>
<platform_info type="2700">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>32</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<width>4</width>
<module>16</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<width>4</width>
<module>17</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>19</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>21</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<width>4</width>
<module>23</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>4</width>
<module>25</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>4</width>
<module>27</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<width>4</width>
<module>29</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<width>4</width>
<module>31</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -0,0 +1,2 @@
{%- set default_topo = 't0' %}
{%- include 'buffers_config.j2' %}

View File

@ -0,0 +1,90 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '4194304' %}
{% set ingress_lossy_pool_size = '7340032' %}
{% set egress_lossless_pool_size = '16777152' %}
{% set egress_lossy_pool_size = '7340032' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "{{ ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic"
},
"ingress_lossy_pool": {
"size": "{{ ingress_lossy_pool_size }}",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
},
"egress_lossy_pool": {
"size": "{{ egress_lossy_pool_size }}",
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"0"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossy_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"4096",
"dynamic_th":"3"
},
"q_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"0",
"dynamic_th":"3"
}
},
{%- endmacro %}
{%- macro generate_profile_lists(port_names) %}
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
"{{ port_names }}": {
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
"{{ port_names }}": {
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
}
}
{%- endmacro %}
{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-1": {
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
}
}
{%- endmacro %}

View File

@ -0,0 +1,90 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '2097152' %}
{% set ingress_lossy_pool_size = '5242880' %}
{% set egress_lossless_pool_size = '16777152' %}
{% set egress_lossy_pool_size = '5242880' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "{{ ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic"
},
"ingress_lossy_pool": {
"size": "{{ ingress_lossy_pool_size }}",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "{{ egress_lossless_pool_size }}",
"type": "egress",
"mode": "dynamic"
},
"egress_lossy_pool": {
"size": "{{ egress_lossy_pool_size }}",
"type": "egress",
"mode": "dynamic"
}
},
"BUFFER_PROFILE": {
"ingress_lossless_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"0"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossy_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"4096",
"dynamic_th":"3"
},
"q_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"0",
"dynamic_th":"3"
}
},
{%- endmacro %}
{%- macro generate_profile_lists(port_names) %}
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
"{{ port_names }}": {
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile],[BUFFER_PROFILE|ingress_lossy_profile]"
}
},
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
"{{ port_names }}": {
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
}
}
{%- endmacro %}
{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
},
"{{ port_names }}|0-1": {
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
}
}
{%- endmacro %}

View File

@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 34816 18432 16384 0
25000 5m 34816 18432 16384 0
40000 5m 34816 18432 16384 0
50000 5m 34816 18432 16384 0
100000 5m 36864 18432 18432 0
10000 40m 36864 18432 18432 0
25000 40m 39936 18432 21504 0
40000 40m 41984 18432 23552 0
50000 40m 41984 18432 23552 0
100000 40m 54272 18432 35840 0
10000 300m 49152 18432 30720 0
25000 300m 71680 18432 53248 0
40000 300m 94208 18432 75776 0
50000 300m 94208 18432 75776 0
100000 300m 184320 18432 165888 0

View File

@ -0,0 +1,57 @@
# name lanes speed
Ethernet0 0,1 50000
Ethernet2 2,3 50000
Ethernet4 4,5 50000
Ethernet6 6,7 50000
Ethernet8 8,9 50000
Ethernet10 10,11 50000
Ethernet12 12,13 50000
Ethernet14 14,15 50000
Ethernet16 16,17 50000
Ethernet18 18,19 50000
Ethernet20 20,21 50000
Ethernet22 22,23 50000
Ethernet24 24,25,26,27 100000
Ethernet28 28,29,30,31 100000
Ethernet32 32,33,34,35 100000
Ethernet36 36,37,38,39 100000
Ethernet40 40,41 50000
Ethernet42 42,43 50000
Ethernet44 44,45 50000
Ethernet46 46,47 50000
Ethernet48 48,49 50000
Ethernet50 50,51 50000
Ethernet52 52,53 50000
Ethernet54 54,55 50000
Ethernet56 56,57 50000
Ethernet58 58,59 50000
Ethernet60 60,61 50000
Ethernet62 62,63 50000
Ethernet64 64,65 50000
Ethernet66 66,67 50000
Ethernet68 68,69 50000
Ethernet70 70,71 50000
Ethernet72 72,73 50000
Ethernet74 74,75 50000
Ethernet76 76,77 50000
Ethernet78 78,79 50000
Ethernet80 80,81 50000
Ethernet82 82,83 50000
Ethernet84 84,85 50000
Ethernet86 86,87 50000
Ethernet88 88,89,90,91 100000
Ethernet92 92,93,94,95 100000
Ethernet96 96,97,98,99 100000
Ethernet100 100,101,102,103 100000
Ethernet104 104,105 50000
Ethernet106 106,107 50000
Ethernet108 108,109 50000
Ethernet110 110,111 50000
Ethernet112 112,113 50000
Ethernet114 114,115 50000
Ethernet116 116,117 50000
Ethernet118 118,119 50000
Ethernet120 120,121 50000
Ethernet122 122,123 50000
Ethernet124 124,125 50000
Ethernet126 126,127 50000

View File

@ -0,0 +1,166 @@
{
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0":"0",
"1":"0",
"2":"0",
"3":"3",
"4":"4",
"5":"0",
"6":"0",
"7":"0",
"8":"1",
"9":"0",
"10":"0",
"11":"0",
"12":"0",
"13":"0",
"14":"0",
"15":"0",
"16":"0",
"17":"0",
"18":"0",
"19":"0",
"20":"0",
"21":"0",
"22":"0",
"23":"0",
"24":"0",
"25":"0",
"26":"0",
"27":"0",
"28":"0",
"29":"0",
"30":"0",
"31":"0",
"32":"0",
"33":"0",
"34":"0",
"35":"0",
"36":"0",
"37":"0",
"38":"0",
"39":"0",
"40":"0",
"41":"0",
"42":"0",
"43":"0",
"44":"0",
"45":"0",
"46":"0",
"47":"0",
"48":"0",
"49":"0",
"50":"0",
"51":"0",
"52":"0",
"53":"0",
"54":"0",
"55":"0",
"56":"0",
"57":"0",
"58":"0",
"59":"0",
"60":"0",
"61":"0",
"62":"0",
"63":"0"
}
},
"SCHEDULER": {
"scheduler.0": {
"type":"DWRR",
"weight": "25"
},
"scheduler.1": {
"type":"DWRR",
"weight": "30"
},
"scheduler.2": {
"type":"DWRR",
"weight": "20"
}
},
"PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"3": "3",
"4": "4"
}
},
"PORT_QOS_MAP": {
"Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
"pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_enable": "3,4"
}
},
"WRED_PROFILE": {
"AZURE_LOSSY": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
},
"AZURE_LOSSLESS": {
"wred_green_enable":"true",
"wred_yellow_enable":"true",
"ecn":"ecn_all",
"red_max_threshold":"516096",
"red_min_threshold":"516096",
"yellow_max_threshold":"516096",
"yellow_min_threshold":"516096",
"green_max_threshold": "184320",
"green_min_threshold": "184320"
}
},
"QUEUE": {
"Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|0": {
"scheduler" : "[SCHEDULER|scheduler.1]"
},
"Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|1": {
"scheduler" : "[SCHEDULER|scheduler.2]"
},
"Ethernet0,Ethernet4,Ethernet8,Ethernet12,Ethernet16,Ethernet20,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet44,Ethernet48,Ethernet52,Ethernet56,Ethernet60,Ethernet64,Ethernet68,Ethernet72,Ethernet76,Ethernet80,Ethernet84,Ethernet88,Ethernet92,Ethernet96,Ethernet100,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet124|0-1": {
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
},
"Ethernet8,Ethernet2,Ethernet0,Ethernet6,Ethernet4,Ethernet108,Ethernet100,Ethernet104,Ethernet106,Ethernet58,Ethernet126,Ethernet96,Ethernet124,Ethernet122,Ethernet92,Ethernet120,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet76,Ethernet74,Ethernet18,Ethernet70,Ethernet32,Ethernet72,Ethernet16,Ethernet36,Ethernet78,Ethernet60,Ethernet28,Ethernet62,Ethernet14,Ethernet88,Ethernet118,Ethernet24,Ethernet116,Ethernet82,Ethernet114,Ethernet80,Ethernet112,Ethernet86,Ethernet110,Ethernet84,Ethernet48,Ethernet10,Ethernet44,Ethernet42,Ethernet40,Ethernet64,Ethernet66,Ethernet12,Ethernet46,Ethernet20,Ethernet22,Ethernet68|3-4": {
"scheduler" : "[SCHEDULER|scheduler.0]",
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSLESS]"
}
}
}

View File

@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2700_48x50g_8x100g.xml

View File

@ -0,0 +1,267 @@
<?xml version="1.0"?>
<root>
<platform_info type="2700">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>32</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<width>4</width>
<module>16</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>3</local-port>
<width>4</width>
<module>17</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>19</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>21</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<width>4</width>
<module>23</module>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>4</width>
<module>25</module>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>23</local-port>
<width>4</width>
<module>27</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>>
</port-info>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>27</local-port>
<width>4</width>
<module>29</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>31</local-port>
<width>4</width>
<module>31</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>35</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>39</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>43</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>1</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>55</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>59</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
<port-info>
<local-port>63</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>1</breakout-modes>
<port-speed>3221225472</port-speed>
<split>2</split>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -1 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sai_2740.xml SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2740.xml

View File

@ -0,0 +1,243 @@
<?xml version="1.0"?>
<root>
<platform_info type="2740">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>32</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>1</local-port>
<width>4</width>
<module>16</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>3</breakout-modes>
<!-- (BITMASK) 4096 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<width>4</width>
<module>17</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>4</width>
<module>18</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>19</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>20</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>21</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>22</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>15</local-port>
<width>4</width>
<module>23</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>4</width>
<module>24</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>4</width>
<module>25</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>4</width>
<module>26</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>4</width>
<module>27</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>4</width>
<module>28</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>27</local-port>
<width>4</width>
<module>29</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>29</local-port>
<width>4</width>
<module>30</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>31</local-port>
<width>4</width>
<module>31</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>4</width>
<module>14</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<width>4</width>
<module>15</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>4</width>
<module>12</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<width>4</width>
<module>13</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>4</width>
<module>10</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<width>4</width>
<module>11</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>4</width>
<module>8</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>4</width>
<module>9</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>4</width>
<module>6</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>4</width>
<module>7</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>4</width>
<module>4</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<width>4</width>
<module>5</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>4</width>
<module>2</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<width>4</width>
<module>3</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>61</local-port>
<width>4</width>
<module>0</module>
<breakout-modes>3</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<width>4</width>
<module>1</module>
<breakout-modes>1</breakout-modes>
<port-speed>98368</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -6,13 +6,16 @@ rm -f /var/run/rsyslogd.pid
# Start rsyslog # Start rsyslog
supervisorctl start rsyslogd supervisorctl start rsyslogd
# Wait for all interfaces to come up and be assigned IPv4 addresses before # If our supervisor config has entries in the "isc-dhcp-relay" group...
# starting the DHCP relay agent(s). If an interface the relay should listen if [ $(supervisorctl status | grep -c "^isc-dhcp-relay:") -gt 0 ]; then
# on is down, the relay agent will not start. If an interface the relay should # Wait for all interfaces to come up and be assigned IPv4 addresses before
# listen on is up but does not have an IP address assigned when the relay # starting the DHCP relay agent(s). If an interface the relay should listen
# agent starts, it will not listen or send on that interface for the lifetime # on is down, the relay agent will not start. If an interface the relay
# of the process. # should listen on is up but does not have an IP address assigned when the
/usr/bin/wait_for_intf.sh # relay agent starts, it will not listen or send on that interface for the
# lifetime of the process.
/usr/bin/wait_for_intf.sh
# Start the DHCP relay agent(s) # Start all DHCP relay agent(s)
supervisorctl start isc-dhcp-relay:* supervisorctl start isc-dhcp-relay:*
fi

View File

@ -1,10 +1,16 @@
#!/bin/bash #!/bin/bash
DOCKER_EXEC_FLAGS="i"
# Determine whether stdout is on a terminal # Determine whether stdout is on a terminal
if [ -t 1 ] ; then if [ -t 1 ] ; then
DOCKER_EXEC_FLAGS+="t" # Prepare a function to send HUP signal to vtysh in the container
# we mark the new instance of vtysh with the current tty as a tag
TTY=$(tty)
function cleanup
{
docker exec -i bgp pkill -HUP -f "vtysh $TTY"
}
trap cleanup HUP
docker exec -ti bgp vtysh "$TTY" "$@"
else
docker exec -i bgp vtysh "$@"
fi fi
docker exec -$DOCKER_EXEC_FLAGS bgp vtysh "$@"

View File

@ -5,7 +5,7 @@ sed -n -e '9,$p' < "$0" | vtysh "$@"
## Exit with vtysh return code ## Exit with vtysh return code
exit $? exit $?
## vtysh script start from next line, which line number MUST eqaul in 'sed' command above ## vtysh script start from next line, which line number MUST equal in 'sed' command above
configure terminal configure terminal
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }} router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}

View File

@ -5,7 +5,7 @@ sed -n -e '9,$p' < "$0" | vtysh "$@"
## Exit with vtysh return code ## Exit with vtysh return code
exit $? exit $?
## vtysh script start from next line, which line number MUST eqaul in 'sed' command above ## vtysh script start from next line, which line number MUST equal in 'sed' command above
configure terminal configure terminal
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }} router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}

View File

@ -1,10 +1,16 @@
#!/bin/bash #!/bin/bash
DOCKER_EXEC_FLAGS="i"
# Determine whether stdout is on a terminal # Determine whether stdout is on a terminal
if [ -t 1 ] ; then if [ -t 1 ] ; then
DOCKER_EXEC_FLAGS+="t" # Prepare a function to send HUP signal to vtysh in the container
# we mark the new instance of vtysh with the current tty as a tag
TTY=$(tty)
function cleanup
{
docker exec -i bgp pkill -HUP -f "vtysh $TTY"
}
trap cleanup HUP
docker exec -ti bgp vtysh "$TTY" "$@"
else
docker exec -i bgp vtysh "$@"
fi fi
docker exec -$DOCKER_EXEC_FLAGS bgp vtysh "$@"

View File

@ -5,7 +5,7 @@ sed -n -e '9,$p' < "$0" | vtysh "$@"
## Exit with vtysh return code ## Exit with vtysh return code
exit $? exit $?
## vtysh script start from next line, which line number MUST eqaul in 'sed' command above ## vtysh script start from next line, which line number MUST equal in 'sed' command above
configure terminal configure terminal
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }} router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}

View File

@ -5,7 +5,7 @@ sed -n -e '9,$p' < "$0" | vtysh "$@"
## Exit with vtysh return code ## Exit with vtysh return code
exit $? exit $?
## vtysh script start from next line, which line number MUST eqaul in 'sed' command above ## vtysh script start from next line, which line number MUST equal in 'sed' command above
configure terminal configure terminal
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }} router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}

View File

@ -41,13 +41,7 @@ fast_reboot
HWSKU=`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['hwsku']"` HWSKU=`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['hwsku']"`
SWSSCONFIG_ARGS="00-copp.config.json " SWSSCONFIG_ARGS="00-copp.config.json ipinip.json ports.json switch.json "
if [ "$HWSKU" != "montara" ] && [ "$HWSKU" != "mavericks" ] && [ "$HWSKU" != "OSW1800-48x6q" ] && [ "$HWSKU" != "INGRASYS-S9180-32X"]; then
SWSSCONFIG_ARGS+="ipinip.json "
fi
SWSSCONFIG_ARGS+="ports.json switch.json "
for file in $SWSSCONFIG_ARGS; do for file in $SWSSCONFIG_ARGS; do
swssconfig /etc/swss/config.d/$file swssconfig /etc/swss/config.d/$file

View File

@ -43,11 +43,11 @@ RUN pip install ipaddr \
pysnmp==4.2.5 \ pysnmp==4.2.5 \
jinja2==2.7.2 \ jinja2==2.7.2 \
cffi==1.10.0 \ cffi==1.10.0 \
paramiko==2.1.2 \ paramiko==2.1.2
adal
# Install Azure Storage package # Install Microsoft Azure Kusto Library for Python
RUN pip install azure-storage RUN pip install azure-kusto-data \
azure-kusto-ingest
## Copy and install sonic-mgmt docker dependencies ## Copy and install sonic-mgmt docker dependencies
COPY \ COPY \

View File

@ -52,7 +52,7 @@ start() {
# docker created with a different HWSKU, remove and recreate # docker created with a different HWSKU, remove and recreate
echo "Removing obsolete {{docker_container_name}} container with HWSKU $DOCKERMOUNT" echo "Removing obsolete {{docker_container_name}} container with HWSKU $DOCKERMOUNT"
docker rm {{docker_container_name}} docker rm -f {{docker_container_name}}
fi fi
{%- if docker_container_name == "database" %} {%- if docker_container_name == "database" %}

View File

@ -11,6 +11,7 @@
# #
try: try:
import ipaddr as ipaddress
import os import os
import subprocess import subprocess
import sys import sys
@ -88,6 +89,32 @@ class ControlPlaneAclManager(object):
if proc.returncode != 0: if proc.returncode != 0:
log_error("Error running command '{}'".format(cmd)) log_error("Error running command '{}'".format(cmd))
def parse_int_to_tcp_flags(self, hex_value):
tcp_flags_str = ""
if hex_value & 0x01:
tcp_flags_str += "FIN,"
if hex_value & 0x02:
tcp_flags_str += "SYN,"
if hex_value & 0x04:
tcp_flags_str += "RST,"
if hex_value & 0x08:
tcp_flags_str += "PSH,"
if hex_value & 0x10:
tcp_flags_str += "ACK,"
if hex_value & 0x20:
tcp_flags_str += "URG,"
# iptables doesn't handle the flags below now. It has some special keys for it:
# --ecn-tcp-cwr This matches if the TCP ECN CWR (Congestion Window Received) bit is set.
# --ecn-tcp-ece This matches if the TCP ECN ECE (ECN Echo) bit is set.
# if hex_value & 0x40:
# tcp_flags_str += "ECE,"
# if hex_value & 0x80:
# tcp_flags_str += "CWR,"
# Delete the trailing comma
tcp_flags_str = tcp_flags_str[:-1]
return tcp_flags_str
def get_acl_rules_and_translate_to_iptables_commands(self): def get_acl_rules_and_translate_to_iptables_commands(self):
""" """
Retrieves current ACL tables and rules from Config DB, translates Retrieves current ACL tables and rules from Config DB, translates
@ -113,12 +140,22 @@ class ControlPlaneAclManager(object):
# Add iptables command to delete all non-default chains # Add iptables command to delete all non-default chains
iptables_cmds.append("iptables -X") iptables_cmds.append("iptables -X")
# Add same set of commands for ip6tables
iptables_cmds.append("ip6tables -P INPUT ACCEPT")
iptables_cmds.append("ip6tables -P FORWARD ACCEPT")
iptables_cmds.append("ip6tables -P OUTPUT ACCEPT")
iptables_cmds.append("ip6tables -F")
iptables_cmds.append("ip6tables -X")
# Get current ACL tables and rules from Config DB # Get current ACL tables and rules from Config DB
self._tables_db_info = self.config_db.get_table(self.ACL_TABLE) self._tables_db_info = self.config_db.get_table(self.ACL_TABLE)
self._rules_db_info = self.config_db.get_table(self.ACL_RULE) self._rules_db_info = self.config_db.get_table(self.ACL_RULE)
# Walk the ACL tables # Walk the ACL tables
for (table_name, table_data) in self._tables_db_info.iteritems(): for (table_name, table_data) in self._tables_db_info.iteritems():
table_ip_version = None
# Ignore non-control-plane ACL tables # Ignore non-control-plane ACL tables
if table_data["type"] != self.ACL_TABLE_TYPE_CTRLPLANE: if table_data["type"] != self.ACL_TABLE_TYPE_CTRLPLANE:
continue continue
@ -144,6 +181,23 @@ class ControlPlaneAclManager(object):
if rule_table_name == table_name: if rule_table_name == table_name:
acl_rules[rule_props["PRIORITY"]] = rule_props acl_rules[rule_props["PRIORITY"]] = rule_props
# If we haven't determined the IP version for this ACL table yet,
# try to do it now. We determine heuristically based on whether the
# src IP is an IPv4 or IPv6 address.
if not table_ip_version and "SRC_IP" in rule_props and rule_props["SRC_IP"]:
ip_addr = ipaddress.IPAddress(rule_props["SRC_IP"].split("/")[0])
if isinstance(ip_addr, ipaddress.IPv6Address):
table_ip_version = 6
elif isinstance(ip_addr, ipaddress.IPv4Address):
table_ip_version = 4
# If we were unable to determine whether this ACL table contains
# IPv4 or IPv6 rules, log a message and skip processing this table.
if not table_ip_version:
log_warning("Unable to determine if ACL table '{}' contains IPv4 or IPv6 rules. Skipping table..."
.format(table_name))
continue
# For each ACL rule in this table (in descending order of priority) # For each ACL rule in this table (in descending order of priority)
for priority in sorted(acl_rules.iterkeys(), reverse=True): for priority in sorted(acl_rules.iterkeys(), reverse=True):
rule_props = acl_rules[priority] rule_props = acl_rules[priority]
@ -155,39 +209,23 @@ class ControlPlaneAclManager(object):
# Apply the rule to the default protocol(s) for this ACL service # Apply the rule to the default protocol(s) for this ACL service
for ip_protocol in ip_protocols: for ip_protocol in ip_protocols:
for dst_port in dst_ports: for dst_port in dst_ports:
rule_cmd = "iptables -A INPUT -p {}".format(ip_protocol) rule_cmd = "ip6tables" if table_ip_version == 6 else "iptables"
rule_cmd += " -A INPUT -p {}".format(ip_protocol)
if "SRC_IP" in rule_props and rule_props["SRC_IP"]: if "SRC_IP" in rule_props and rule_props["SRC_IP"]:
rule_cmd += " -s {}".format(rule_props["SRC_IP"]) rule_cmd += " -s {}".format(rule_props["SRC_IP"])
rule_cmd += " --dport {}".format(dst_port) rule_cmd += " --dport {}".format(dst_port)
# If there are TCP flags present, append them # If there are TCP flags present and ip protocol is TCP, append them
if "TCP_FLAGS" in rule_props and rule_props["TCP_FLAGS"]: if ip_protocol == "tcp" and "TCP_FLAGS" in rule_props and rule_props["TCP_FLAGS"]:
tcp_flags = int(rule_props["TCP_FLAGS"], 16) tcp_flags, tcp_flags_mask = rule_props["TCP_FLAGS"].split("/")
if tcp_flags > 0: tcp_flags = int(tcp_flags, 16)
rule_cmd += " --tcp-flags " tcp_flags_mask = int(tcp_flags_mask, 16)
if tcp_flags & 0x01: if tcp_flags_mask > 0:
rule_cmd += "FIN," rule_cmd += " --tcp-flags {mask} {flags}".format(mask = self.parse_int_to_tcp_flags(tcp_flags_mask), flags = self.parse_int_to_tcp_flags(tcp_flags))
if tcp_flags & 0x02:
rule_cmd += "SYN,"
if tcp_flags & 0x04:
rule_cmd += "RST,"
if tcp_flags & 0x08:
rule_cmd += "PSH,"
if tcp_flags & 0x10:
rule_cmd += "ACK,"
if tcp_flags & 0x20:
rule_cmd += "URG,"
if tcp_flags & 0x40:
rule_cmd += "ECE,"
if tcp_flags & 0x80:
rule_cmd += "CWR,"
# Delete the trailing comma
rule_cmd = rule_cmd[:-1]
# Append the packet action as the jump target # Append the packet action as the jump target
rule_cmd += " -j {}".format(rule_props["PACKET_ACTION"]) rule_cmd += " -j {}".format(rule_props["PACKET_ACTION"])

View File

@ -126,19 +126,31 @@ if [ ! -e /host/machine.conf ]; then
if [ -n "$nos_dev" ]; then if [ -n "$nos_dev" ]; then
# Mount the previous NOS's partition # Mount the previous NOS's partition
mkdir -p /mnt/nos_migration NOS_DIR=/mnt/nos_migration
mount $nos_dev /mnt/nos_migration MG_GZFILE=$NOS_DIR/minigraph.xml.gz.base64.txt
MG_FILE=$NOS_DIR/minigraph.xml
ACL_GZFILE=$NOS_DIR/acl.json.gz.base64.txt
ACL_FILE=$NOS_DIR/acl.json
SNMP_FILE=$NOS_DIR/snmp.yml
mkdir -p $NOS_DIR
mount $nos_dev $NOS_DIR
mkdir -p /host/fast-reboot mkdir -p /host/fast-reboot
# Copy relevant files # decode & unzip minigraph.xml.gz.base64.txt
nos_migration_import /mnt/nos_migration/mgmt_interface.cfg /host/migration [ -f $MG_GZFILE ] && /usr/bin/base64 -d $MG_GZFILE | /bin/gunzip > $MG_FILE
nos_migration_import /mnt/nos_migration/minigraph.xml /host/migration [ -f $ACL_GZFILE ] && /usr/bin/base64 -d $ACL_GZFILE | /bin/gunzip > $ACL_FILE
nos_migration_import /mnt/nos_migration/arp.json /host/fast-reboot
nos_migration_import /mnt/nos_migration/fdb.json /host/fast-reboot
nos_migration_import /mnt/nos_migration/default_routes.json /host/fast-reboot
umount /mnt/nos_migration # Copy relevant files
rmdir /mnt/nos_migration nos_migration_import $NOS_DIR/mgmt_interface.cfg /host/migration
nos_migration_import $MG_FILE /host/migration
nos_migration_import $ACL_FILE /host/migration
nos_migration_import $SNMP_FILE /host/migration
nos_migration_import $NOS_DIR/arp.json /host/fast-reboot
nos_migration_import $NOS_DIR/fdb.json /host/fast-reboot
nos_migration_import $NOS_DIR/default_routes.json /host/fast-reboot
umount $NOS_DIR
rmdir $NOS_DIR
fi fi
update_mgmt_interface_macaddr /host/migration/mgmt_interface.cfg update_mgmt_interface_macaddr /host/migration/mgmt_interface.cfg
@ -196,6 +208,8 @@ if [ -f /host/image-$sonic_version/platform/firsttime ]; then
elif [ -n "$migration" ] && [ -f /host/migration/minigraph.xml ]; then elif [ -n "$migration" ] && [ -f /host/migration/minigraph.xml ]; then
mkdir -p /etc/sonic/old_config mkdir -p /etc/sonic/old_config
mv /host/migration/minigraph.xml /etc/sonic/old_config/ mv /host/migration/minigraph.xml /etc/sonic/old_config/
[ -f /host/migration/acl.json ] && mv /host/migration/acl.json /etc/sonic/old_config/
[ -f /host/migration/snmp.yml ] && mv /host/migration/snmp.yml /etc/sonic/old_config/
touch /tmp/pending_config_migration touch /tmp/pending_config_migration
[ -f /etc/sonic/updategraph.conf ] && sed -i -e "s/enabled=false/enabled=true/g" /etc/sonic/updategraph.conf [ -f /etc/sonic/updategraph.conf ] && sed -i -e "s/enabled=false/enabled=true/g" /etc/sonic/updategraph.conf
else else

View File

@ -106,6 +106,9 @@ if [ "$src" = "dhcp" ]; then
fi fi
if [ "`cat /tmp/dhcp_graph_url`" = "N/A" ]; then if [ "`cat /tmp/dhcp_graph_url`" = "N/A" ]; then
echo "'N/A' found in DHCP response. Skipping graph update and generating an empty configuration." echo "'N/A' found in DHCP response. Skipping graph update and generating an empty configuration."
if [ ! -f /etc/sonic/minigraph.xml ]; then
copy_default_minigraph
fi
echo '{"DEVICE_METADATA":' > /tmp/device_meta.json echo '{"DEVICE_METADATA":' > /tmp/device_meta.json
sonic-cfggen -H -m /etc/sonic/minigraph.xml --var-json DEVICE_METADATA >> /tmp/device_meta.json sonic-cfggen -H -m /etc/sonic/minigraph.xml --var-json DEVICE_METADATA >> /tmp/device_meta.json
echo '}' >> /tmp/device_meta.json echo '}' >> /tmp/device_meta.json

View File

@ -17,3 +17,4 @@ $(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd
$(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro $(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
$(DOCKER_SYNCD_BRCM)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd $(DOCKER_SYNCD_BRCM)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd
$(DOCKER_SYNCD_BRCM)_BASE_IMAGE_FILES += bcmsh:/usr/bin/bcmsh

View File

@ -1,9 +1,9 @@
BRCM_SAI = libsaibcm_3.1.3.4-11_amd64.deb BRCM_SAI = libsaibcm_3.1.3.4-14_amd64.deb
$(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/libsaibcm_3.1.3.4-11_amd64.deb?sv=2015-04-05&sr=b&sig=0pctCvAKfSqT8O%2FWSMxw532XAXFsxXdKljQqWfOX8xA%3D&se=2155-03-25T07%3A23%3A41Z&sp=r" $(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/libsaibcm_3.1.3.4-14_amd64.deb?sv=2015-04-05&sr=b&sig=RUib2nzuTwstNgT9OJ6DGv5OraWc6oyOmMtaRh6pDdw%3D&se=2032-02-25T17%3A38%3A41Z&sp=r"
BRCM_SAI_DEV = libsaibcm-dev_3.1.3.4-11_amd64.deb BRCM_SAI_DEV = libsaibcm-dev_3.1.3.4-14_amd64.deb
$(eval $(call add_derived_package,$(BRCM_SAI),$(BRCM_SAI_DEV))) $(eval $(call add_derived_package,$(BRCM_SAI),$(BRCM_SAI_DEV)))
$(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/libsaibcm-dev_3.1.3.4-11_amd64.deb?sv=2015-04-05&sr=b&sig=IO1g%2FdcObkureizN8ZMPqISP6opZXu%2FrHostog6aIrU%3D&se=2155-03-25T08%3A13%3A34Z&sp=r" $(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/libsaibcm-dev_3.1.3.4-14_amd64.deb?sv=2015-04-05&sr=b&sig=GRdByGTrNZbZoQmXhsVC%2BL7ZeDwzstl4Vq6vGssrmyo%3D&se=2032-02-25T17%3A39%3A09Z&sp=r"
SONIC_ONLINE_DEBS += $(BRCM_SAI) $(BRCM_SAI_DEV) SONIC_ONLINE_DEBS += $(BRCM_SAI) $(BRCM_SAI_DEV)
$(BRCM_SAI_DEV)_DEPENDS += $(BRCM_SAI) $(BRCM_SAI_DEV)_DEPENDS += $(BRCM_SAI)

@ -1 +1 @@
Subproject commit 190d0b71ac1902679e2d720368e100d78eb09f3e Subproject commit 7875e46964fcc329ff92a80c379c026da530221f

View File

@ -4,4 +4,4 @@ LIBSAITHRIFT_DEV_CENTEC = libsaithrift-dev_1.2.1_amd64.deb
$(LIBSAITHRIFT_DEV_CENTEC)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI $(LIBSAITHRIFT_DEV_CENTEC)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
$(LIBSAITHRIFT_DEV_CENTEC)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(THRIFT_COMPILER) $(CENTEC_SAI) $(LIBSAITHRIFT_DEV_CENTEC)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(THRIFT_COMPILER) $(CENTEC_SAI)
$(LIBSAITHRIFT_DEV_CENTEC)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI) $(LIBSAITHRIFT_DEV_CENTEC)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI)
#SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV_CENTEC) SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV_CENTEC)

View File

@ -3,6 +3,6 @@
SONIC_ONE_IMAGE = sonic-centec.bin SONIC_ONE_IMAGE = sonic-centec.bin
$(SONIC_ONE_IMAGE)_MACHINE = centec $(SONIC_ONE_IMAGE)_MACHINE = centec
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie $(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(CENTEC_E582_48X6Q_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_INSTALLS += $(CENTEC_SDK_KERNEL)
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES) $(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE) SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)

View File

@ -1,11 +0,0 @@
# Centec E582-48X6Q Platform modules
CENTEC_E582_48X6Q_PLATFORM_MODULE_VERSION = 1.0
export CENTEC_E582_48X6Q_PLATFORM_MODULE_VERSION
CENTEC_E582_48X6Q_PLATFORM_MODULE = platform-modules-e582-48x6q_$(CENTEC_E582_48X6Q_PLATFORM_MODULE_VERSION)_amd64.deb
$(CENTEC_E582_48X6Q_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-e582
$(CENTEC_E582_48X6Q_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(CENTEC_E582_48X6Q_PLATFORM_MODULE)_PLATFORM = x86_64-centec_e582_48x6q-r0
SONIC_DPKG_DEBS += $(CENTEC_E582_48X6Q_PLATFORM_MODULE)

View File

@ -1,4 +1,4 @@
include $(PLATFORM_PATH)/platform-modules-centec-e582-48x6q.mk include $(PLATFORM_PATH)/sdk.mk
include $(PLATFORM_PATH)/sai.mk include $(PLATFORM_PATH)/sai.mk
include $(PLATFORM_PATH)/docker-orchagent-centec.mk include $(PLATFORM_PATH)/docker-orchagent-centec.mk
include $(PLATFORM_PATH)/docker-syncd-centec.mk include $(PLATFORM_PATH)/docker-syncd-centec.mk
@ -8,10 +8,12 @@ include $(PLATFORM_PATH)/libsaithrift-dev.mk
include $(PLATFORM_PATH)/python-saithrift.mk include $(PLATFORM_PATH)/python-saithrift.mk
include $(PLATFORM_PATH)/docker-ptf-centec.mk include $(PLATFORM_PATH)/docker-ptf-centec.mk
SONIC_ALL += $(SONIC_ONE_IMAGE) SONIC_ALL += $(SONIC_ONE_IMAGE) \
$(DOCKER_PTF_CENTEC) \
$(DOCKER_SYNCD_CENTEC_RPC)
# Inject centec sai into sairedis # Inject centec sai into sairedis
$(LIBSAIREDIS)_DEPENDS += $(CENTEC_SAI) #$(LIBSAITHRIFT_DEV_CENTEC) $(LIBSAIREDIS)_DEPENDS += $(CENTEC_SAI) $(LIBSAITHRIFT_DEV_CENTEC)
# Runtime dependency on centec sai is set only for syncd # Runtime dependency on centec sai is set only for syncd
$(SYNCD)_RDEPENDS += $(CENTEC_SAI) $(SYNCD)_RDEPENDS += $(CENTEC_SAI)

Some files were not shown because too many files have changed in this diff Show More